Accès au référentiel entre comptes : actions pour l'utilisateur du référentiel dans AccountB - 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'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.

É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 clés SSH 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. Toutefois, vous pouvez continuer à utiliser les clés SSH et les informations d'identification Git lorsque vous accédez aux référentiels dans CompteB.

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-codecommitle site Web Python Package Index.

Pour configurer Git AWS CLI et Git pour l'accès entre comptes
  1. Installez-le AWS CLI sur l'ordinateur local. Consultez les instructions fournies pour votre système d'exploitation dans Installation de l' AWS CLI.

  2. 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 prend en charge la configuration du 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 la façon dont elle fonctionne avec CodeCommit. Si vous rencontrez des problèmes avec une version spécifique de Git CodeCommit, consultez les informations contenues dansRésolution des problèmes.

  3. 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.

  4. 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 utilisateur IAM.

    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
  5. 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 utilisateur IAM. Par exemple, exécutez la commande suivante pour créer un AWS CLI profil nommé MyCrossAccountAccessProfileque vous utiliserez pour accéder à un référentiel 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
  6. 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 sous Linux, macOS ou Unix, ou ~/.aws/config sur drive : \ Users \ USERNAME \ .aws \ config sous Windows.

  7. 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
  8. Dans le fichier, trouvez l'entrée correspondant au MyCrossAccountAccessProfileprofil que vous venez de créer. Il doit ressembler à l'exemple ci-dessous.

    [profile MyCrossAccountAccessProfile] region = us-east-2 output = json

    Ajoutez account, role_arn et source_profile à la configuration du profil. Indiquez l'identifiant du compte Amazon Web Services de AccountA, l'ARN du rôle dans AccountA que vous assumez 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 = json

    Enregistrez 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 rôle IAM 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 lien URL vers la page de code du référentiel partagé dans la CodeCommit console. Cette URL est similaire à la suivante :

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
  1. Depuis la ligne de commande ou le terminal, dans le répertoire où vous souhaitez cloner le référentiel, exécutez la commande git clone avec l'URL de clone HTTPS (GRC). 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.

  2. 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.

  3. 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 push

    Pour 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
  1. Connectez-vous à AccountB (888888888888) AWS Management Console en tant qu'utilisateur IAM ayant obtenu un accès multicompte au référentiel dans AccountA.

  2. 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.

  3. Dans la page Changer de rôle, procédez de la façon suivante :

    • Dans Account, entrez l'ID 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).

  4. Ouvrez la CodeCommit console à l'adresse 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 lien URL vers le référentiel ou modifiez le lien de la console, et modifiez /list en spécifiant le nom du référentiel partagé (par exemple, /MySharedDemoRepo).

  5. 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.