StoreFront

Autenticación SAML

SAML (Security Assertion Markup Language) es un estándar abierto utilizado por los productos de identidad y autenticación. Con SAML, puedes configurar StoreFront para redirigir a los usuarios a un proveedor de identidades externo para la autenticación.

Nota

Configura StoreFront con autenticación SAML para el acceso interno. Para el acceso externo, configura Citrix Gateway con autenticación SAML y, a continuación, configura StoreFront con autenticación de paso de Gateway.

StoreFront requiere un proveedor de identidades (IdP) compatible con SAML 2.0, como:

  • Microsoft AD Federation Services mediante enlaces SAML (no enlaces WS-Federation). Para obtener más información, consulta CTX220638.
  • Citrix Gateway (configurado como un IdP).
  • Microsoft Entra ID. Para obtener más información, consulta CTX237490.

La aserción SAML debe contener un atributo saml:Subject que contenga el UPN del usuario. StoreFront busca este UPN en Active Directory.

Para habilitar o deshabilitar la autenticación SAML para un almacén al conectarse mediante la aplicación Citrix Workspace, en la ventana Métodos de autenticación selecciona SAML Authentication. Al habilitar la autenticación SAML para un almacén, esta también se habilita de forma predeterminada para todos los sitios web de ese almacén. Puedes configurar SAML de forma independiente para un sitio web en particular en la ficha Métodos de autenticación.

Puntos de conexión SAML de StoreFront™

Para configurar SAML, tu proveedor de identidades puede requerir los siguientes puntos de conexión:

  • La URL del ID de entidad. Esta es la ruta al servicio de autenticación del almacén, normalmente https://[host de storefront]/Citrix/[Nombre del almacén]Auth
  • La URL del Servicio de consumidor de aserciones, normalmente https://[host de storefront]/Citrix/[Nombre del almacén]Auth/SamlForms/AssertionConsumerService
  • El servicio de metadatos, normalmente https://[host de storefront]/Citrix/[Nombre del almacén]Auth/SamlForms/ServiceProvider/Metadata

Además, hay un punto de conexión de prueba, normalmente https://[host de storefront]/Citrix/[Nombre del almacén]Auth/SamlTest

Puedes usar el siguiente script de PowerShell para listar los puntos de conexión de un almacén específico.

# Change this value for your Store
$storeVirtualPath = "/Citrix/Store"

$auth = Get-STFAuthenticationService -Store (Get-STFStoreService -VirtualPath $storeVirtualPath)
$spId = $auth.AuthenticationSettings["samlForms"].SamlSettings.ServiceProvider.Uri.AbsoluteUri
$acs = New-Object System.Uri $auth.Routing.HostbaseUrl, ($auth.VirtualPath + "/SamlForms/AssertionConsumerService")
$md = New-Object System.Uri $auth.Routing.HostbaseUrl, ($auth.VirtualPath + "/SamlForms/ServiceProvider/Metadata")
$samlTest = New-Object System.Uri $auth.Routing.HostbaseUrl, ($auth.VirtualPath + "/SamlTest")
Write-Host "SAML Service Provider information:
Entity ID: $spId
Assertion Consumer Service: $acs
Metadata: $md
Test Page: $samlTest"
<!--NeedCopy-->

Ejemplo de la salida:

SAML Service Provider information:
Entity ID: https://storefront.example.com/Citrix/StoreAuth
Assertion Consumer Service: https://storefront.example.com/Citrix/StoreAuth/SamlForms/AssertionConsumerService
Metadata: https://storefront.example.com/Citrix/StoreAuth/SamlForms/ServiceProvider/Metadata
Test Page: https://storefront.example.com/Citrix/StoreAuth/SamlTest
<!--NeedCopy-->

Configurar mediante el intercambio de metadatos

Para simplificar la configuración, puedes intercambiar metadatos (identificadores, certificados, puntos de conexión y otra configuración) entre el proveedor de identidades y el proveedor de servicios, que en este caso es StoreFront.

Si tu proveedor de identidades admite la importación de metadatos, puedes apuntarlo al punto de conexión de metadatos de StoreFront. Nota: Esto debe hacerse a través de HTTPS.

Para configurar StoreFront usando los metadatos de un proveedor de identidades, usa el cmdlet Update-STFSamlIdPFromMetadata, por ejemplo:

Get-Module "Citrix.StoreFront*" -ListAvailable | Import-Module

# Remember to change this with the virtual path of your Store.
$StoreVirtualPath = "/Citrix/Store"

$store = Get-STFStoreService -VirtualPath $StoreVirtualPath
$auth = Get-STFAuthenticationService -StoreService $store

# To read the metadata directly from the Identity Provider, use the following:
# Note again this is only allowed for https endpoints
Update-STFSamlIdPFromMetadata -AuthenticationService $auth -Url https://example.com/FederationMetadata/2007-06/FederationMetadata.xml

# If the metadata has already been download, use the following:
# Note: Ensure that the file is encoded as UTF-8
Update-STFSamlIdPFromMetadata -AuthenticationService $auth -FilePath "C:\Users\exampleusername\Downloads\FederationMetadata.xml"
<!--NeedCopy-->

Configurar el proveedor de identidades

  1. Haz clic en el menú desplegable de configuración en la fila SAML Authentication y haz clic en Identity Provider.

    Captura de pantalla del menú de configuración de SAML

    Captura de pantalla de la ventana del proveedor de identidades

  2. Elige SAML Binding de Post o Redirect.

  3. Introduce la Address del proveedor de identidades.

  4. Importa el certificado utilizado para firmar los tokens SAML.

  5. Pulsa OK para guardar los cambios.

Configurar el proveedor de servicios

  1. Haz clic en el menú desplegable de configuración en la fila SAML Authentication y haz clic en Service Provider.

    Captura de pantalla de la ventana del proveedor de identidades

  2. Opcionalmente, elige un Export Signing Certificate, utilizado para firmar mensajes al proveedor de identidades.

  3. Opcionalmente, elige un Export Encryption Certificate, utilizado para descifrar mensajes recibidos del proveedor de identidades.

  4. El Service Provider Identifier se rellena previamente con el servicio de autenticación para el almacén.

  5. Pulsa OK para guardar los cambios.

SDK de PowerShell

Usando el SDK de PowerShell:

Pruebas

Para probar la integración de SAML:

  1. Ve a la página de prueba de SAML, consulta Puntos de conexión SAML de StoreFront.
  2. Esto te redirige al proveedor de identidades. Introduce tus credenciales.
  3. Se te redirige de nuevo a la página de prueba que muestra las aserciones y reclamaciones de identidad.

Configurar Delivery Controller™ para que confíe en StoreFront

Cuando se utiliza la autenticación SAML, StoreFront no tiene acceso a las credenciales del usuario, por lo que no puede autenticarse en Citrix Virtual Apps and Desktops. Por lo tanto, debes configurar Delivery Controller para que confíe en las solicitudes de StoreFront; consulta Consideraciones de seguridad y mejores prácticas de Citrix Virtual Apps and Desktops.

Inicio de sesión único en VDA mediante Federated Authentication Service

Cuando se utiliza la autenticación SAML, StoreFront no tiene acceso a las credenciales del usuario, por lo que el inicio de sesión único en los VDA no está disponible de forma predeterminada. Puedes usar Federated Authentication Service para proporcionar inicio de sesión único.

Autenticación SAML