Passer au contenu

Comment résoudre les problèmes d'authentification SAML 2.0 dans WorkSpaces ?

Lecture de 4 minute(s)
0

Un message d'erreur s'affiche lorsque j'essaie d'utiliser l'authentification SAML 2.0 pour me connecter à mon compte Amazon WorkSpaces.

Résolution

Si vous essayez d'utiliser l'authentification SAML 2.0 pour vous connecter à WorkSpaces, l'un des messages d'erreur suivants peut s'afficher :

« Your request included an invalid SAML response »

« Something went wrong »

« Not authorized to perform sts:AssumeRole »

Prérequis : Assurez-vous que les politiques de contrôle des services (SCP) ne bloquent pas l'API WorkSpaces:Stream. Pour plus d'informations sur la résolution des problèmes liés à SCP, voir Accès refusé en raison d'une politique de contrôle des services – refus implicite.

Pour résoudre les problèmes d'authentification SAML 2.0, voir Résoudre des problèmes spécifiques.

Si vous rencontrez toujours des problèmes d'authentification, prenez les mesures suivantes.

Vérifier votre politique IAM

Vérifiez que vous avez attribué les autorisations requises au rôle AWS Identity and Access Management (IAM) que vous utilisez pour l'authentification SAML 2.0.

Procédez comme suit :

  1. Ouvrez la console IAM.

  2. Cliquez sur l'onglet rôle IAM.

  3. Sélectionnez le rôle IAM que vous utilisez pour l'authentification SAML 2.0.

  4. Dans l'onglet Permissions (Autorisations), vérifiez que votre politique comporte l'action workspaces:Stream.
    Exemple :

    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": "workspaces:Stream",
                "Resource": "arn:aws:workspaces:REGION-CODE:ACCOUNT-ID:directory/DIRECTORY-ID",
                "Condition": {
                    "StringEquals": {
                        "workspaces:userId": "${saml:sub}"
                    }
                }
            }
        ]
    }  

    Remarque : remplacez REGION-CODE par votre région AWS, ACCOUNT-ID par votre identifiant de compte AWS et DIRECTORY-ID par votre répertoire.

  5. Cliquez sur l'onglet Trust relationships (Relations de confiance), puis vérifiez les configurations de votre politique de relations de confiance :
    Vérifiez que vous avez indiqué les informations de compte correctes pour Principal.
    Assurez-vous que la politique inclut les actions sts:AssumeRoleWithSAML et sts:TagSession.
    Assurez-vous que sous Condition, la valeur de SAML:sub_type est Persistent (Persistant).
    Exemple :

    {  
       "Version": "2012-10-17",  
       "Statement": [{  
           "Effect": "Allow",  
           "Principal": {  
               "Federated": "arn:aws:iam::ACCOUNT-ID:saml-provider/IDENTITY-PROVIDER"  
           },  
           "Action": [  
               "sts:AssumeRoleWithSAML",  
               "sts:TagSession"  
           ],  
           "Condition": {  
               "StringEquals": {  
                   "SAML:sub_type": "persistent"
               }  
           }  
       }]  
    }

    Remarque : Remplacez ACCOUNT-ID par votre identifiant de compte et IDENTITY-PROVIDER par votre fournisseur d'identité (IdP).

Vérifiez votre réponse SAML 2.0

Consultez la réponse SAML 2.0 dans votre navigateur.

Vérifier le NameID

L'élément NameID doit avoir la valeur Persistent (Persistant).

Exemple :

<saml2:NameID Format="urn:oasis:names:tc:SAML:2.0:nameid-format:persistent">workspaceUsername</saml2:NameID>

Remarque : Remplacez workspaceUsername par votre nom d'utilisateur WorkSpaces.

Assurez-vous également que workspaceUsername correspond à la valeur samaccountname dans votre Active Directory.

Vérifier l'attribut Rôle

Le format d'attribut Rôle doit commencer par l'Amazon Resource Name (ARN) du rôle IAM associé, suivi d'une virgule, et se terminer par l'ARN de l'IdP.

Exemple :

<saml2:Attribute Name="https://aws.amazon.com/SAML/Attributes/Role"
                      NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified"
                      >
         <saml2:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema"
                               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                               xsi:type="xs:string"
                               >arn:aws:iam::123456789123:role/SAML_Role,arn:aws:iam::123456789123:saml-provider/SAMLIDP</saml2:AttributeValue>
</saml2:Attribute>

Remarque : Remplacez arn:aws:iam::123456789123:role/SAML_Role par l'ARN du rôle IAM et arn:aws:iam::123456789123:saml-provider/SAMLIDP par l'ARN de l'IdP.

Vérifier l'attribut RoleSessionName

La valeur RoleSessionName doit être une adresse e-mail ou un nom d'utilisateur principal (UPN).

Exemple :

<saml2:Attribute Name="https://aws.amazon.com/SAML/Attributes/RoleSessionName"
                NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"
                >
      <saml2:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema"
                            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                            xsi:type="xs:string"
                            >workspaceUsername@example.local</saml2:AttributeValue>

Remarque : remplacez workspaceUsername@example.local par l'adresse e-mail de votre utilisateur.

Si RoleSessionName est une adresse e-mail, celle-ci doit correspondre à l'adresse e-mail Active Directory de l'utilisateur.

Pour vérifier l'adresse e-mail Active Directory, procédez comme suit :

  1. Connectez-vous au contrôleur de domaine ou au serveur membre qui gère votre Active Directory.
  2. Ouvrez Active Directory Users and Computers (Utilisateurs et ordinateurs Active Directory).
  3. Sélectionnez l'utilisateur.
  4. Ouvrez le menu contextuel Properties (Propriétés).
  5. Cliquez sur l'onglet General (Général) et recherchez la valeur pour E-mail.

La valeur RoleSessionName doit contenir uniquement des caractères valides et se situer dans les limites du nombre de caractères attendu. Vérifiez que le type d'attribut, la syntaxe, la mise en forme et l'orthographe sont exacts.

Vérifier l'attribut PrincipalTag:Email

La valeur PrincipalTag:Email doit correspondre à l'adresse e-mail de l'utilisateur dans Active Directory.

Exemple :

<saml2:Attribute Name="https://aws.amazon.com/SAML/Attributes/PrincipalTag:Email"
                NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified"
                >
<saml2:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema"
                      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                      xsi:type="xs:string"
                      >workspaceUsername@example.local</saml2:AttributeValue>
</saml2:Attribute>

Remarque : remplacez workspaceUsername@example.local par l'adresse e-mail de votre utilisateur.

Si l'un des attributs précédents possède des valeurs différentes ou incorrectes, mettez à jour la configuration de votre IdP SAML 2.0.

Informations connexes

Résoudre les problèmes liés à la fédération SAML avec IAM

AWS OFFICIELA mis à jour il y a 7 mois