Authentification SAML
SAML (Security Assertion Markup Language) est une norme ouverte utilisée par les produits d’identité et d’authentification. À l’aide de SAML, vous pouvez configurer StoreFront pour rediriger les utilisateurs vers un fournisseur d’identité externe à des fins d’authentification.
Remarque
Configurez StoreFront avec l’authentification SAML pour l’accès interne. Pour l’accès externe, configurez Citrix Gateway avec l’authentification SAML, puis configurez StoreFront avec l’authentification pass-through Gateway.
StoreFront nécessite un fournisseur d’identité (IdP) conforme à SAML 2.0 tel que :
- Microsoft AD Federation Services à l’aide de liaisons SAML (et non des liaisons WS-Federation). Pour plus d’informations, consultez Déploiement AD FS et Opérations AD FS.
- Citrix Gateway (configuré en tant qu’IdP)
- ID Microsoft Entra. Pour plus d’informations, veuillez consulter l’article CTX237490.
L’assertion SAML doit contenir un attribut saml:Subject
contenant l’UPN de l’utilisateur.
Pour activer ou désactiver l’authentification SAML pour un magasin lors de la connexion via les applications Workspace, sélectionnez Authentification SAML dans la fenêtre Méthodes d’authentification. L’activation par défaut de l’authentification SAML pour un magasin l’active également pour tous les sites Web de ce magasin. Vous pouvez configurer SAML indépendamment pour un site Web spécifique dans l’onglet Méthodes d’authentification.
Points de terminaison SAML StoreFront
Pour configurer SAML, votre fournisseur d’identité peut avoir besoin des points de terminaison suivants :
- L’URL de l’ID de l’entité. Il s’agit du chemin d’accès au service d’authentification du magasin, généralement https://[storefront host]/Citrix/[StoreName]Auth
- L’URL ACS, généralement https://[storefront host]/Citrix/[StoreName]Auth/SamlForms/AssertionConsumerService
- Le service de métadonnées, généralement https://[storefront host]/Citrix/[StoreName]Auth/SamlForms/ServiceProvider/Metadata
En outre, il existe un point de terminaison de test, généralement https://[storefront host]/Citrix/[StoreName]Auth/SamlTest
Vous pouvez utiliser le script PowerShell suivant pour répertorier les points de terminaison d’un magasin spécifié.
# 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-->
Exemple de sortie :
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-->
Configuration à l’aide de l’échange de métadonnées
Pour simplifier la configuration, vous pouvez échanger des métadonnées (identifiants, certificats, points de terminaison et autres configurations) entre le fournisseur d’identité et le fournisseur de services, qui est StoreFront dans ce cas.
Si votre fournisseur d’identité prend en charge l’importation de métadonnées, vous pouvez le faire pointer vers le point de terminaison des métadonnées StoreFront. Remarque : cette opération doit être effectuée sur HTTPS.
Pour configurer StoreFront à l’aide des métadonnées d’un fournisseur d’identité, utilisez l’applet de commande Update-STFSamlIdPFromMetadata, par exemple :
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-->
Configurer le fournisseur d’identité
-
Cliquez sur le menu déroulant des paramètres sur la ligne Authentification SAML, puis cliquez sur Fournisseur d’identité.
-
Choisissez Post ou Redirect pour Liaison SAML.
-
Entrez l’adresse du fournisseur d’identité.
-
Importez le certificat utilisé pour signer les jetons SAML.
-
Sélectionnez OK pour enregistrer les modifications.
Configurer le fournisseur de services
-
Cliquez sur le menu déroulant des paramètres sur la ligne Authentification SAML, puis cliquez sur Fournisseur de services.
-
Vous pouvez également choisir le certificat de signature d’exportation utilisé pour signer les messages adressés au fournisseur d’identité.
-
Vous pouvez également choisir le certificat de chiffrement d’exportation utilisé pour déchiffrer les messages reçus du fournisseur d’identité.
-
L’identifiant du fournisseur de services est pré-rempli avec le service d’authentification du magasin.
-
Sélectionnez OK pour enregistrer les modifications.
SDK PowerShell
À l’aide du SDK PowerShell :
-
Pour importer un certificat de signature, appelez l’applet de commande Import-STFSamlSigningCertificate.
-
Pour importer un certificat de chiffrement, appelez l’applet de commande Import-STFSamlEncryptionCertificate.
Test
Pour tester l’intégration SAML :
- Accédez à la page de test SAML. Consultez Points de terminaison SAML StoreFront.
- Cela vous redirige vers le fournisseur d’identité. Entrez vos informations d’identification.
- Vous êtes redirigé vers la page de test qui affiche les revendications et assertions d’identité.
Configurer Delivery Controller pour qu’il approuve StoreFront
Lorsque vous utilisez l’authentification SAML, StoreFront n’a pas accès aux informations d’identification de l’utilisateur et ne peut donc pas s’authentifier auprès de Citrix Virtual Apps and Desktops. Vous devez donc configurer le Delivery Controller pour qu’il approuve les demandes provenant de StoreFront. Consultez les considérations et les meilleures pratiques relatives à la sécurité de Citrix Virtual Apps and Desktops.
Authentification unique aux VDA à l’aide du Service d’authentification fédérée
Lors de l’utilisation de l’authentification SAML, StoreFront n’a pas accès aux informations d’identification de l’utilisateur. L’authentification unique aux VDA n’est donc pas disponible par défaut. Vous pouvez utiliser le Service d’authentification fédérée pour fournir une authentification unique.
Dans cet article
- Points de terminaison SAML StoreFront
- Configuration à l’aide de l’échange de métadonnées
- Configurer le fournisseur d’identité
- Configurer le fournisseur de services
- Test
- Configurer Delivery Controller pour qu’il approuve StoreFront
- Authentification unique aux VDA à l’aide du Service d’authentification fédérée