Cet article montrera comment vous pouvez vous connecter et vous engager dans plusieurs référentiels CodeCommit dans différents comptes AWS à partir de la même machine facilement et confortablement à l'aide des profils AWS, de l'assistant d'identification et de HTTPS (GRC).
Prérequis
- Un ou plusieurs référentiels CodeCommit.
- awscli outil installé.
- git outil installé.
- Vous utilisez Linux ou OS X.
Configurer les informations d'identification AWS
Tout d'abord, nous devons configurer un profil pour awscli
utilitaire pour chaque compte AWS pour chaque organisation
vim ~/.aws/credentials
Voici l'exemple de structure pour créer des profils my_organization_account_1
et my_organization_account_2
pour vos comptes :
[my_organization_account_1]
region = us-east-2
aws_access_key_id = YOUR_AWS_ACCESS_KEY_FOR_ACCOUNT_1
aws_secret_access_key = YOUR_AWS_SECRET_ACCESS_KEY_FOR_ACCOUNT_1
[my_organization_account_2]
region = us-east-1
aws_access_key_id = YOUR_AWS_ACCESS_KEY_FOR_ACCOUNT_2
aws_secret_access_key = YOUR_AWS_SECRET_ACCESS_KEY_FOR_ACCOUNT_2
Voici une méthode alternative et plus sécurisée pour gérer l'accès à plusieurs comptes AWS :Comment utiliser aws-vault pour accéder en toute sécurité à plusieurs comptes AWS.
Se connecter au référentiel CodeCommit à l'aide de l'assistant d'identification
Dès que les profils ont été configurés, nous pouvons connecter et cloner les référentiels CodeCommit. Supposons que le référentiel repo_1
appartient à votre premier profil décrit par compte my_organization_account_1
.
Créez un répertoire vide pour ce dépôt :
cd folder/with/projects
mkdir repo_1
Maintenant, nous pouvons utiliser aws codecommit credential-helper
à avec --profile
argument pour laisser git
connectez-vous au référentiel CodeCommit dans votre premier compte. Et nous utilisons git config --local
pour spécifier la configuration uniquement pour repo_1
git repository dans le premier compte.
cd repo_1
git init
git config --local credential.helper \
'!aws codecommit credential-helper \
--profile my_organization_account_1 $@'
git config --local credential.UseHttpPath true
Et enfin, tout ce que nous avons à faire est d'ajouter un emplacement de référentiel CodeCommit distant (copiez votre URL depuis la console Web CodeCommit) et de cloner notre projet
git remote add origin \
https://git-codecommit.us-east-2.amazonaws.com/v1/repos/my_repository
git pull origin master
Se connecter au référentiel CodeCommit via HTTPS (GRC)
HTTPS (GRC) est le protocole à utiliser avec git-remote-codecommit (GRC). Cet utilitaire fournit une méthode simple pour pousser et extraire le code des référentiels CodeCommit en étendant Git.
Il s'agit de la méthode recommandée par AWS pour prendre en charge les connexions établies avec un accès fédéré, des fournisseurs d'identité et des informations d'identification temporaires.
Tout d'abord, vous devez installer git-remote-codecommit :
pip install git-remote-codecommit
Vous pouvez maintenant cloner le référentiel à l'aide de la commande suivante :
git clone codecommit::us-east-2://demo-repository
Si vous devez utiliser le même référentiel AWS CodeCommit dans différents comptes, vous pouvez ajouter des télécommandes Git supplémentaires attachées aux profils AWS :
git remote add \
my_organization_account_1 \
codecommit::us-east-2://my_organization_account_1@demo-repositorySummary
Résumé
Dans cet article, nous avons montré comment se connecter et s'engager dans plusieurs référentiels CodeCommit dans différents comptes AWS facilement et confortablement à l'aide des profils AWS, de l'assistant d'identification et de HTTPS (GRC).