Autenticación SAML
SAML (Security Assertion Markup Language) es un estándar abierto utilizado por productos de identidad y autenticación. Mediante SAML, puede configurar StoreFront para redirigir a los usuarios a un proveedor de identidades externo para la autenticación.
Nota
Configure StoreFront con autenticación SAML para acceso interno. Para acceso externo, configure Citrix Gateway con autenticación SAML y, a continuación, configure 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, consulte CTX220638.
-
Citrix Gateway (configurado como IdP).
-
Microsoft Entra ID. Para obtener más información, consulte (./saml/entra-saml.html).
La aserción SAML debe incluir un elemento
<saml:NameID> rellenado con el nombre principal de usuario (UPN) del usuario. StoreFront busca este UPN en Active Directory. StoreFront no admite usuarios en otros directorios. Al utilizar Entra ID, el usuario debe tener una identidad híbrida.
Para habilitar o inhabilitar la autenticación SAML para un almacén, en la ventana (/es-es/storefront/current-release/stores/authentication.html) seleccione Autenticación SAML. Al habilitar la autenticación SAML para un almacén, también se habilita de forma predeterminada para todos los sitios web de ese almacén. Puede inhabilitar o habilitar la autenticación SAML de forma independiente para cada sitio web en la ficha (/es-es/storefront/current-release/stores/websites/authentication-methods.html).
Puntos finales SAML de StoreFront™
Para configurar SAML, su proveedor de identidades puede requerir los siguientes puntos finales:
-
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 final de prueba, normalmente
https://[storefront host]/Citrix/[StoreName]Auth/SamlTest
Puede usar el siguiente script de PowerShell para listar 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"
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
Configurar mediante el intercambio de metadatos
Para simplificar la configuración, puede 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 su proveedor de identidades admite la importación de metadatos, puede apuntarlo al (#storefront-saml-endpoints). Nota: Esto debe hacerse a través de HTTPS.
Para configurar StoreFront usando los metadatos de un proveedor de identidades, use 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"
Configurar el proveedor de identidades
-
Haga clic en el menú desplegable de configuración en la fila Autenticación SAML y haga clic en Proveedor de identidades.


-
Elija Post o Redirect como Enlace SAML.
-
Introduzca la Dirección del proveedor de identidades.
-
Importe el certificado utilizado para firmar los tokens SAML.
-
Pulse Aceptar para guardar los cambios.
Configurar el proveedor de servicios
-
Haga clic en el menú desplegable de configuración en la fila Autenticación SAML y haga clic en Proveedor de servicios.

-
Opcionalmente, elija un Certificado de firma de exportación, utilizado para firmar mensajes al proveedor de identidades.
-
Opcionalmente, elija un Certificado de cifrado de exportación, utilizado para descifrar mensajes recibidos del proveedor de identidades.
-
El Identificador de proveedor de servicios se rellena previamente con el servicio de autenticación para el almacén.
-
Pulse Aceptar para guardar los cambios.
PowerShell
Uso de PowerShell:
-
Para importar un certificado de firma, llame al cmdlet Import-STFSamlSigningCertificate.
-
Para importar un certificado de cifrado, llame al cmdlet Import-STFSamlEncryptionCertificate.
Pruebas
Para probar la integración de SAML:
-
Vaya a la página de prueba de SAML; consulte Puntos finales de SAML de StoreFront.
-
Esto le redirige al proveedor de identidades. Introduzca sus credenciales.
-
Se le redirige de nuevo a la página de prueba que muestra las aserciones y las notificaciones 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, debe configurar el Delivery Controller para que confíe en las solicitudes de StoreFront; consulte Consideraciones de seguridad y prácticas recomendadas de Citrix Virtual Apps and Desktops.
Inicio de sesión único en VDA
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. Para los recursos unidos a Active Directory, utilice Federated Authentication Service para proporcionar el inicio de sesión único.
Problemas conocidos
Con StoreFront 2607, al usar la autenticación SAML directamente en StoreFront desde {Citrix Workspace app para iOS o Citrix Workspace app para Android, la autenticación puede fallar.
-
{Citrix Workspace app para iOS muestra el error "No puede tener el parámetro \_ri con ninguno de los siguientes: \_cx, \_id, \_cs, \_hf, \_rt o \_ps"
-
Citrix Workspace app para Android muestra el error "Para un explorador, debe proporcionar todo lo siguiente: \_cx, \_id y \_cs; \_ps y \_hf son opcionales. Para un cliente nativo, se debe proporcionar \_rt y \_ps es opcional".
Al usar StoreFront antes de la versión 2607, la autenticación puede fallar con el error HTTP 404.15 - Not Found. Esto ocurre cuando la cadena de consulta es demasiado larga y el filtrado de solicitudes de IIS la bloquea. De forma predeterminada, IIS establece un límite de cadena de consulta de 2048 y una longitud total de URL de 4096. Para solucionar esto, aumente la longitud máxima de la URL y de la cadena de consulta.
-
Abra el Administrador de Internet Information Services (IIS).
-
En el panel Conexiones, expanda el servidor y seleccione el directorio virtual de autenticación.
-
Desde el panel principal, abra Filtrado de solicitudes.

-
En el panel Acciones, haga clic en Modificar la configuración de la característica...
-
Aumente la Longitud máxima de la URL (bytes) y la Longitud máxima de la cadena de consulta (bytes).

-
Seleccione Aceptar para guardar los cambios.