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

AWS CodeCommit n'est plus disponible pour les nouveaux clients. Les clients existants de AWS CodeCommit peuvent continuer à utiliser le service normalement. En savoir plus »

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 IAM utilisateurs et les groupes 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 politique dans AccountA qui accorde l'accès au référentiel AccountA aux utilisateurs de AccountB. 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 AWS de gestion en tant qu'IAMutilisateur autorisé à créer des politiques dans AccountA.

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

  3. Dans le panneau de navigation, choisissez Politiques.

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

  5. Choisissez l'JSONonglet et collez le document de JSON politique suivant dans la zone de JSON texte. Remplacez us-east-2 avec le Région AWS pour le référentiel, 111122223333 avec l'identifiant du compte AccountA, et MySharedDemoRepo avec le nom de votre CodeCommit dépôt dans AccountA :

    { "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 Review policy (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 de cette politique. Choisissez Create Policy (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 IAM les utilisateurs et les groupes 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). Choisissez Suivant : 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 : Réviser.

  6. Dans Nom du rôle, entrez le nom du rôle (par exemple, MyCrossAccountRepositoryContributorRole). Vous pouvez également saisir une description facultative pour aider les autres à 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-le ARN (par exemple,arn:aws:iam::111122223333:role/MyCrossAccountRepositoryContributorRole). Vous devez le fournir ARN à l'administrateur AccountB.