Spécification des mappages d'attributs du fournisseur d'identité pour votre groupe d'utilisateurs - Amazon Cognito

Spécification des mappages d'attributs du fournisseur d'identité pour votre groupe d'utilisateurs

Vous pouvez utiliser AWS Management Console, l'interface AWS CLI ou l'API pour spécifier des mappages d'attributs pour le fournisseur d'identité de votre groupe d'utilisateurs.

Choses à savoir sur les mappages

Avant d'utiliser des mappages, passez en revue les détails importants suivants :

  • Un mappage doit être présent pour chaque attribut de groupe d'utilisateurs que votre groupe d'utilisateurs requiert quand un utilisateur se connecte à votre application. Par exemple, si votre groupe d'utilisateurs nécessite un attribut email pour la connexion, mappez cet attribut à son équivalent à partir du fournisseur d'identité.

  • Par défaut, les adresses e-mail mappées ne sont pas vérifiées. Vous ne pouvez pas vérifier une adresse e-mail mappée à l'aide d'un code à usage unique. Au lieu de cela, mappez un attribut de votre fournisseur d'identité pour obtenir l'état de vérification. Par exemple, Google et la plupart des fournisseurs OIDC incluent l'attribut email_verified.

  • Pour chaque attribut de groupe d'utilisateurs mappé, la longueur de valeur maximale (2 048 caractères) doit être suffisamment grande pour la valeur qu'Amazon Cognito obtient du fournisseur d'identité. Sinon, Amazon Cognito signale une erreur lorsque les utilisateurs se connectent à votre application. Si vous mappez un attribut personnalisé à un jeton de fournisseur d'identité, définissez la longueur sur 2 048 caractères.

  • L'attribut des groupes d'utilisateurs username doit être mappé uniquement à des attributs spécifiques pour les fournisseurs d'identité suivants :

    Fournisseur d'identité Attribut à mapper à username
    Facebook id
    Google sub
    Login with Amazon user_id
    Se connecter avec Apple sub
    Fournisseurs SAML NameID
    Fournisseurs OpenID Connect (OIDC) sub
  • Amazon Cognito doit être en mesure de mettre à jour vos attributs mappés de groupe d'utilisateurs lorsque les utilisateurs se connectent à votre application. Quand un utilisateur se connecte via un fournisseur d'identité, Amazon Cognito met à jour les attributs mappés avec les informations les plus récentes du fournisseur d'identité. Amazon Cognito met à jour chaque attribut mappé, même si sa valeur actuelle correspond déjà aux dernières informations. Si Amazon Cognito ne peut pas mettre à jour l'attribut, elle signale une erreur. Pour vous assurer qu'Amazon Cognito peut mettre à jour les attributs, vérifiez les exigences suivantes :

    • Les attributs mappés du groupe d'utilisateurs doivent être réversibles. Les attributs réversibles peuvent être mis à jour par les clients d'application qui disposent des autorisations d'écriture pour ces attributs. Vous pouvez définir des attributs de groupe d'utilisateurs en tant que réversibles lorsque vous les définissez dans la console Amazon Cognito. Si vous créez votre groupe d'utilisateurs au moyen de l'opération d'API CreateUserPool, vous pouvez également définir le paramètre Mutable pour chacun de ces attributs sur true.

    • Dans les paramètres du client d'application pour votre application, les attributs mappés doivent être accessibles en écriture. Vous pouvez définir des attributs accessibles en écriture dans la page Clients d'application de la console Amazon Cognito. Si vous créez le client d'application au moyen de l'opération d'API CreateUserPoolClient, vous pouvez également ajouter ces attributs à la grappe WriteAttributes.

  • Dans le cas d'attributs de fournisseur d'identité contenant plusieurs valeurs, le format d'URL Amazon Cognito code les valeurs contenant des caractères non alphanumériques (à l'exclusion des caractères « . », « - », « * » et « _ »). Vous devez décoder ces valeurs avant de les utiliser dans votre application.

Spécification des mappages d'attributs du fournisseur d'identité pour votre groupe d'utilisateurs (AWS Management Console)

Vous pouvez utiliser AWS Management Console pour spécifier des mappages d'attributs pour le fournisseur d'identité de votre groupe d'utilisateurs.

Note

Amazon Cognito mappera les revendications entrantes aux attributs de groupe d'utilisateurs uniquement si ces revendications existent dans le jeton entrant. Si une demande précédemment mappée n'existe plus dans le jeton entrant, elle ne sera ni supprimée ni modifiée. Si votre application nécessite le mappage des demandes supprimées, vous pouvez utiliser le déclencheur Lambda de pré-authentification pour supprimer l'attribut personnalisé pendant l'authentification et permettre à ces attributs de se remplir à nouveau à partir du jeton entrant.

Original console

Pour spécifier un mappage d'attributs de fournisseur d'identité social

  1. Connectez-vous à la console Amazon Cognito. Si vous y êtes invité, saisissez vos informations d'identification AWS

  2. Dans le volet de navigation, choisissez Manage your User groupes (Gérer vos groupes d'utilisateurs), puis choisissez le groupe d'utilisateurs que vous souhaitez modifier.

  3. Choisissez l'onglet Attribute mapping (Mappage d'attribut).

  4. Choisissez l'onglet Facebook, Google, Amazon ou Apple.

  5. Pour chaque attribut que vous devez mapper, effectuez les étapes suivantes :

    1. Cochez la case Capturer.

    2. Pour User pool attribute (Attribut de groupe d'utilisateurs), dans la liste déroulante, choisissez l'attribut de groupe d'utilisateurs que vous souhaitez mapper à l'attribut de fournisseur d'identité social.

    3. Si vous avez besoin d'attributs supplémentaires, choisissez Add Facebook attribute (Ajouter un attribut Facebook) (ou Add Google attribute (Ajouter un attribut Google), Add Amazon attribute (Ajouter un attribut Amazon) ou Add Apple attribute (Ajouter un attribut Apple)), puis effectuez les étapes suivantes :

      1. Dans le champ Facebook attribute (Attribut Facebook), Google attribute (Attribut Google), Amazon attribute (Attribut Amazon) ou Apple attribute (Attribut Apple), saisissez le nom de l'attribut à mapper.

      2. Dans la liste déroulante User pool attribute (Attribut de groupe d'utilisateurs), choisissez l'attribut de groupe d'utilisateurs à mapper à l'attribut de fournisseur d'identité social.

    4. Choisissez Enregistrer les modifications.

Pour spécifier un mappage d'attribut de fournisseur SAML

  1. Connectez-vous à la console Amazon Cognito. Si vous y êtes invité, saisissez vos informations d'identification AWS.

  2. Dans le volet de navigation, choisissez Manage your User groupes (Gérer vos groupes d'utilisateurs), puis choisissez le groupe d'utilisateurs que vous souhaitez modifier.

  3. Choisissez l'onglet Attribute mapping (Mappage d'attribut).

  4. Choisissez l'onglet SAML.

  5. Cochez la case Capturer pour tous les attributs pour lesquels vous souhaitez capturer des valeurs. Si vous décochez la case Capture (Capturer) pour un attribut et enregistrez vos modifications, Amazon Cognito supprime le mappage de cet attribut.

  6. Choisissez le fournisseur d'identité dans la liste déroulante.

  7. Pour chaque attribut que vous devez mapper, suivez les étapes suivantes :

    1. Choisissez Add SAML attribute (Ajouter un attribut SAML).

    2. Dans le champ SAML attribute (Attribut SAML), saisissez le nom de l'attribut SAML à mapper.

    3. Dans le champ Attribut du groupe d'utilisateurs, choisissez l'attribut de groupe d'utilisateurs à mapper à l'attribut SAML dans la liste déroulante.

  8. Choisissez Enregistrer les modifications.

New console

Pour spécifier un mappage d'attributs de fournisseur d'identité social

  1. Connectez-vous à la console Amazon Cognito. Si vous y êtes invité, saisissez vos informations d'identification AWS.

  2. Dans le volet de navigation, choisissez Groupes d'utilisateurs, puis choisissez le groupe d'utilisateurs que vous souhaitez modifier.

  3. Choisissez l'onglet Sign-in experience (Expérience de connexion) et localisez Federated sign-in (Connexion fédérée).

  4. Choisissez Add an identity provider (Ajouter un fournisseur d'identité) ou choisissez le fournisseur d'identité Facebook, Google, Amazon ou Apple que vous avez configuré. Localisez Mappage d'attribut et choisissez Modifier.

    Pour plus d'informations sur l'ajout d'un fournisseur d'identité social, consultez Ajout de fournisseurs d'identité sociaux à un groupe d'utilisateurs..

  5. Pour chaque attribut que vous devez mapper, effectuez les étapes suivantes :

    1. Sélectionnez un attribut dans la colonne Attribut du groupe d'utilisateurs Il s'agit de l'attribut affecté au profil utilisateur dans votre groupe d'utilisateurs. Les attributs personnalisés sont répertoriés après les attributs standard.

    2. Sélectionnez un attribut dans la colonne attribut du <fournisseur>. Il s'agit de l'attribut transmis à partir du répertoire du fournisseur. Les attributs connus du fournisseur social sont fournis dans une liste déroulante.

    3. Pour mapper des attributs supplémentaires entre votre IdP et Amazon Cognito, choisissez Ajout d'un autre attribut.

  6. Choisissez Enregistrer les modifications.

Pour spécifier un mappage d'attribut de fournisseur SAML

  1. Connectez-vous à la console Amazon Cognito. Si vous y êtes invité, saisissez vos informations d'identification AWS.

  2. Dans le volet de navigation, choisissez Groupes d'utilisateurs, puis choisissez le groupe d'utilisateurs que vous souhaitez modifier.

  3. Choisissez l'onglet Sign-in experience (Expérience de connexion) et localisez Federated sign-in (Connexion fédérée).

  4. Choisissez Add an identity provider (Ajouter un fournisseur d'identité) ou choisissez le fournisseur d'identité SAML que vous avez configuré. Localisez Mappage d'attribut, et choisissez Modifier. Pour plus d'informations sur l'ajout d'un fournisseur d'identité SAML, consultez Ajout de fournisseurs d'identité SAML à un groupe d'utilisateurs..

  5. Pour chaque attribut que vous devez mapper, effectuez les étapes suivantes :

    1. Sélectionnez un attribut dans la colonne Attribut du groupe d'utilisateurs Il s'agit de l'attribut affecté au profil utilisateur dans votre groupe d'utilisateurs. Les attributs personnalisés sont répertoriés après les attributs standard.

    2. Sélectionnez un attribut dans la colonne Attribut SAML. Il s'agit de l'attribut transmis à partir du répertoire du fournisseur.

      Votre fournisseur d'identité peut proposer des exemples d'assertions SAML à titre de référence. Certains fournisseurs d'identité utilisent des noms simples, comme email, tandis que d'autres utilisent des noms d'attribut au format d'URL, similaires à :

      http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress
    3. Pour mapper des attributs supplémentaires entre votre IdP et Amazon Cognito, choisissez Ajout d'un autre attribut.

  6. Choisissez Enregistrer les modifications.

Spécification des mappages d'attributs du fournisseur d'identité pour votre groupe d'utilisateurs (AWS CLI et API AWS)

Utilisez les commandes suivantes pour spécifier les mappages d'attributs de fournisseur d'identité pour votre groupe d'utilisateurs.

Pour spécifier des mappages d'attributs au moment de la création du fournisseur

  • AWS CLI: aws cognito-idp create-identity-provider

    Exemple avec fichier de métadonnées : aws cognito-idp create-identity-provider --user-pool-id <user_pool_id> --provider-name=SAML_provider_1 --provider-type SAML --provider-details file:///details.json --attribute-mapping email=http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress

    details.json contient :

    { "MetadataFile": "<SAML metadata XML>" }
    Note

    Si <SAML metadata XML> contient des guillemets ("), ils doivent être placés dans une séquence d'échappement (\").

    Exemple avec URL de métadonnées : aws cognito-idp create-identity-provider --user-pool-id <user_pool_id> --provider-name=SAML_provider_1 --provider-type SAML --provider-details MetadataURL=<metadata_url> --attribute-mapping email=http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress

  • API AWS : CreateIdentityProvider

Pour spécifier des mappages d'attributs pour un fournisseur d'identité existant

  • AWS CLI: aws cognito-idp update-identity-provider

    Exemple : aws cognito-idp update-identity-provider --user-pool-id <user_pool_id> --provider-name <provider_name> --attribute-mapping email=http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress

  • API AWS : UpdateIdentityProvider

Pour obtenir des informations sur le mappage d'attributs pour un fournisseur d'identité spécifique

  • AWS CLI: aws cognito-idp describe-identity-provider

    Exemple : aws cognito-idp describe-identity-provider --user-pool-id <user_pool_id> --provider-name <provider_name>

  • API AWS : DescribeIdentityProvider