Authentification SAML
SAML (Security Assertion Markup Language) est une norme ouverte utilisée par les produits d’identité et d’authentification. En utilisant SAML, vous pouvez configurer StoreFront pour rediriger les utilisateurs vers un fournisseur d’identité externe pour l’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 de Gateway.
StoreFront nécessite un fournisseur d’identité (IdP) compatible SAML 2.0, tel que :
- Microsoft AD Federation Services utilisant les liaisons SAML (pas les liaisons WS-Federation). Pour plus d’informations, consultez CTX220638.
- Citrix Gateway (configuré en tant qu’IdP).
- Microsoft Entra ID. Pour plus d’informations, consultez CTX237490.
L’assertion SAML doit inclure un élément <saml:NameID> renseigné avec le nom d’utilisateur principal (UPN) de l’utilisateur. StoreFront recherche cet UPN dans Active Directory. StoreFront ne prend pas en charge les utilisateurs dans d’autres annuaires. Lors de l’utilisation d’Entra ID, l’utilisateur doit avoir une identité hybride.
Pour activer ou désactiver l’authentification SAML pour un magasin, dans la fenêtre Méthodes d’authentification, sélectionnez Authentification SAML. L’activation de l’authentification SAML pour un magasin l’active par défaut également pour tous les sites web de ce magasin. Vous pouvez désactiver ou activer indépendamment l’authentification SAML pour chaque site web sous l’onglet Méthodes d’authentification.
Points de terminaison SAML de StoreFront™
Pour configurer SAML, votre fournisseur d’identité peut nécessiter les points de terminaison suivants :
- L’URL de l’ID d’entité. Il s’agit du chemin d’accès au service d’authentification du magasin, normalement
https://[storefront host]/Citrix/[StoreName]Auth - L’URL du service consommateur d’assertions, normalement
https://[storefront host]/Citrix/[StoreName]Auth/SamlForms/AssertionConsumerService - Le service de métadonnées, normalement
https://[storefront host]/Citrix/[StoreName]Auth/SamlForms/ServiceProvider/Metadata
De plus, il existe un point de terminaison de test, normalement https://[storefront host]/Citrix/[StoreName]Auth/SamlTest
Vous pouvez utiliser le script PowerShell suivant pour lister 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 la 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-->
Configurer à 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 diriger vers le point de terminaison de métadonnées StoreFront. Remarque : Cela doit être fait via 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 dans la ligne Authentification SAML, puis cliquez sur Fournisseur d’identité.


-
Choisissez la liaison SAML Post ou Redirect.
-
Saisissez l’adresse du fournisseur d’identité.
-
Importez le certificat utilisé pour signer les jetons SAML.
-
Appuyez sur OK pour enregistrer les modifications.
Configurer le fournisseur de services
-
Cliquez sur le menu déroulant des paramètres dans la ligne Authentification SAML et cliquez sur Fournisseur de services.

-
Facultativement, choisissez un Certificat de signature d’exportation, utilisé pour signer les messages envoyés au fournisseur d’identité.
-
Facultativement, choisissez un 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 pour le magasin.
-
Appuyez sur OK pour enregistrer les modifications.
PowerShell
Utilisation de 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, voir Points de terminaison SAML StoreFront.
- Ceci vous redirige vers le fournisseur d’identité. Saisissez vos informations d’identification.
- Vous êtes redirigé vers la page de test qui affiche les revendications d’identité et les assertions.
Configurer Delivery Controller™ pour qu’il fasse confiance à StoreFront
Lorsque l’authentification SAML est utilisée, 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 par conséquent configurer le Delivery Controller pour qu’il fasse confiance aux requêtes de StoreFront, voir Considérations de sécurité et meilleures pratiques de Citrix Virtual Apps and Desktops.
Authentification unique aux VDA
Lorsque l’authentification SAML est utilisée, StoreFront n’a pas accès aux informations d’identification de l’utilisateur, de sorte que l’authentification unique aux VDA n’est pas disponible par défaut. Pour les ressources jointes à Active Directory, utilisez le Federated Authentication Service pour fournir l’authentification unique.
Problèmes connus
L’authentification peut échouer avec l’erreur HTTP 404.15 - Introuvable. Cela se produit lorsque la chaîne de requête est trop longue et est bloquée par le filtrage des requêtes d’IIS. Par défaut, IIS définit une limite de chaîne de requête de 2048 et une longueur totale d’URL de 4096. Pour contourner ce problème, augmentez les longueurs maximales de l’URL et de la chaîne de requête.
-
Ouvrez le Gestionnaire des services Internet (IIS).
-
Dans le volet Connexions, développez le serveur et sélectionnez le répertoire virtuel d’authentification.
-
Dans le volet principal, ouvrez Filtrage des requêtes.

-
Dans le volet Actions, cliquez sur Modifier les paramètres de la fonctionnalité…
-
Augmentez la Longueur maximale de l’URL (octets) et la Chaîne de requête maximale (octets).

-
Sélectionnez OK pour enregistrer vos modifications.