Accès au référentiel entre comptes : actions pour l'administrateur dans AccountA - AWS CodeCommit

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Accès au référentiel entre comptes : actions pour l'administrateur dans AccountA

Pour autoriser des utilisateurs ou des groupes dans CompteB à accéder à un référentiel dans CompteA, un administrateur de CompteA doit :

  • créer une stratégie dans CompteA qui accorde l'accès au référentiel ;

  • Créez un rôle dans AccountA qui puisse être assumé par les utilisateurs et les groupes IAM dans AccountB.

  • Attachez la stratégie au rôle.

Les sections suivantes fournissent les étapes et des exemples.

Étape 1 : créer une politique d'accès au référentiel dans AccountA

Vous pouvez créer une stratégie dans CompteA qui accorde l'accès au référentiel dans CompteB. Selon le niveau d'accès que vous voulez autoriser, effectuez l'une des actions suivantes :

  • Configurez la stratégie pour autoriser les utilisateurs de CompteB à accéder à un référentiel spécifique, mais ne les autorisez pas à consulter la liste de tous les référentiels dans CompteA.

  • Configurez un accès supplémentaire pour autoriser les utilisateurs de CompteB à choisir le référentiel dans la liste de tous les référentiels dans CompteA.

Pour créer une stratégie pour l'accès au référentiel
  1. Connectez-vous à la console de AWS gestion en tant qu'utilisateur IAM autorisé à créer des politiques dans AccountA.

  2. Ouvrez la console IAM à l’adresse https://console.aws.amazon.com/iam/.

  3. Dans le panneau de navigation, choisissez Policies (Politiques).

  4. Sélectionnez Create policy (Créer une politique).

  5. Choisissez l'onglet JSON et collez le document de stratégie JSON suivant dans la zone de texte JSON. Remplacez us-east-2 par Région AWS le nom du dépôt, 111122223333 par l'identifiant du compte AccountA et par le nom de votre dépôt dans AccountA : MySharedDemoRepo CodeCommit

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codecommit:BatchGet*", "codecommit:Create*", "codecommit:DeleteBranch", "codecommit:Get*", "codecommit:List*", "codecommit:Describe*", "codecommit:Put*", "codecommit:Post*", "codecommit:Merge*", "codecommit:Test*", "codecommit:Update*", "codecommit:GitPull", "codecommit:GitPush" ], "Resource": [ "arn:aws:codecommit:us-east-2:111122223333:MySharedDemoRepo" ] } ] }

    Si vous souhaitez que les utilisateurs qui assument ce rôle puissent consulter la liste des référentiels sur la page d'accueil de la CodeCommit console, ajoutez une déclaration supplémentaire à la politique, comme suit :

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codecommit:BatchGet*", "codecommit:Create*", "codecommit:DeleteBranch", "codecommit:Get*", "codecommit:List*", "codecommit:Describe*", "codecommit:Put*", "codecommit:Post*", "codecommit:Merge*", "codecommit:Test*", "codecommit:Update*", "codecommit:GitPull", "codecommit:GitPush" ], "Resource": [ "arn:aws:codecommit:us-east-2:111122223333:MySharedDemoRepo" ] }, { "Effect": "Allow", "Action": "codecommit:ListRepositories", "Resource": "*" } ] }

    Cet accès permet aux utilisateurs qui endossent cette stratégie de trouver aisément le référentiel auquel ils ont accès. Ils peuvent choisir le nom du référentiel dans la liste et être dirigés vers la page d'accueil du référentiel partagé (Code). Les utilisateurs ne peuvent pas accéder aux autres référentiels qu'ils voient dans la liste, mais ils peuvent afficher les référentiels dans CompteA, dans la page Tableau de bord.

    Si vous ne souhaitez pas autoriser les utilisateurs qui assument ce rôle à consulter la liste de tous les référentiels dans AccountA, utilisez le premier exemple de politique, mais assurez-vous d'envoyer à ces utilisateurs un lien direct vers la page d'accueil du référentiel partagé dans CodeCommit la console.

  6. Choisissez Examiner une politique. Le validateur de politique signale des erreurs de syntaxe (par exemple, si vous oubliez de remplacer l'exemple d'ID de compte Amazon Web Services et le nom du référentiel par votre ID de compte Amazon Web Services et le nom du référentiel).

  7. Sur la page Réviser la politique, entrez le nom de la politique (par exemple, CrossAccountAccessForMySharedDemoRepo). Vous pouvez également fournir une description facultative pour cette stratégie. Choisissez Créer une politique.

Étape 2 : créer un rôle pour accéder au référentiel dans AccountA

Après avoir configuré une politique, créez un rôle que les utilisateurs et les groupes IAM peuvent assumer dans AccountB et associez la politique à ce rôle.

Pour créer un rôle pour l'accès au référentiel
  1. Dans la console IAM, choisissez Rôles.

  2. Sélectionnez Créer un rôle.

  3. Choisissez un autre compte Amazon Web Services.

  4. Dans Account ID, entrez l'ID du compte Amazon Web Services pour AccountB (par exemple, 888888888888). Sélectionnez Next: Permissions (Étape suivante : autorisations).

  5. Dans Joindre des politiques d'autorisation, sélectionnez la politique que vous avez créée lors de la procédure précédente (CrossAccountAccessForMySharedDemoRepo). Choisissez Suivant : vérification.

  6. Dans Nom du rôle, entrez le nom du rôle (par exemple, MyCrossAccountRepositoryContributorRole). Vous pouvez également saisir une description facultative qui aidera les autres utilisateurs à comprendre l'objectif du rôle.

  7. Sélectionnez Créer un rôle.

  8. Ouvrez le rôle que vous venez de créer et copiez l'ARN de rôle (par exemple, arn:aws:iam::111122223333:role/MyCrossAccountRepositoryContributorRole). Vous devez fournir cet ARN à l'administrateur de CompteB.