Comment puis-je résoudre une erreur de « réponse SAML non valide » pour Okta et AWS IAM Federation ?

Lecture de 4 minute(s)
0

Lorsque je me connecte à AWS avec Okta, je reçois une erreur SAML non valide similaire à : « Votre demande comportait une réponse SAML non valide. Pour vous déconnecter, cliquez ici ». Comment puis-je résoudre ce problème ?

Brève description

Lorsque vous utilisez la fédération de comptes AWS dans Okta, vous pouvez recevoir une erreur SAML non valide lors de la connexion à AWS. Cela peut se produire si vous fournissez des informations manquantes ou incorrectes pour l'attribut de rôle dans une réponse SAML. La valeur attendue de cet attribut est une ou plusieurs paires séparées par des virgules d'un rôle AWS Identity and Access Management (IAM) et du fournisseur SAML, comme indiqué ici :

<Attribute Name="https://aws.amazon.com/SAML/Attributes/Role">
  <AttributeValue>arn:aws:iam::ACCOUNT_NUMBER:role/ROLE_NAME_1,arn:aws:iam::ACCOUNT_NUMBER:saml-provider/PROVIDER_NAME/AttributeValue>
  <AttributeValue>arn:aws:iam::ACCOUNT_NUMBER:role/ROLE_NAME_2,arn:aws:iam::ACCOUNT_NUMBER:saml-provider/PROVIDER_NAME</AttributeValue>
  <AttributeValue>arn:aws:iam::ACCOUNT_NUMBER:role/ROLE_NAME_3,arn:aws:iam::ACCOUNT_NUMBER:saml-provider/PROVIDER_NAME</AttributeValue>
</Attribute>

Pour vérifier la réponse SAML que vous avez reçue de votre navigateur, suivez les étapes de la section Comment afficher une réponse SAML dans votre navigateur pour résoudre un problème.

Solution

Si vous utilisez le paramètre Utiliser le mappage de groupe dans Okta, suivez les étapes sous Connexion à Okta avec plusieurs comptes AWS. Si ce n'est pas le cas, rendez-vous sur Connexion à Okta avec un seul compte AWS. 

Se connecter à Okta avec plusieurs comptes AWS

Si vous vous connectez à Okta avec plusieurs comptes AWS, Okta utilise le mappage des rôles basé sur les groupes. Cela signifie qu'Okta utilise le nom du groupe pour identifier l'ID de compte AWS et le nom du rôle IAM pour l'authentification unique.

Remarque : Assurez-vous de saisir correctement le filtre de groupe et le modèle de valeur de rôle dans Okta pour capturer correctement les informations :

1.    Connectez-vous à la console d'administration Okta.

2.    Choisissez Applications, puis Applications de nouveau.

3.    Choisissez Connexion, puisModifier.

4.    Le filtre de groupe est une expression Regex personnalisée qui capture des informations telles que l'ID de compte AWS et le nom de rôle IAM pour votre nom de groupe Okta. Pour plus d'informations, consultez le document de configuration d'Okta.

Le guide de configuration fournit cet exemple :

Group name: "aws#[account alias]#[role name]#[account #]" 
Group Filter: "^aws\#\S+\#(?{{role}}[\w\-]+)\#(?{{accountid}}\d+)$"

Vous pouvez étendre cet exemple si vous souhaitez personnaliser le nom du groupe. Consultez ces exemples de noms de groupes et de filtres de groupes :

Group Name: [account alias]|[role name]|[account #] 
Group Filter: ^\S+\|(?{{role}}[a-zA-Z0-9+=.@\-_]+)\|(?{{accountid}}\d+)$
Group Name: aws_[account #]_[role name] 
Group Filter: ^aws\_(?{{accountid}}\d+)\_(?{{role}}[a-zA-Z0-9+=.@\-_]+)$

Remarque :

  • Le nom du rôle IAM autorise les caractères alphanumériques et les caractères '+=,.@-_'. Envisagez d'utiliser des séparateurs qui ne font pas partie de votre nom de rôle (par exemple « # » ou « | ») si vous obtenez une erreur provoquée par le filtre de groupe.
  • Le nom de votre rôle IAM ne doit pas contenir ’,’ si vous souhaitez vous connecter via IAM Federation. Cela est dû au fait que le modèle de valeur de rôle illustré ci-dessous utilise une virgule pour séparer le fournisseur SAML du nom du rôle. Créez un nouveau rôle IAM sans virgule dans le nom à utiliser avec IAM Federation.

5.    Le modèle valeur de rôle doit contenir l'ARN du rôle IAM et du fournisseur SAML, séparés par une virgule. Dans cet exemple, remplacez le nom du fournisseur SAML par le nom du fournisseur de l'instance Okta. Vous trouverez ces informations dans la console AWS IAM, sous Identity providers.

arn:aws:iam::${accountid}:saml-provider/[SAML Provider Name],arn:aws:iam::${accountid}:role/${role}

Remarque : Le nom du fournisseur SAML doit être identique pour tous vos comptes AWS.

6.    Choisissez Enregistrer.

7.    Testez la connexion utilisateur d'Okta à AWS pour confirmer si l'erreur a été résolue.

Se connecter à Okta avec un seul compte AWS

Pour une configuration de compte unique, Okta définit automatiquement le modèle de valeur de rôle. Si vous voyez apparaître le message d’erreur « Votre demande incluait une réponse SAML non valide. Pour vous déconnecter, cliquez ici » pour l'intégration d'un compte unique, demandez un dossier d'assistance auprès d'Okta pour examiner le problème.


Informations connexes

Erreur : Votre demande comportait une réponse SAML non valide. Pour vous déconnecter, cliquez ici

Comment configurer SAML 2.0 pour AWS Account Federation

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 2 ans