Autenticación SAML
SAML (Security Assertion Markup Language) es un estándar abierto utilizado por los productos de identidad y autenticación. Con SAML, puede configurar StoreFront para redirigir a los usuarios a un proveedor de identidades externo para la autenticación.
Nota
Configure StoreFront con la autenticación SAML para el acceso interno. Para el acceso externo, configure Citrix Gateway con autenticación SAML y después configure StoreFront con autenticación PassThrough de Gateway.
StoreFront requiere un proveedor de identidades (IdP) compatible con SAML 2.0, como:
- Microsoft AD Federation Services utilizan enlaces SAML (no enlaces de WS-Federation). Para obtener más información, consulte AD FS Deployment y AD FS Operations.
- Citrix Gateway (configurado como IDP).
- ID de Microsoft Entra. Para obtener más información, consulte CTX237490.
La aserción SAML debe contener un atributo saml:Subject
que contenga el UPN del usuario.
Para habilitar o inhabilitar la autenticación SAML en un almacén al conectarse a través de aplicaciones de Workspace, en la ventana Métodos de autenticación, seleccione Autenticación SAML. Al habilitar la autenticación SAML de un almacén de forma predeterminada, también se habilita para todos los sitios web de ese almacén. Puede configurar SAML de forma independiente para un sitio web concreto en la ficha Métodos de autenticación.
Dispositivos finales SAML de StoreFront
Para configurar SAML, su proveedor de identidades puede necesitar estos dispositivos de punto final:
- 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 de almacén]Auth
- La URL de Assertion Consumer Service, normalmente https://[host de StoreFront]/Citrix/[nombre de almacén]Auth/SamlForms/AssertionConsumerService
- El servicio de metadatos, normalmente https://[host de StoreFront]/Citrix/[nombre de almacén]Auth/SamlForms/ServiceProvider/Metadata
Además, hay un dispositivo de punto final de prueba, normalmente https://[host de StoreFront]/Citrix/[nombre de almacén]Auth/SamlTest
Puede usar este script de PowerShell para enumerar los dispositivos de punto final 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 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-->
Configuración mediante el intercambio de metadatos
Para simplificar la configuración, puede intercambiar metadatos (identificadores, certificados, dispositivos de punto final y otras configuraciones) 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 dirigirlo al dispositivo de punto final de metadatos de StoreFront. Nota: Esto debe llevarse a cabo a través de HTTPS.
Para configurar StoreFront con los metadatos de un proveedor de identidades, utilice 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
-
Haga clic en el menú desplegable de los parámetros de la fila Autenticación SAML y, a continuación, haga clic en Proveedor de identidades.
-
Elija Enlace SAML para POST o Redirección.
-
Introduzca la dirección del proveedor de identidades.
-
Importe el certificado utilizado para firmar los tokens SAML.
-
Presione Aceptar para guardar los cambios.
Configurar el proveedor de servicios
-
Haga clic en el menú desplegable de los parámetros de la fila Autenticación SAML y, a continuación, haga clic en Proveedor de servicios.
-
También puede elegir un certificado de firma de exportación que se utiliza para firmar mensajes en el proveedor de identidades.
-
También puede elegir un certificado de cifrado de exportación que se utiliza para descifrar mensajes recibidos del proveedor de identidades.
-
El identificador del proveedor de servicios viene prerrellenado con el servicio de autenticación del almacén.
-
Presione Aceptar para guardar los cambios.
SDK de PowerShell
Mediante el SDK 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 pruebas de SAML y consulte Dispositivos de punto final SAML de StoreFront.
- Esto le redirigirá al proveedor de identidades. Introduzca sus credenciales.
- Se le redirigirá de nuevo a la página de pruebas que muestra las aserciones y las reclamaciones de identidad.
Configurar Delivery Controller para que confíe en StoreFront
Al usar 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 Delivery Controller para que confíe en las solicitudes de StoreFront. Consulte Consideraciones y prácticas recomendadas de seguridad de Citrix Virtual Apps and Desktops.
Single Sign-On en los VDA mediante Servicio de autenticación federada
Al usar la autenticación SAML, StoreFront no tiene acceso a las credenciales del usuario, por lo que Single Sign-On en los VDA no está disponible de forma predeterminada. Puede usar el Servicio de autenticación federada para proporcionar Single Sign-On.
En este artículo
- Dispositivos finales SAML de StoreFront
- Configuración mediante el intercambio de metadatos
- Configurar el proveedor de identidades
- Configurar el proveedor de servicios
- Pruebas
- Configurar Delivery Controller para que confíe en StoreFront
- Single Sign-On en los VDA mediante Servicio de autenticación federada