StoreFront

Autenticación SAML

SAML (Security Assertion Markup Language) es un estándar abierto utilizado por 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 acceso interno. Para acceso externo, configura Citrix Gateway con autenticación SAML y luego 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 usando 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 conectarte mediante la aplicación Citrix Workspace, en la ventana Métodos de autenticación selecciona Autenticación SAML. Habilitar la autenticación SAML para un almacén también la 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://[storefront host]/Citrix/[StoreName]Auth
  • La URL del Servicio de consumidor de aserciones, normalmente https://[storefront host]/Citrix/[StoreName]Auth/SamlForms/AssertionConsumerService
  • El servicio de metadatos, normalmente https://[storefront host]/Citrix/[StoreName]Auth/SamlForms/ServiceProvider/Metadata

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

Puedes usar el siguiente script de PowerShell para enumerar los puntos de conexión de un almacén especificado.

# 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 Autenticación SAML y haz clic en Proveedor de identidades.

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

    Captura de pantalla de la ventana Proveedor de identidades

  2. Elige la Vinculación SAML de Post o Redirect.

  3. Introduce la Dirección del proveedor de identidades.

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

  5. Pulsa Aceptar para guardar los cambios.

Configurar el proveedor de servicios

  1. Haz clic en el menú desplegable de configuración en la fila Autenticación SAML y haz clic en Proveedor de servicios.

    Captura de pantalla de la ventana Proveedor de servicios

  2. Opcionalmente, elige un Certificado de firma de exportación, utilizado para firmar mensajes al proveedor de identidades.

  3. Opcionalmente, elige un Certificado de cifrado de exportación, utilizado para descifrar mensajes recibidos del proveedor de identidades.

  4. El Identificador del proveedor de servicios se rellena previamente con el servicio de autenticación del almacén.

  5. Pulsa Aceptar para guardar los cambios.

PowerShell

Usando 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 reclamaciones de identidad y las aserciones.

Configurar Delivery Controller™ para que confíe en StoreFront

Cuando usas 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 usas 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.