Je souhaite effectuer des opérations Git sur un référentiel AWS CodeCommit. Et je souhaite utiliser un rôle d'instance sur des instances Amazon Elastic Compute Cloud (Amazon EC2) pour Amazon Linux 2.
Brève description
Utilisez l'assistance des informations d'identification de l'interface de ligne de commande AWS (AWS CLI) pour les opérations Git sur un référentiel CodeCommit en utilisant un rôle d'instance sur votre instance EC2.
**Remarque :**L'utilisation d'un assistant d'identification est la seule méthode de connexion pour les référentiels CodeCommit qui ne nécessite pas d'utilisateur AWS Identity and Access Management (IAM).
Résolution
**Remarque :**Si vous recevez des erreurs lors de l'exécution des commandes de l'AWS CLI, assurez-vous que vous utilisez la version la plus récente de l'AWS CLI.
- Créez un rôle IAM pour votre instance EC2, puis associez l'exemple de politique IAM suivant au rôle. Remplacez arn:aws:codecommit:us-east- 1:111111111111:testrepo par l'ARN de votre référentiel CodeCommit.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"codecommit:GitPull",
"codecommit:GitPush"
],
"Resource": "arn:aws:codecommit:us-east-1:111111111111:testrepo"
}
]
}
**Remarque :**La politique de l'étape 1 autorise le rôle IAM à effectuer des actions Git pull et push sur le référentiel CodeCommit. Pour plus d'exemples d'utilisation de politiques IAM pour CodeCommit, consultez la section Utilisation de stratégies basées sur l'identité (politiques IAM) pour CodeCommit.
-
Attachez le rôle IAM que vous avez créé à l'étape 1 à une instance EC2.
-
Installez Git sur votre instance EC2.
**Remarque :**Pour plus d'informations, consultez la section Téléchargements sur le site Web de Git.
- Pour configurer l'assistant d'identification sur l'instance EC2, exécutez les commandes suivantes :
$ git config --global credential.helper '!aws codecommit credential-helper $@'
$ git config --global credential.UseHttpPath true
**Remarque :**Les commandes de l'étape 4 spécifient l'utilisation de l'assistant d'identification Git avec le profil d'informations d'identification AWS. Le profil d'identification permet à Git de s'authentifier auprès d'AWS pour interagir avec les référentiels CodeCommit. Pour s'authentifier, Git utilise HTTPS et une version signée cryptographiquement de votre rôle d'instance EC2.
- Pour configurer votre nom et votre adresse e-mail de manière explicite, exécutez les commandes suivantes :
$ git config --global user.email "testuser@example.com"
$ git config --global user.name "testuser"
Remarque : Votre nom et votre adresse e-mail sont automatiquement configurés en fonction de votre nom d'utilisateur et de votre nom d'hôte.
- Pour cloner le référentiel sur l'instance EC2, exécutez la commande suivante :
$ git clone https://git-codecommit.us-east-1.amazonaws.com/v1/repos/testrepo
- Créez un commit dans votre référentiel CodeCommit.
Remarque : Si vous utilisez Windows, consultez les étapes de configuration pour les connexions HTTPS aux référentiels AWS CodeCommit sous Windows avec l'assistant d'identification de l'AWS CLI.
Informations connexes
Étapes de configuration pour les connexions HTTPS aux référentiels AWS CodeCommit sous Linux, macOS ou Unix avec l'assistant d'identification de l'AWS CLI
Comment effectuer des opérations Git sur un référentiel AWS CodeCommit avec un rôle d'instance sur des instances Amazon EC2 pour Windows ?