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éer un rôle dans CompteA qui peut être assumé par des utilisateurs et groupes IAM dans CompteB ;
Attachez la stratégie au rôle.
Les sections suivantes fournissent les étapes et des exemples.
Rubriques
É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
Connectez-vous à la console AWS de gestion en tant qu'IAMutilisateur autorisé à créer des politiques dans AccountA.
Ouvrez la console IAM à l’adresse https://console.aws.amazon.com/iam/
. Dans le panneau de navigation, choisissez Politiques.
Sélectionnez Create policy (Créer une politique).
Choisissez l'JSONonglet et collez le document de JSON politique suivant dans la zone de JSON texte. Remplacez-le
us-east-2
Région AWS par le référentiel,111122223333
par l'identifiant du compte AccountA etMySharedDemoRepo
par le nom de votre CodeCommit référentiel 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.
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).
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 Create Policy (Créer une politique).
Étape 2 : créer un rôle pour accéder au référentiel dans AccountA
Une fois que vous avez configuré une stratégie, créez un rôle que les utilisateurs et les groupes IAM dans CompteB peuvent endosser, et attachez la stratégie à ce rôle.
Pour créer un rôle pour l'accès au référentiel
Dans la console IAM, choisissez Rôles.
Sélectionnez Créer un rôle.
Choisissez un autre compte Amazon Web Services.
Dans Account ID, entrez l'ID du compte Amazon Web Services pour AccountB (par exemple,
888888888888
). Sélectionnez Next: Permissions (Étape suivante : autorisations).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.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.Sélectionnez Créer un rôle.
Ouvrez le rôle que vous venez de créer et copiez-le ARN (par exemple,
arn:aws:iam::
). Vous devez le fournir ARN à l'administrateur AccountB.111122223333
:role/MyCrossAccountRepositoryContributorRole