StoreFront

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 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 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 contenir un attribut saml:Subject contenant l’UPN de l’utilisateur. StoreFront recherche cet UPN dans Active Directory. StoreFront ne prend pas en charge les utilisateurs dans d’autres répertoires. 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 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 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 la cmdlet 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é

  1. Cliquez sur le menu déroulant des paramètres dans la ligne Authentification SAML et cliquez sur Fournisseur d’identité.

    Capture d'écran du menu des paramètres SAML

    Capture d'écran de la fenêtre du fournisseur d'identité

  2. Choisissez la liaison SAML de type Post ou Redirect.

  3. Saisissez l’adresse du fournisseur d’identité.

  4. Importez le certificat utilisé pour signer les jetons SAML.

  5. Appuyez sur OK pour enregistrer les modifications.

Configurer le fournisseur de services

  1. Cliquez sur le menu déroulant des paramètres dans la ligne Authentification SAML et cliquez sur Fournisseur de services.

    Capture d'écran de la fenêtre du fournisseur d'identité

  2. Vous pouvez éventuellement choisir un Certificat de signature d’exportation, utilisé pour signer les messages envoyés au fournisseur d’identité.

  3. Vous pouvez éventuellement choisir un Certificat de chiffrement d’exportation, utilisé pour déchiffrer les messages reçus du fournisseur d’identité.

  4. L’Identifiant du fournisseur de services est pré-rempli avec le service d’authentification du magasin.

  5. Appuyez sur OK pour enregistrer les modifications.

SDK PowerShell

Utilisation du SDK PowerShell :

Test

Pour tester l’intégration SAML :

  1. Accédez à la page de test SAML, voir Points de terminaison SAML de StoreFront.
  2. Cela vous redirige vers le fournisseur d’identité. Saisissez vos informations d’identification.
  3. 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 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 par conséquent configurer le Delivery Controller pour qu’il fasse confiance aux requêtes de StoreFront, consultez Considérations de sécurité et meilleures pratiques pour Citrix Virtual Apps and Desktops.

Authentification unique aux VDA à l’aide du Federated Authentication Service

Lorsque vous utilisez l’authentification SAML, 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. Vous pouvez utiliser le Federated Authentication Service pour fournir l’authentification unique.