Passer au contenu

Comment puis-je résoudre l'erreur « Refus de créer une nouvelle ressource dupliquée » lors du provisionnement SCIM d'IAM Identity Center ?

Lecture de 5 minute(s)
0

J'ai utilisé le provisionnement SCIM (System for Cross-Domain Identity Management) pour les utilisateurs et les groupes avec AWS IAM Identity Center. Le provisionnement SCIM ou automatique a échoué avec l'erreur « Refus de créer une nouvelle ressource dupliquée ».

Brève description

Cette erreur se produit car le nom d'utilisateur, l'adresse e-mail ou les attributs d'ID externe ne sont pas une valeur unique. Cette erreur peut également se produire lorsque le nom d'affichage ou l'ID externe n'est pas une valeur unique pour les groupes. Pour plus d'informations, consultez la section Considérations relatives à l'utilisation du provisionnement automatique.

Résolution

Pour résoudre cette erreur, utilisez l'ID de votre stockage d'identités pour rechercher l'attribut dupliqué. Puis, pour reprovisionner l'utilisateur ou le groupe, ou pour en supprimer et en créer de nouveaux, procédez ensuite comme suit.

Remarque : Si des erreurs surviennent lorsque vous exécutez des commandes de l’interface de la ligne de commande AWS (AWS CLI), consultez la section Résoudre les erreurs liées à AWS CLI. Vérifiez également que vous utilisez bien la version la plus récente de l’AWS CLI.

Dans les commandes de l'AWS CLI suivantes, remplacez ces valeurs :

  • YOUR-REGION par votre région AWS
  • YOUR-IDENTITY_STORE_ID par votre ID de stockage d’identités
  • YOUR-USER-NAME par votre nom d’utilisateur
  • YOUR-EMAIL-ADDRESS par votre adresse e-mail
  • YOUR-EXTERNAL-ID par votre ID externe
  • YOUR-TENANT_ID par votre ID de locataire
  • YOUR-GROUP-NAME par votre nom de groupe

Obtenir votre ID de stockage d’identités

Exécutez la commande list-instances :

aws sso-admin list-instances --region "YOUR-REGION"

Exemple de sortie :

{
    "Instances": [
        {
            "CreatedDate": "...",
            "IdentityStoreId": "IDENTITY-STORE-ID",
            "InstanceArn": "...",
            "OwnerAccountId": "...",
            "Status": "ACTIVE"
        }
    ]
}

Notez la valeur de l'ID de stockage d'identités à utiliser ultérieurement.

Obtenir votre ID de locataire

Procédez comme suit :

  1. Ouvrez la console IAM Identity Center.
  2. Dans le volet de navigation, sélectionnez Paramètres.
  3. Dans Source d’identité, choisissez la liste déroulante Actions.
  4. Sélectionnez Gérer l’approvisionnement.
  5. Dans Configuration, copiez l'URL du point de terminaison SCIM.

L'URL du point de terminaison SCIM est au format suivant : https://scim.YOUR-REGION.amazonaws.com/YOUR-TENANT-ID/scim/v2/.

Résoudre les problèmes liés à la mise en service des utilisateurs

Pour rechercher des utilisateurs existants par nom d'utilisateur, adresse e-mail ou ID externe, exécutez la commandeget-user-id.

Recherche par nom d'utilisateur

Exécutez la commande suivante :

aws identitystore get-user-id --identity-store-id "YOUR-IDENTITY_STORE_ID" --alternate-identifier '{"UniqueAttribute" : {"AttributePath": "userName","AttributeValue": "YOUR-USER-NAME"}}' --region "YOUR-REGION"

Recherche par adresse e-mail

Exécutez la commande suivante :

aws identitystore get-user-id --identity-store-id "YOUR-IDENTITY-STORE-ID" --alternate-identifier '{"UniqueAttribute": {"AttributePath":"emails.value", "AttributeValue": "YOUR-EMAIL-ADDRESS"} }' --region "YOUR-REGION"

Recherche par ID externe

Exécutez la commande suivante :

aws identitystore get-user-id --identity-store-id "YOUR-IDENTITY-STORE-ID" --alternate-identifier '{"ExternalId" : {"Issuer": "https://scim.aws.com/YOUR-TENANT-ID", "Id": "YOUR-EXTERNAL-ID"}}' --region "YOUR-REGION"

Exemple de sortie d'ID utilisateur et d'ID de stockage d'identités avec le même attribut unique :

{
    "UserId": "YOUR-USER-ID",
    "IdentityStoreId": "YOUR-IDENTITY-STORE-ID"
}

Si aucun ID utilisateur ou ID de stockage d'identités n'est trouvé, une erreur similaire à l’erreur suivante s’affiche :

« Une erreur s'est produite (ResourceNotFoundException) lors de l'appel de l'opération GetUserId : UTILISATEUR introuvable. »

Reprovisionner l'utilisateur

Après avoir identifié l'attribut dupliqué, reprovisionnez l'utilisateur avec un autre attribut ou supprimez l'utilisateur et créez-en un nouveau.

Important : Pour faciliter votre provisionnement, contactez votre fournisseur d'identité (IdP).

Pour utiliser la console de gestion AWS afin de supprimer un utilisateur, consultez la section Supprimer des utilisateurs dans IAM Identity Center.

Pour utiliser l'action d’API DeleteUser afin de supprimer un utilisateur, exécutez la commande delete-user :

aws identitystore delete-user --identity-store-id "YOUR-IDENTITY-STORE-ID" --user-id "YOUR-USER-ID" --region "YOUR-REGION"

Remarque : Après avoir supprimé un utilisateur, vous ne pouvez pas annuler l'action et vous devez recréer les attributions pour le nouvel utilisateur.

Résoudre les problèmes liés au provisionnement de groupes

Pour rechercher des groupes existants par nom d'affichage ou ID externe, exécutez la commande get-group-id.

Recherche par nom d'affichage

Exécutez la commande suivante :

aws identitystore get-group-id --identity-store-id "IDENTITY-STORE-ID>" --alternate-identifier '{"UniqueAttribute" : {"AttributePath": "displayName","AttributeValue": "YOUR-GROUP-NAME"}}' --region "YOUR-REGION"

Recherche par ID externe

Exécutez la commande suivante :

 aws identitystore get-group-id --identity-store-id "IDENTITY-STORE-ID" --alternate-identifier '{"ExternalId" : {"Issuer": "https://scim.aws.com/YOUR-TENANT-ID", "Id": "YOUR-EXTERNAL-ID"}}' --region "YOUR-REGION"

Exemple de sortie d'ID de groupe et d'ID de stockage d'identités avec le même attribut unique :

{
    "GroupId": "GROUP-ID",
    "IdentityStoreId": "IDENTITY-STORE-ID"
}

Si aucun nom d'affichage ou ID externe n'est trouvé, une erreur similaire à l’erreur suivante s’affiche :

« Une erreur s'est produite (ResourceNotFoundException) lors de l'appel de l'opération GetGroupId : GROUPE introuvable. »

Reprovisionner le groupe

Après avoir identifié l'attribut dupliqué, reprovisionnez le groupe avec un autre attribut ou supprimez le groupe et créez-en un nouveau.

Important : Pour faciliter le provisionnement, contactez votre IdP.

Pour utiliser la console de gestion AWS afin de supprimer un groupe, consultez la section Supprimer des groupes dans IAM Identity Center.

Pour utiliser l'action d'API DeleteGroup afin de supprimer un groupe, exécutez la commande delete-user :

aws identitystore delete-group --identity-store-id "YOUR-IDENTITY-STORE-ID" --group-id "YOUR-GROUP-ID" --region "YOUR-REGION"

Remarque : Une fois que vous avez supprimé un groupe, vous ne pouvez pas annuler l'action et vous devez recréer les attributions pour le nouveau groupe.

Informations connexes

Comment créer et gérer des utilisateurs dans AWS IAM Identity Center

Résolution des problèmes liés à IAM Identity Center

AWS OFFICIELA mis à jour il y a 2 ans