Configurez l'authentification unique (SSO) entre Active Directory Federation Services (AD FS) et CloudSSO à l'aide du protocole SAML 2.0.
Contexte
Une entreprise utilise Active Directory (AD) pour la gestion des utilisateurs sur site et dispose d'une structure multi-comptes dans Alibaba Cloud Resource Directory. Les utilisateurs AD doivent accéder via SSO aux ressources désignées dans des comptes membres spécifiques.
Cet exemple s'appuie sur AD FS déployé sur une instance ECS exécutant Windows Server 2012 R2. AD FS agit en tant que fournisseur d'identité (IdP) et CloudSSO en tant que fournisseur de services (SP).
Les configurations AD et AD FS présentées dans cette rubrique sont fournies à titre indicatif. Alibaba Cloud ne propose pas de services de conseil pour AD ou AD FS.
Prérequis
Avant de configurer le SSO, effectuez les tâches suivantes :
-
Déployez les services suivants sur une instance ECS Windows Server 2012 R2.
Active Directory Domain Services (AD DS) : gère les objets de domaine tels que les utilisateurs et les appareils.
-
Active Directory Federation Services (AD FS) : gère la configuration de la partie de confiance pour le SSO et l'authentification.
Important
-
Créez des utilisateurs et configurez les autorisations dans CloudSSO.
-
Créez un utilisateur dans CloudSSO avec un nom d'utilisateur correspondant au champ SSO d'AD FS.
Pour plus d'informations, consultez Créer un utilisateur.
RemarqueLe nom d'utilisateur CloudSSO doit correspondre au champ SSO d'AD FS. Pour plus d'informations, consultez Étape 3 : Configurer les attributs d'assertion SAML dans AD FS.
-
Créez une configuration d'accès pour définir les politiques d'autorisation.
Pour plus d'informations, consultez Créer un ensemble d'autorisations.
-
Attribuez les autorisations d'accès aux comptes du répertoire de ressources.
Pour plus d'informations, consultez Attribuer l'accès à un compte membre.
-
Étape 1 : Obtenir les métadonnées du SP depuis CloudSSO
Connectez-vous à la console CloudSSO.
Dans le volet de navigation de gauche, cliquez sur Settings.
Dans la section SSO Logon, téléchargez le document de métadonnées du fournisseur de services (SP).
Étape 2 : Ajouter Alibaba Cloud en tant que partie de confiance dans AD FS
Connectez-vous à l'instance ECS sur laquelle AD FS est déployé.
Ouvrez Server Manager.
Dans le volet de navigation de gauche, cliquez sur AD FS.
Dans la barre de menus en haut à droite, choisissez .
-
Dans la console de gestion AD FS, ajoutez Alibaba Cloud en tant que partie de confiance.
Dans le volet de navigation de gauche, faites un clic droit sur Relying Party Trusts, puis cliquez sur Add Relying Party Trust.
Dans l'assistant Add Relying Party Trust Wizard, sélectionnez Claims aware, puis cliquez sur Start.
Sélectionnez Import data about the relying party from a file, cliquez sur Browse pour importer le fichier de métadonnées SP obtenu lors de l'Étape 1 : Obtenir les métadonnées du SP depuis CloudSSO, puis cliquez sur Next.
-
Saisissez un nom d'affichage pour la partie de confiance, puis cliquez sur Next.
Cet exemple utilise CloudSSODemo.
-
Sélectionnez une politique de contrôle d'accès, puis cliquez sur Next.
Cet exemple utilise Permit everyone.
Vérifiez vos paramètres, puis cliquez sur Next.
Cliquez sur Close.
Étape 3 : Configurer les attributs d'assertion SAML dans AD FS
Dans cet exemple, le champ NameID de l'assertion SAML est défini sur le User Principal Name (UPN) de l'utilisateur AD, que CloudSSO utilise pour identifier l'utilisateur.
Faites un clic droit sur la partie de confiance CloudSSODemo, puis cliquez sur Edit Claim Issuance Policy.
-
Cliquez sur Add Rule.
RemarqueUne règle de transformation d'émission mappe un attribut utilisateur à un attribut d'assertion SAML. Ajoutez une règle pour émettre l'UPN de l'utilisateur AD FS en tant que
NameID. Dans l'assistant Add Transform Claim Rule Wizard, définissez Claim rule template sur Transform an Incoming Claim, puis cliquez sur Next.
-
Configurez les informations de revendication.
-
Saisissez un nom personnalisé pour la règle de revendication.
Cet exemple utilise
UPN2NameID. Dans la liste déroulante Incoming claim type, sélectionnez UPN.
Dans la liste déroulante Outgoing claim type, sélectionnez Name ID.
Dans la liste déroulante Outgoing name ID format, sélectionnez Email.
Sélectionnez Pass through all claim values.
Cliquez sur Finish.
-
Cliquez sur OK.
Étape 4 : Obtenir les métadonnées de l'IdP depuis AD FS
Sur le serveur AD FS, accédez à l'URL suivante pour télécharger le fichier de métadonnées de l'IdP : https://<ADFS-server>/federationmetadata/2007-06/federationmetadata.xml.
Remplacez <ADFS-server> par le nom de domaine ou l'adresse IP du serveur AD FS.
Étape 5 : Activer le SSO dans CloudSSO
Dans le volet de navigation de gauche de la console CloudSSO, cliquez sur Settings.
Dans la section SSO Login, cliquez sur Configure IdP Information.
Dans la boîte de dialogue Configure IdP Information, sélectionnez Upload Metadata File.
-
Cliquez sur Upload File pour télécharger le fichier de métadonnées de l'IdP obtenu lors de l'Étape 4 : Obtenir les métadonnées de l'IdP depuis AD FS.
RemarqueSi le fichier de métadonnées dépasse la limite de taille, essayez de supprimer tout le contenu situé entre
<fed:ClaimTypesRequested>et<fed:ClaimTypesOffered>. -
Activez le SSO.
RemarqueAprès avoir activé la connexion SSO, la connexion par nom d'utilisateur et mot de passe est désactivée. Cela signifie que les utilisateurs CloudSSO ne peuvent plus se connecter avec leurs identifiants de plateforme. Une fois activé, tous les utilisateurs doivent se connecter via votre fournisseur d'identité.
Vérifier la configuration
Vous pouvez initier le SSO depuis Alibaba Cloud ou depuis AD FS.
-
Initier le SSO depuis Alibaba Cloud
Sur la page Overview de la console CloudSSO, copiez l'URL du portail utilisateur.
Ouvrez l'URL dans une nouvelle fenêtre de navigateur.
La page SSO Login s'affiche, indiquant l'URL de connexion du compte d'entreprise. Cliquez sur Redirect pour accéder à la page de connexion AD FS.
-
Saisissez le nom d'utilisateur et le mot de passe d'un utilisateur AD.
Vous êtes automatiquement connecté au portail utilisateur CloudSSO.
-
Dans l'onglet Logon as RAM Role, cliquez sur Show Details dans la colonne Permissions pour le compte du répertoire de ressources cible.
Après la connexion de l'utilisatrice Alice au portail utilisateur CloudSSO, trois comptes cloud accessibles s'affichent : SharedServices, LogArchive et dev-test.
Dans le panneau des autorisations, cliquez sur Log On dans la colonne Actions pour l'autorisation cible.
Accédez à vos ressources autorisées dans le compte membre.
-
Initier le SSO depuis AD FS
-
Accédez au portail SSO AD FS.
L'URL du portail SSO est
https://<ADFS-server>/adfs/ls/IdpInitiatedSignOn.aspx.RemarqueRemplacez <ADFS-server> par le nom de domaine ou l'adresse IP du serveur AD FS.
Si la page du portail SSO n'est pas disponible, exécutez la commande PowerShell suivante pour l'activer :
Set-AdfsProperties -EnableIdpInitiatedSignonPage $True.
Sélectionnez le site CloudSSODemo créé lors de l'Étape 2 : Ajouter Alibaba Cloud en tant que partie de confiance dans AD FS, puis cliquez sur Sign in.
-
Saisissez le nom d'utilisateur et le mot de passe d'un utilisateur AD, puis cliquez sur Sign in.
Vous êtes automatiquement connecté au portail utilisateur CloudSSO.
-
Dans l'onglet Logon as RAM Role, cliquez sur Show Details dans la colonne Permissions pour le compte du répertoire de ressources cible.
Après la connexion de l'utilisatrice Alice au portail utilisateur CloudSSO, trois comptes cloud accessibles s'affichent : SharedServices, LogArchive et dev-test.
Dans le panneau des autorisations, cliquez sur Log On dans la colonne Actions pour l'autorisation cible.
Accédez à vos ressources autorisées dans le compte membre.
-