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'utilisateur du référentiel dans AccountB
Pour accéder au référentiel dans CompteA, les utilisateurs du groupe CompteB doivent configurer leurs ordinateurs locaux pour l'accès au référentiel. Les sections suivantes fournissent les étapes et des exemples.
Rubriques
Étape 1 : configurer AWS CLI et Git pour qu'un utilisateur AccountB accède au dépôt dans AccountA
Vous ne pouvez pas utiliser de SSH clés ou d'informations d'identification Git pour accéder aux référentiels d'un autre compte Amazon Web Services. Les utilisateurs de AccountB doivent configurer leurs ordinateurs pour utiliser l'assistant d'identification git-remote-codecommit (recommandé) ou l'assistant d'identification pour accéder au référentiel CodeCommit partagé dans AccountA. Cependant, vous pouvez continuer à utiliser des SSH clés ou des informations d'identification Git pour accéder aux référentiels dans AccountB.
Procédez comme suit pour configurer l'accès à l'aide de git-remote-codecommit. Si ce n'est pas déjà faitgit-remote-codecommit, téléchargez-le depuis git-remote-codecommit
Pour configurer Git AWS CLI et Git pour l'accès entre comptes
-
Installez-le AWS CLI sur l'ordinateur local. Consultez les instructions fournies pour votre système d'exploitation dans Installation de l' AWS CLI.
-
Installez Git sur l'ordinateur local. Pour installer Git, nous vous recommandons des sites web tels que Téléchargements Git
ou Git pour Windows . Note
CodeCommit prend en charge les versions 1.7.9 et ultérieures de Git. La version 2.28 de Git permet de configurer le nom de branche pour les validations initiales. Nous vous recommandons d'utiliser une version récente de Git. Git est une plateforme évolutive et régulièrement mise à jour. Parfois, une modification de fonctionnalité peut affecter son fonctionnement CodeCommit. Si vous rencontrez des problèmes avec une version spécifique de Git CodeCommit, consultez les informations contenues dansRésolution des problèmes.
-
Depuis le terminal ou la ligne de commande, à l'emplacement où vous souhaitez cloner le référentiel, exécutez les commandes git config --local user.name et git config --local user.email pour définir le nom d'utilisateur et l'adresse e-mail pour les validations que vous effectuerez pour le référentiel. Par exemple :
git config --local user.name "Saanvi Sarkar" git config --local user.email saanvi_sarkar@example.com
Ces commandes ne renvoient rien, mais le nom d'utilisateur et l'adresse e-mail que vous spécifiez sont associés aux validations que vous effectuez pour le référentiel dans CompteA.
-
Exécutez la commande aws configure --profile pour configurer un profil par défaut à utiliser lors de la connexion à des ressources dans CompteB. Lorsque vous y êtes invité, fournissez la clé d'accès et la clé secrète de votre IAM utilisateur.
Note
Si vous avez déjà installé AWS CLI et configuré un profil, vous pouvez ignorer cette étape.
Par exemple, exécutez la commande suivante pour créer un AWS CLI profil par défaut que vous utiliserez pour accéder aux AWS ressources de AccountB dans l'est des États-Unis (Ohio) (us-east-2) :
aws configure
Lorsque vous y êtes invité, fournissez les informations suivantes :
AWS Access Key ID [None]:
Your-IAM-User-Access-Key
AWS Secret Access Key ID [None]:Your-IAM-User-Secret-Access-Key
Default region name ID [None]:us-east-2
Default output format [None]: json -
Exécutez la commande aws configure --profile pour configurer un profil à utiliser lors de la connexion au référentiel dans CompteA. Lorsque vous y êtes invité, fournissez la clé d'accès et la clé secrète de votre IAM utilisateur. Par exemple, exécutez la commande suivante pour créer un AWS CLI profil nommé
MyCrossAccountAccessProfile
que vous utilisez pour accéder à un dépôt dans AccountA dans l'est des États-Unis (Ohio) (us-east-2) :aws configure --profile
MyCrossAccountAccessProfile
Lorsque vous y êtes invité, fournissez les informations suivantes :
AWS Access Key ID [None]:
Your-IAM-User-Access-Key
AWS Secret Access Key ID [None]:Your-IAM-User-Secret-Access-Key
Default region name ID [None]:us-east-2
Default output format [None]: json -
Dans un éditeur de texte brut, ouvrez le fichier
config
, également connu sous le nom de fichier de configuration de AWS CLI . Selon votre système d'exploitation, ce fichier peut se trouver~/.aws/config
sur Linux, macOS ou Unix, ou surdrive
: \ Utilisateurs \USERNAME
\ .aws \ config sous Windows. -
Dans le fichier, recherchez l'entrée qui correspond au profil par défaut que vous avez configuré pour l'accès aux référentiels dans CompteB. Il doit ressembler à l'exemple ci-dessous.
[default] region = us-east-2 output = json
Ajoutez
account
à la configuration du profil. Indiquez l'identifiant du AWS compte AccountB. Par exemple :[default] account =
888888888888
region = us-east-2 output = json -
Dans le fichier, recherchez l'entrée correspondant au
MyCrossAccountAccessProfile
profil que vous venez de créer. Il doit ressembler à l'exemple ci-dessous.[profile
MyCrossAccountAccessProfile
] region = us-east-2 output = jsonAjoutez
account
,role_arn
etsource_profile
à la configuration du profil. Indiquez l'identifiant du compte Amazon Web Services de AccountA, le ARN rôle que vous assumez dans AccountA pour accéder au référentiel de l'autre compte et le nom de votre profil AWS CLI par défaut dans AccountB. Par exemple :[profile
MyCrossAccountAccessProfile
] region = us-east-2 account =111122223333
role_arn = arn:aws:iam::111122223333
:role/MyCrossAccountRepositoryContributorRole
source_profile =default
output = jsonEnregistrez les modifications, puis fermez l'éditeur de texte brut.
Étape 2 : Cloner et accéder au CodeCommit dépôt dans AccountA
Exécutez git clonegit push, et git pull pour cloner, transférez vers et extrayez le CodeCommit référentiel multi-comptes. Vous pouvez également vous connecter à la console AWS de gestion, changer de rôle et utiliser la CodeCommit console pour interagir avec le référentiel de l'autre compte.
Note
Selon la façon dont le IAM rôle a été configuré, vous pourrez peut-être afficher les référentiels sur la page par défaut pour CodeCommit. Si vous ne pouvez pas consulter les référentiels, demandez à l'administrateur du référentiel de vous envoyer par e-mail un URL lien vers la page de code du référentiel partagé dans la CodeCommit console. Cela URL ressemble à ce qui suit :
https://console.aws.amazon.com/codecommit/home?region=
us-east-2
#/repository/MySharedDemoRepo
/browse/HEAD/--/
Pour cloner le référentiel entre comptes à votre ordinateur local
-
Sur la ligne de commande ou sur le terminal, dans le répertoire où vous souhaitez cloner le dépôt, exécutez la git clone commande avec le clone HTTPS (GRC)URL. Par exemple :
git clone codecommit://
MyCrossAccountAccessProfile
@MySharedDemoRepo
Sauf indication contraire de votre part, le référentiel est cloné dans un sous-répertoire avec le même nom que le référentiel.
-
Placez-vous dans le répertoire du référentiel cloné et modifiez un fichier ou ajoutez un fichier. Par exemple, vous pouvez ajouter un fichier nommé
NewFile.txt
. -
Ajoutez le fichier aux modifications suivies pour le dépôt local, validez la modification et transférez le fichier vers le CodeCommit référentiel. Par exemple :
git add
NewFile.txt
git commit -m "Added a file to test cross-account access to this repository" git pushPour plus d’informations, consultez Commencer à utiliser Git et AWS CodeCommit.
Maintenant que vous avez ajouté un fichier, accédez à la CodeCommit console pour consulter votre commit, consulter les modifications apportées par les autres utilisateurs au dépôt, participer aux pull requests, etc.
Pour accéder au référentiel multi-comptes dans la console CodeCommit
-
Connectez-vous au compte AWS Management Console in AccountB (
888888888888
) en tant qu'IAMutilisateur ayant obtenu un accès multicompte au référentiel dans AccountA. -
Choisissez votre nom d'utilisateur dans la barre de navigation, puis, dans la liste déroulante, choisissez Changer de rôle.
Note
Si c'est la première fois que vous avez sélectionné cette option, consultez les informations dans la page, puis choisissez Changer de rôle à nouveau.
-
Dans la page Changer de rôle, procédez de la façon suivante :
-
Dans Account, entrez l'identifiant du compte AccountA (par exemple,
111122223333
). -
Dans Rôle, entrez le nom du rôle que vous souhaitez assumer pour accéder au référentiel dans AccountA (par exemple,
MyCrossAccountRepositoryContributorRole
). -
Dans Nom complet, saisissez un nom convivial pour ce rôle. Ce nom apparaît dans la console lorsque vous endossez ce rôle. Il apparaîtra également dans la liste des rôles endossés la prochaine fois que vous souhaiterez changer de rôle dans la console.
-
(Facultatif) Dans Couleur, choisissez une couleur d'étiquette pour le nom complet.
-
Choisissez Changer de rôle.
Pour plus d'informations, consultez Changement de rôle (AWS Management Console).
-
Ouvrez la CodeCommit console sur https://console.aws.amazon.com/codesuite/codecommit/home
. Si le rôle endossé a l'autorisation d'afficher les noms des référentiels dans CompteA, vous voyez la liste des référentiels et un message d'erreur qui vous informe que vous ne disposez pas des autorisations nécessaires pour afficher leur statut. Ce comportement est normal. Choisissez le nom du référentiel partagé dans cette liste.
Si le rôle endossé n'a pas l'autorisation d'afficher les noms des référentiels dans CompteA, vous voyez un message d'erreur et une liste vide sans aucun référentiel. Collez le URL lien vers le référentiel ou modifiez le lien de la console et remplacez le nom du référentiel partagé (par exemple,
/
).MySharedDemoRepo
/list
-
Dans Code, recherchez le nom du fichier que vous avez ajouté à partir de votre ordinateur local. Choisissez-le pour parcourir le code dans le fichier, puis parcourez le reste du référentiel et commencez à utiliser ses fonctions.
Pour plus d’informations, consultez Commencer avec AWS CodeCommit.