aws codecommit - guide de l'utilisateur...Étape 3 : navigation dans le contenu de votre...

465
AWS CodeCommit Manuel de l'utilisateur Version de l'API 2015-04-13

Upload: others

Post on 16-Aug-2020

13 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommitManuel de l'utilisateur

Version de l'API 2015-04-13

Page 2: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateur

AWS CodeCommit: Manuel de l'utilisateurCopyright © 2020 Amazon Web Services, Inc. and/or its affiliates. All rights reserved.

Amazon's trademarks and trade dress may not be used in connection with any product or service that is not Amazon's,in any manner that is likely to cause confusion among customers, or in any manner that disparages or discreditsAmazon. All other trademarks not owned by Amazon are the property of their respective owners, who may or may notbe affiliated with, connected to, or sponsored by Amazon.

Page 3: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateur

Table of ContentsPrésentation du CodeCommit ............................................................................................................... 1

Présentation d'CodeCommit ......................................................................................................... 1CodeCommit, Git, et en choisissant le bon AWS pour répondre à vos besoins ...................................... 2Fonctionnement d'CodeCommit .................................................................................................... 4Comment est CodeCommit différent de la version du fichier dans Amazon S3? .................................... 5Comment démarrer avec CodeCommit ? ........................................................................................ 6Où puis-je en savoir plus sur Git ? ................................................................................................ 6

Configuration de ................................................................................................................................. 7Afficher et gérer vos informations d’identification ............................................................................. 7Configuration à l’aide d’informations d’identification Git ..................................................................... 8Configuration à l’aide d’autres méthodes ........................................................................................ 8Compatibilité pour CodeCommit, Git et autres composants .............................................................. 10Pour les utilisateurs HTTPS utilisant des informations d’identification Git ............................................ 10

Étape 1 : Configuration initiale pour CodeCommit .................................................................. 10Étape 2 : Installation de Git ................................................................................................ 11Étape 3 : Créer des informations d’identification Git pour les connexions HTTPS à CodeCommit ..... 11Étape 4 : Connectez-vous au CodeCommit et cloner le référentiel ............................................ 13Étapes suivantes .............................................................................................................. 14

Pour les connexions HTTPS avec git-remote-codecommit ............................................................... 15Étape 0 : Installer les prérequis pour git-remote-codecommit .................................................... 15Étape 1 : Configuration initiale pour CodeCommit .................................................................. 16Étape 2 : Installer git-remote-codecommit ............................................................................. 18Étape 3 : Connectez-vous au CodeCommit et cloner le référentiel ............................................ 19Étapes suivantes .............................................................................................................. 20

Pour les connexions des outils de développement ......................................................................... 20Intégration de AWS Cloud9 avec AWS CodeCommit .............................................................. 23Intégration de Visual Studio avec AWS CodeCommit .............................................................. 27Intégration d'Eclipse à AWS CodeCommit ............................................................................ 30

Pour les utilisateurs SSH qui n’utilisent pas l’ AWS CLI .................................................................. 35Étape 1 : Associez votre clé publique à votre IAM utilisateur .................................................... 36Étape 2 : Ajouter CodeCommit à votre configuration SSH ........................................................ 36Étapes suivantes .............................................................................................................. 37

Pour les connexions SSH sousLinux, macOS, or Unix .................................................................... 37Étape 1 : Configuration initiale pourCodeCommit ................................................................... 37Étape 2 : Installer Git ........................................................................................................ 38Step3 : Configuration des informations d'identification surLinux, macOS, or Unix ......................... 38Étape 4 : Se connecter à la CodeCommit console et cloner le référentiel ................................... 41Étapes suivantes .............................................................................................................. 42

Pour les connexions SSH sous Windows ..................................................................................... 42Étape 1 : Configuration initiale pourCodeCommit ................................................................... 42Étape 2 : Installer Git ........................................................................................................ 43Étape 3 : Configuration des clés publiques et privées pour Git etCodeCommit ............................. 44Étape 4 : Se connecter à la CodeCommit console et cloner le référentiel ................................... 46Étapes suivantes .............................................................................................................. 47

Pour les connexions HTTPS sur Linux, macOS, or Unix avec le AWS CLI aide d’informationsd’identification ........................................................................................................................... 48

Étape 1 : Configuration initiale pour CodeCommit .................................................................. 48Étape 2 : Installation de Git ................................................................................................ 50Étape 3 : Configurer l’assistant d’informations d’identification ................................................... 51Étape 4 : Connectez-vous au CodeCommit et cloner le référentiel ............................................ 52Étapes suivantes .............................................................................................................. 53

Pour les connexions HTTPS sur Windows avec le AWS CLI aide d’informations d’identification .............. 53Étape 1 : Configuration initiale pour CodeCommit .................................................................. 54Étape 2 : Installation de Git ................................................................................................ 56

Version de l'API 2015-04-13iii

Page 4: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateur

Étape 3 : Configurer l’assistant d’informations d’identification ................................................... 56Étape 4 : Connectez-vous au CodeCommit et cloner le référentiel ............................................ 58Étapes suivantes .............................................................................................................. 59

Mise en route ................................................................................................................................... 60Démarrez avec CodeCommit ...................................................................................................... 60

Prerequisites .................................................................................................................... 61Étape 1 : Création d'un référentiel CodeCommit ..................................................................... 62Étape 2 : Ajouter des fichiers à votre référentiel ..................................................................... 63Étape 3 : Parcourir le contenu de votre référentiel .................................................................. 65Étape 4 : Créer et collaborer sur une demande d’extraction ..................................................... 69Étape 5 : Nettoyage .......................................................................................................... 73Étape 6 : Étapes suivantes ................................................................................................. 74

Mise en route avec Git et CodeCommit ........................................................................................ 74Étape 1 : Création d'un référentiel CodeCommit ..................................................................... 75Étape 2 : Créer un référentiel local ...................................................................................... 76Étape 3 : Créez votre première validation ............................................................................. 77Étape 4 : Appuyez sur votre premier engagement .................................................................. 78Étape 5 : Partager le CodeCommit du référentiel et transmettre et extraire une autre validation ...... 78Étape 6 : Créer et partager une branche .............................................................................. 80Étape 7 : Créer et partager une balise ................................................................................. 81Étape 8 : Configurer les autorisations d’accès ....................................................................... 82Étape 9 : Nettoyage .......................................................................................................... 84

Intégrations de produits et services ..................................................................................................... 86Intégration avec d’autres AWS services ........................................................................................ 86Exemples d'intégration issus de la communauté ............................................................................ 91

Billets de blogs ................................................................................................................. 91Exemples de code ............................................................................................................ 94

Utilisation des référentiels .................................................................................................................. 95Création d'un référentiel ............................................................................................................. 96

Création d’un référentiel (console) ....................................................................................... 96Créez un référentiel (AWS CLI) ........................................................................................... 97

Connexion à un référentiel ......................................................................................................... 99Prérequis pour se connecter à un CodeCommit référentiel ...................................................... 99Connectez-vous au CodeCommit du référentiel en clonant le référentiel ................................... 100Connectez un référentiel local au CodeCommit référentiel ..................................................... 101

Partager un référentiel ............................................................................................................. 102Choisissez le protocole de connexion à partager avec vos utilisateurs ..................................... 102Créer IAM stratégies pour votre référentiel .......................................................................... 103Créez un IAM groupe pour les utilisateurs du référentiel ........................................................ 104Partager les informations de connexion avec vos utilisateurs .................................................. 105

Configuration des notifications pour les événements de référentiel .................................................. 106Utilisation des règles de notification du référentiel ................................................................ 108Create a notification rule .................................................................................................. 108Modifier ou désactiver les notifications ................................................................................ 110Supprimer les notifications ................................................................................................ 111

Balisage d'un référentiel ........................................................................................................... 111Ajout d’une balise à un référentiel ...................................................................................... 112Affichage des balises pour un référentiel ............................................................................ 114Affichage des balises pour un référentiel ............................................................................ 115Supprimer une balise d’un référentiel ................................................................................. 116

Gestion des déclencheurs pour un référentiel .............................................................................. 117Créez la ressource et ajoutez des autorisations pour CodeCommit .......................................... 118Créer un déclencheur pour un Amazon SNS thème .............................................................. 119Créer un déclencheur pour un Lambda fonction ................................................................... 123Créer un déclencheur pour un Lambda fonction ................................................................... 127Modifier les déclencheurs d’un référentiel ............................................................................ 132Tester les déclencheurs d’un référentiel .............................................................................. 134

Version de l'API 2015-04-13iv

Page 5: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateur

Supprimer des déclencheurs d’un référentiel ....................................................................... 135Associer ou dissocier un référentiel avec Amazon CodeGuru Reviewer ............................................ 137

Associer un référentiel à CodeGuru Reviewer ...................................................................... 139Dissocier un référentiel de CodeGuru Reviewer ................................................................... 139

Afficher les détails du référentiel ................................................................................................ 139Afficher les détails du référentiel (console) .......................................................................... 140Vue CodeCommit détails du référentiel (Git) ........................................................................ 140Vue CodeCommit détails du référentiel (AWS CLI) ............................................................... 141

Modifier les paramètres du référentiel ......................................................................................... 144Modifier les paramètres du référentiel (console) ................................................................... 144Modifier AWS CodeCommit paramètres du référentiel (AWS CLI) ........................................... 145

Synchroniser les modifications entre les référentiels ..................................................................... 146Envoi des validations vers deux référentiels ................................................................................ 147Configurer l’accès entre comptes à un référentiel à l’aide de rôles .................................................. 150

Accès au référentiel entre comptes : Actions pour l’administrateur dans AccountA ...................... 151Accès au référentiel entre comptes : Actions pour l’administrateur dans AccountB ...................... 154Accès au référentiel entre comptes : Actions pour l’utilisateur du référentiel dans AccountB .......... 155

Supprimer un référentiel ........................................................................................................... 159Supprimer un CodeCommit référentiel (console) .................................................................. 159Supprimer un référentiel local ........................................................................................... 160Supprimer un CodeCommit du référentiel (AWS CLI) ............................................................ 160

Utilisation des fichiers ...................................................................................................................... 161Parcourir les fichiers dans un référentiel ..................................................................................... 162

Parcourir un CodeCommit référentiel .................................................................................. 162Créer ou ajouter un fichier ........................................................................................................ 163

Créer ou charger un fichier (console) ................................................................................. 164Ajouter un fichier (AWS CLI) ............................................................................................. 164Ajouter un fichier (Git) ...................................................................................................... 165

Modifier le contenu d’un fichier .................................................................................................. 166Modifier un fichier (console) .............................................................................................. 166Edit ou supprimer un fichier (AWS CLI) .............................................................................. 167Modifier un fichier (Git) .................................................................................................... 168

Utilisation des demandes d'extraction ................................................................................................. 169Créer une demande d'extraction ................................................................................................ 171

Créer une demande d’extraction (console) .......................................................................... 172Créez une demande d’extraction (AWS CLI) ....................................................................... 173

Créer une règle d'approbation ................................................................................................... 174Créer une règle d’approbation pour une demande d’extraction (console) .................................. 175Créez une règle d’approbation pour une demande d’extraction (AWS CLI) ................................ 177

Afficher des demandes d'extraction ............................................................................................ 178Afficher les demandes d’extraction (console) ....................................................................... 178Afficher les demandes d’extraction (AWS CLI) ..................................................................... 179

Réviser une demande d'extraction ............................................................................................. 182Vérification d’une demande d’extraction (console) ................................................................ 182Examiner les demandes d’extraction (AWS CLI) .................................................................. 187

Mise à jour d’une demande d'extraction ...................................................................................... 191Mettre à jour une demande d’extraction (console) ................................................................ 191Mettre à jour les demandes d’extraction (AWS CLI) .............................................................. 191

Modifier ou supprimer une règle d'approbation ............................................................................. 193Modifier ou supprimer une règle d’approbation pour une demande d’extraction (console) ............. 194Modifier ou supprimer une règle d’approbation pour une demande d’extraction (AWS CLI) ........... 195

Remplacer les règles d’approbation sur une demande d’extraction .................................................. 197Remplacer les règles d’approbation (console) ...................................................................... 197Remplacer les règles d’approbation (AWS CLI) .................................................................... 197

Fusionner une demande d'extraction .......................................................................................... 199Fusion d’une demande d’extraction (console) ...................................................................... 199Fusionner une demande d’extraction (AWS CLI) .................................................................. 202

Version de l'API 2015-04-13v

Page 6: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateur

Résoudre les conflits dans une demande d’extraction ................................................................... 206Résoudre les conflits dans une demande d’extraction (console) .............................................. 206Résoudre les conflits dans une demande d’extraction (AWS CLI) ............................................ 209

Fermer une demande d'extraction .............................................................................................. 214Fermeture d’une demande d’extraction (console) ................................................................. 215Fermer une demande d’extraction (AWS CLI) ...................................................................... 215

Utilisation des modèles de règles d'approbation ................................................................................... 217Créer un modèle de règle d'approbation ..................................................................................... 219

Création d’un modèle de règle d’approbation (console) ......................................................... 219Créer un modèle de règle d’approbation (AWS CLI) ............................................................. 221

Associer un modèle de règle d’approbation à un référentiel ........................................................... 223Associer un modèle de règle d’approbation (console) ............................................................ 223Associer un modèle de règle d’approbation (AWS CLI) ......................................................... 223

Gérer les modèles de règles d'approbation ................................................................................. 224Gérer les modèles de règles d’approbation (console) ............................................................ 224Gérer les modèles de règles d’approbation (AWS CLI) .......................................................... 225

Dissocier un modèle de règle d’approbation ................................................................................ 228Dissocier un modèle de règle d’approbation (console) ........................................................... 228Dissocier un modèle de règle d’approbation (AWS CLI) ......................................................... 229

Supprimer un modèle de règle d’approbation ............................................................................... 229Suppression d’un modèle de règle d’approbation (console) .................................................... 230Supprimer un modèle de règle d’approbation (AWS CLI) ....................................................... 230

Utilisation des validations ................................................................................................................. 231Créer une validation ................................................................................................................ 232

Créez la première validation pour un référentiel à l'aide de l'AWS CLI ...................................... 232Créer une validation à l'aide d'un client Git .......................................................................... 233Créer une validation à l'aide de l'AWS CLI .......................................................................... 235

Affichage des détails d'une validation ......................................................................................... 237Parcourir les validations dans un référentiel ........................................................................ 237Afficher les détails de la validation (AWS CLI) ..................................................................... 240Afficher les détails de la validation (Git) .............................................................................. 244

Comparer des validations ......................................................................................................... 246Comparer une validation à son parent ................................................................................ 246Comparaison de deux spécificateurs de validation quelconques .............................................. 248

Commentaire relatif à une validation .......................................................................................... 250Afficher les commentaires sur une validation dans un référentiel ............................................. 251Ajouter et répondre aux commentaires sur une validation dans un référentiel ............................ 251Afficher, ajouter, mettre à jour et répondre aux commentaires (AWS CLI) ................................. 255

Créer une balise Git ................................................................................................................ 261Utilisez Git pour créer une balise ....................................................................................... 262

Afficher les détails de la balise .................................................................................................. 262Afficher les détails des balises (console) ............................................................................. 263Afficher les détails de la balise Git (Git) .............................................................................. 263

Supprimer une balise ............................................................................................................... 265Utiliser Git pour supprimer une balise Git ............................................................................ 265

Utilisation de branches ..................................................................................................................... 266Création d'une branche ............................................................................................................ 267

Création d’une branche (console) ...................................................................................... 267Créer une branche (Git) ................................................................................................... 268Créez une branche (AWS CLI) .......................................................................................... 268

Permet de limiter les transmissions et les fusions vers les branches ................................................ 269Configurer un IAM stratégie pour limiter les transmissions et les fusions vers une branche ........... 270Appliquer le IAM stratégie à un IAM groupe ou rôle .............................................................. 271Tester la politique ........................................................................................................... 271

Afficher les détails de la succursale ........................................................................................... 272Afficher les détails de la branche (console) ......................................................................... 272Afficher les détails de la succursale (Git) ............................................................................ 273

Version de l'API 2015-04-13vi

Page 7: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateur

Afficher les détails de la succursale (AWS CLI) .................................................................... 274Comparer et fusionner des branches .......................................................................................... 275

Comparer une branche à la branche par défaut ................................................................... 275Comparer deux branches spécifiques ................................................................................. 275Fusionner deux branches (AWS CLI) ................................................................................. 276

Modifier les paramètres de la branche ........................................................................................ 278Modifier la branche par défaut (console) ............................................................................. 278Modifier la branche par défaut (AWS CLI) ........................................................................... 278

Supprimer une branche ............................................................................................................ 279Suppression d’une branche (console) ................................................................................. 280Supprimer une branche (AWS CLI) .................................................................................... 280Supprimer une branche (Git) ............................................................................................. 280

Utilisation des préférences utilisateur ................................................................................................. 282Migration vers CodeCommit .............................................................................................................. 283

Migrer un référentiel Git vers AWS CodeCommit .......................................................................... 283Étape 0 : Configuration requise pour accéder à CodeCommit ................................................. 284Étape 1 : Création d'un référentiel CodeCommit ................................................................... 288Étape 2 : Clonez le référentiel et transmettez-le au CodeCommit référentiel .............................. 289Étape 3 : Afficher les fichiers dans CodeCommit .................................................................. 290Étape 4 : Partager le CodeCommit référentiel ...................................................................... 291

Migrer le contenu vers CodeCommit .......................................................................................... 293Étape 0 : Configuration requise pour accéder à CodeCommit ................................................. 293Étape 1 : Création d'un référentiel CodeCommit ................................................................... 297Étape 2 : Migrer le contenu local vers le CodeCommit référentiel ............................................ 298Étape 3 : Afficher les fichiers dans CodeCommit .................................................................. 299Étape 4 : Partager le CodeCommit référentiel ...................................................................... 299

Migrer un référentiel par incréments ........................................................................................... 301Étape 0 : Déterminer s’il faut migrer de manière incrémentielle ............................................... 301Étape 1 : Installez les prérequis et ajoutez le CodeCommit en tant que référentiel distant ............. 302Étape 2 : Créez le script à utiliser pour la migration incrémentielle ........................................... 303Étape 3 : Exécutez le script et effectuez une migration incrémentielle vers CodeCommit .............. 304Annexe : Exemple de script incremental-repo-migration.py ........................................ 305

Sécurité ......................................................................................................................................... 310Protection des données ............................................................................................................ 310

AWS KMS et chiffrement .................................................................................................. 311Utilisation des informations d’identification en rotation ........................................................... 312

Identity and Access Management .............................................................................................. 316Audience ........................................................................................................................ 316Authentification avec des identités ..................................................................................... 317Gestion de l'accès à l'aide de stratégies ............................................................................. 319Authentification et contrôle d'accès .................................................................................... 321Fonctionnement d'AWS CodeCommit avec IAM ................................................................... 365Stratégies CodeCommit basées sur les ressources .............................................................. 366Autorisation basée sur les balises CodeCommit ................................................................... 366Rôles IAM CodeCommit ................................................................................................... 368Exemples de stratégies basées sur l'identité ........................................................................ 369Dépannage ..................................................................................................................... 371

Résilience .............................................................................................................................. 372Sécurité de l'infrastructure ........................................................................................................ 373

Surveillance des CodeCommit ........................................................................................................... 374Surveillance CodeCommit événements ....................................................................................... 374

Événement referenceCreated ............................................................................................ 375Événement referenceUpdated ........................................................................................... 376Événement referenceDeleted ............................................................................................ 376Événement unreferencedMergeCommitCreated .................................................................... 377Événement commentOnCommitCreated .............................................................................. 377Événement commentOnCommitUpdated ............................................................................. 378

Version de l'API 2015-04-13vii

Page 8: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateur

Événement commentOnPullRequestCreated ........................................................................ 378Événement commentOnPullRequestUpdated ....................................................................... 379Événement pullRequestCreated ......................................................................................... 380Événement pullRequestSourceBranchUpdated ..................................................................... 380Événement pullRequestStatusChanged .............................................................................. 381Événement pullRequestMergeStatusUpdated ....................................................................... 382Événement approvalRuleTemplateCreated .......................................................................... 382Événement approvalRuleTemplateUpdated ......................................................................... 383Événement approvalRuleTemplateDeleted .......................................................................... 384Événement approvalRuleTemplateAssociatedWithRepository ................................................. 384Événement approvalRuleTemplateDisassociatedWithRepository ............................................. 385Événement approvalRuleTemplateBatchAssociatedWithRepositories ....................................... 385Événement approvalRuleTemplateBatchDisassociatedFromRepositories .................................. 386Événement pullRequestApprovalRuleCreated ...................................................................... 387Événement pullRequestApprovalRuleDeleted ....................................................................... 387Événement pullRequestApprovalRuleOverridden .................................................................. 388Événement pullRequestApprovalStateChanged .................................................................... 390Événement pullRequestApprovalRuleUpdated ...................................................................... 391Événement reactionCreated .............................................................................................. 392Événement reactionUpdated ............................................................................................. 392

Journalisation des appels d'API AWS CodeCommit avec AWS CloudTrail ........................................ 393Informations CodeCommit dans CloudTrail .......................................................................... 393Présentation des entrées des fichiers journaux CodeCommit .................................................. 394

Ressources AWS CloudFormation ..................................................................................................... 400Modèles CodeCommit et AWS CloudFormation ........................................................................... 400En savoir plus sur AWS CloudFormation .................................................................................... 400

Dépannage ..................................................................................................................................... 401Dépannage des informations d’identification Git (HTTPS) .............................................................. 401

Informations d’identification Git pour AWS CodeCommit: Je continue à voir une invite pour lesinformations d’identification lorsque je me connecte à mon CodeCommit au niveau du terminalou de la ligne de commande ............................................................................................ 401Informations d’identification Git pour AWS CodeCommit: J’ai configuré les informationsd’identification Git, mais mon système ne les utilise pas ........................................................ 402

Dépannage de git-remote-codecommit ........................................................................................ 402Je vois une erreur : git : ’remote-codecommit’ n’est pas une commande git ............................... 403Je vois une erreur : fatale : Impossible de trouver l’assistant distant pour ’codecommit’ ................ 403Erreur de clonage : Je ne peux pas cloner un CodeCommit référentiel à partir d’un IDE .............. 403Erreur de transmission ou de traction : Je ne peux pas transmettre ou extraire des validationsd’un IDE vers un CodeCommit référentiel ........................................................................... 403

Dépannage des connexions SSH .............................................................................................. 404Erreur d’accès : La clé publique a été chargée avec succès sur IAM mais la connexion échouesur Linux, macOS, or Unix systèmes .................................................................................. 404Erreur d’accès : La clé publique a été chargée avec succès sur IAM et SSH testés avec succès,mais la connexion échoue sur les systèmes Windows ........................................................... 405Défi d’authentification : L’authenticité de l’hôte ne peut pas être établie lors de la connexion à unCodeCommit référentiel .................................................................................................... 405IAM erreur : ’Format non valide’ lors de la tentative d’ajout d’une clé publique à IAM ................... 408J’ai besoin d’accéder CodeCommit référentiels dans plusieurs AWS comptes avec informationsd’identification SSH ......................................................................................................... 409Sous Windows : L’émulateur Bash ou la ligne de commande se fige lors de la tentative deconnexion à l’aide de SSH ............................................................................................... 409

Dépannage de l’assistant d’informations d’identification (HTTPS) .................................................... 410Erreur « Commande introuvable » renvoyée dans Windows lors de l'utilisation de l'assistantd'informations d'identification ............................................................................................. 411On me demande un nom d’utilisateur lorsque je me connecte à un CodeCommit référentiel ......... 411pour macOS: J’ai configuré l’assistant d’informations d’identification avec succès, mais je nepeux plus accéder à mon référentiel (403) .......................................................................... 412

Version de l'API 2015-04-13viii

Page 9: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateur

Git pour Windows : J’ai installé Git pour Windows, mais je ne peux pas accéder à mon référentiel(403) ............................................................................................................................. 414

Dépannage des clients Git ....................................................................................................... 415Erreur Git : Erreur : Échec RPC ; résultat = 56, code HTTP = 200 fatal : L’extrémité distante araccroché de façon inattendue .......................................................................................... 416Erreur Git : Trop de commandes de mise à jour de référence ................................................. 416Erreur Git : La transmission via HTTPS est brisée dans certaines versions de Git ...................... 416Erreur Git : 'gnutls_handshake() failed' ................................................................................ 416Erreur Git : Git ne trouve pas le CodeCommit du référentiel ou n’a pas l’autorisation d’accéder auréférentiel ....................................................................................................................... 417Sous Windows : Aucune méthode d’authentification prise en charge disponible (clé publique) ...... 417

Dépannage des erreurs d’accès ................................................................................................ 417Erreur d’accès : On me demande un nom d’utilisateur et un mot de passe lorsque je meconnecte à un CodeCommit du référentiel à partir de Windows .............................................. 418Erreur d’accès : Clé publique refusée lors de la connexion à un CodeCommit référentiel ............. 418Erreur d’accès : message “Taux dépassé” ou “429” lors de la connexion à un CodeCommitréférentiel ....................................................................................................................... 418

Dépannage des erreurs de configuration .................................................................................... 419Erreur de configuration : Impossible de configurer AWS CLI informations d’identification surmacOS .......................................................................................................................... 419

Résolution des erreurs de la console ......................................................................................... 420Erreur d’accès : Accès à la clé de chiffrement refusé pour un CodeCommit à partir de la consoleou AWS CLI ................................................................................................................... 418Erreur de la console : Impossible de parcourir le code dans un CodeCommit référentiel à partirde la console .................................................................................................................. 420

Déclencheurs de dépannage ..................................................................................................... 420Erreur de déclenchement : Un déclencheur de référentiel ne s’exécute pas comme prévu ............ 421

Activer le débogage ................................................................................................................. 421Référence CodeCommit ................................................................................................................... 423

Régions et points de terminaison de connexion Git ...................................................................... 423Régions AWS prises en charge pour CodeCommit ............................................................... 423Points de terminaison de connexion Git .............................................................................. 424Empreintes digitales du serveur pour CodeCommit ............................................................... 427

Utilisation de AWS CodeCommit avec points de terminaison de VPC d’interface ................................ 430Availability ...................................................................................................................... 431Créer des points de terminaison de VPC pour CodeCommit ................................................... 431Création d'une stratégie de point de terminaison de VPC pour CodeCommit ............................. 432

Quotas ................................................................................................................................... 432Référence des commandes en ligne .......................................................................................... 437Commandes Git de base .......................................................................................................... 441

Variables de configuration ................................................................................................ 441Référentiels distants ........................................................................................................ 442Commits ........................................................................................................................ 443Branches ....................................................................................................................... 444Tags .............................................................................................................................. 445

Historique du document ................................................................................................................... 446Mises à jour antérieures ........................................................................................................... 451

Glossaire AWS ............................................................................................................................... 456

Version de l'API 2015-04-13ix

Page 10: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurPrésentation d'CodeCommit

Présentation du AWS CodeCommitAWS CodeCommit est un service de contrôle des versions hébergé par Amazon Web Services, que vouspouvez utiliser pour stocker et gérer des ressources de manière privée (par exemple, des documents,un code source et des fichiers binaires) dans le cloud. Pour plus d'informations sur la tarification pourCodeCommit, consultez Tarification.

Note

CodeCommit entre dans le champ d'application de nombreux programmes de conformité.Pour plus d'informations sur AWS et les efforts de conformité, consultez la page Services AWSconcernés par un programme de conformité.Il s'agit d'un service admissible en vertu de la loi HIPAA. Pour plus d'informations sur AWS, surla loi américaine HIPAA (Health Insurance Portability and Accountability Act) de 1996 et surl'utilisation des services AWS de traitement, de stockage et de transmission des informationsprotégées relatives à la santé (PHI), consultez Présentation de la loi HIPAA.Pour plus d'informations sur ce service et ISO 27001, une norme de gestion de la sécuritéqui spécifie les bonnes pratiques de gestion de la sécurité, consultez Présentation de lanorme ISO 27001.Pour plus d'informations sur ce service et sur la norme PCI DSS (Payment Card Industry DataSecurity Standard), consultez la page Présentation de PCI DSS.Pour plus d'informations sur ce service et la norme du gouvernement américain de publicationFederal Information Processing Standard (FIPS) 140-2 spécifiant les exigences de sécuritépour les modules cryptographiques qui protègent les informations sensibles, consultez FederalInformation Processing Standard (FIPS) 140-2 Overview et Points de terminaison de connexionGit (p. 424).

Rubriques• Présentation d'CodeCommit (p. 1)• CodeCommit, Git, et en choisissant le bon AWS pour répondre à vos besoins (p. 2)• Fonctionnement d'CodeCommit (p. 4)• Comment est CodeCommit différent de la version du fichier dans Amazon S3? (p. 5)• Comment démarrer avec CodeCommit ? (p. 6)• Où puis-je en savoir plus sur Git ? (p. 6)

Présentation d'CodeCommitCodeCommit est un service de contrôle de code source géré, sécurisé et extrêmement évolutif quihéberge des référentiels Git privés. CodeCommit élimine le besoin de gérer votre propre système decontrôle de code source, ni à vous inquiéter quant à l'adaptation de son infrastructure. Vous pouvezutiliser CodeCommit pour tout stocker, du code aux fichiers binaires. Ce service prend en charge lesfonctionnalités standard de Git, et fonctionne donc de façon transparente avec vos outils basés sur Gitexistants.

Grâce à CodeCommit, vous pouvez :

• Bénéficiez d'un service totalement géré et pris en charge par AWS. CodeCommit offre une durabilitéet une disponibilité élevées des services, et élimine la surcharge administrative liée à la gestion de vospropres matériel et logiciels. Vous n'avez aucun matériel à mettre en service et dimensionner, et aucunlogiciel serveur à installer, configurer et mettre à jour.

• Stockez votre code en toute sécurité. Les référentiels CodeCommit sont chiffrés au repos et en transit.• Travaillez de façon collaborative sur du code. Les référentiels CodeCommit prennent en charge les

demandes d'extraction (qui permettent aux utilisateurs de vérifier et de commenter les modifications

Version de l'API 2015-04-131

Page 11: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurCodeCommit, Git, et en choisissant lebon AWS pour répondre à vos besoins

de code apportées par chacun avant de les fusionner et de les convertir en branches), ainsi que lesnotifications qui envoient automatiquement des e-mails aux utilisateurs en cas de demandes d'extraction,d'ajout de commentaire, etc.

• Adaptez facilement vos projets de contrôle de version. Les référentiels CodeCommit peuvent être mis àl'échelle afin de répondre à vos besoins de développement. Le service peut gérer des référentiels avecun grand nombre de fichiers ou de branches, des tailles de fichier importantes et de longs historiques derévision.

• Stockez tout ce que vous voulez, quand vous voulez. CodeCommit n'impose aucune limite sur la taille devos référentiels ou sur les types de fichiers que vous pouvez stocker.

• Intégrez-vous avez d'autres AWS et services de tiers. CodeCommit conserve vos référentiels à proximitéde vos autres ressources de production dans le cloud AWS, ce qui permet d'augmenter la vitesse et lafréquence de votre cycle de vie de développement. Il est intégré à IAM et peut être utilisé avec d'autresservices AWS, ainsi qu'en parallèle avec d'autres référentiels. Pour plus d'informations, consultez lasection Intégrations de produits et services avec AWS CodeCommit (p. 86).

• Migrer facilement des fichiers à partir d'autres référentiels distants. Vous pouvez effectuer une migrationvers CodeCommit à partir de n'importe quel référentiel basé sur Git.

• Utilisez les outils Git que vous connaissez déjà. CodeCommit prend en charge les commandes Git ainsique ses propres commandes AWS CLI de commande et APIs.

CodeCommit, Git, et en choisissant le bon AWSpour répondre à vos besoins

En tant que service basé sur Git, CodeCommit répond à la majorité des besoins de contrôle de version.Il n'y a pas de limites arbitraires concernant la taille ou le type des fichiers, et la taille des référentiels.Toutefois, des limites inhérentes à Git peuvent nuire aux performances de certaines opérations, notammentdans la durée. Pour éviter la dégradation potentielle des performances des référentiels CodeCommit, vouspouvez éviter de l'utiliser dans les situations où les autres services AWS sont mieux adaptés à la tâche.Vous pouvez également optimiser les performances de Git pour les référentiels complexes. Voici quelquessituations dans lesquelles Git, et donc CodeCommit, ne sont pas les meilleures solutions ou peuventnécessiter des actions supplémentaires pour optimiser l'utilisation de Git.

Cas d'utilisation  Description Autres services à envisager

Fichiers volumineux avecmodifications fréquentes

Git utilise l'encodage Deltapour enregistrer les différencesentre plusieurs versions d'unfichier. Par exemple, si vouschangez quelques mots dansun document, Git enregistreuniquement les mots changés.Si vous avez des fichiers oudes objets de plus de 5 Mo etcomportant de nombreusesmodifications, Git peut avoirbesoin de reconstruire unegrande chaîne de différencesDelta. Cela peut entraînerune augmentation du volumede ressources de calculconsommées, à la fois survotre ordinateur local et dans

Pour gérer les versions defichiers volumineux, envisagezplutôt Amazon Simple StorageService (Amazon S3). Pour plusd'informations, consultez la pageGestion des versions dans leAmazon Simple Storage ServiceManuel du développeur.

Version de l'API 2015-04-132

Page 12: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurCodeCommit, Git, et en choisissant lebon AWS pour répondre à vos besoins

Cas d'utilisation  Description Autres services à envisagerCodeCommit, car ces fichiersdeviennent plus volumineux.

Database Les référentiels Git deviennentplus volumineux avec le temps.Étant donné que la gestion desversions effectue le suivi detoutes les modifications, chaquemodification apportée augmentela taille de votre référentiel. End'autres termes, lorsque vousvalidez des données, mêmesi vous supprimez d'autresdonnées par la même occasion,les données sont ajoutées auréférentiel. L'augmentation duvolume de données à traiter età transmettre au fil du tempsentraîne un ralentissement deGit. Cette conséquence estparticulièrement préjudiciabledans le cas d'utilisation de basede données. Git n'a pas étéconçu comme une base dedonnées.

Pour créer et utiliser une base dedonnées dont les performancesseront homogènes quelleque soit la taille des données,envisagez plutôt AmazonDynamoDB. Pour de plus amplesinformations, veuillez consulterGuide de démarrage de AmazonDynamoDB.

Pistes d'audit Les pistes d'audit sontgénéralement conservéespendant de longues périodes,et sont générées de manièrecontinue par les processussystème, sur un rythmetrès fréquent. Git a étéconçu pour stocker de façonsécurisée le code sourcegénéré par des groupes dedéveloppeurs pendant uncycle de développement. Lesréférentiels hautement évolutifsqui stockent continuellementdes modifications générées parprogrammations subiront, avecle temps, une dégradation desperformances.

Pour le stockage des pistesd'audit, envisagez plutôt AmazonSimple Storage Service (AmazonS3).

Pour auditer l'activité d'AWS,selon votre cas d'utilisation,envisagez d'utiliser AWSCloudTrail, AWS Config, ouAmazon CloudWatch.

Version de l'API 2015-04-133

Page 13: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurFonctionnement d'CodeCommit

Cas d'utilisation  Description Autres services à envisager

Sauvegardes Git a été conçu pour la gestionde version du code source écritpar des développeurs. Vouspouvez transmettre (push) desvalidations vers deux référentielsdistants (p. 147), y compris unréférentiel CodeCommit, en tantque stratégie de sauvegarde.Toutefois, Git n'a pas été conçupour gérer les sauvegardes dusystème de fichiers de votreordinateur, des vidages devotre base de données ouautres contenus de sauvegardesimilaires. Ce type d'utilisationrisque de ralentir votre systèmeet d'augmenter le délai requispour cloner et transmettre (push)un référentiel.

Pour plus d'informations sur lasauvegarde vers le Cloud AWS,consultez la page Sauvegarde etrestauration.

Nombre important de branchesou de références

Lorsqu'un client Git transmetou extraie des données deréférentiel, le serveur distantdoit envoyer toutes les brancheset références telles que lesbalises, même si une seulebranche vous intéresse. Sivous disposez de milliers debranches et de références, letraitement et l'envoi (négociationde paquet) peuvent être longs,et le référentiel peut, parconséquent, sembler lent àrépondre. Plus vous disposezde branches et de balises, plusle processus prendra du temps.Nous vous conseillons d'utiliserCodeCommit mais de supprimerles branches et balises dont vousn'avez plus besoin.

Pour analyser le nombre deréférences dans un référentielCodeCommit afin de déterminercelles dont vous n'avez plusbesoin, vous pouvez utiliser l'unedes commandes suivantes :

• Linux, macOS, or Unix,ou émulateur Bash sousWindows :

git ls-remote | wc -l

• PowerShell :

git ls-remote | Measure-Object -line

Fonctionnement d'CodeCommitCodeCommit est familier pour les utilisateurs de référentiels Git, mais même ceux qui n'y sont pas familierstrouveront la transition à CodeCommit relativement simple. CodeCommit fournit une console simple pourla création de référentiels et la liste des référentiels et branches existants. En quelques étapes simples, lesutilisateurs peuvent trouver des informations sur un référentiel et le cloner sur leur ordinateur, en créantun référentiel local où ils peuvent apporter des modifications, puis transmettre celles-ci vers le référentielCodeCommit. Les utilisateurs peuvent travailler à partir de la ligne de commande sur leurs ordinateurslocaux ou utiliser un éditeur basé sur l'interface utilisateur graphique.

La figure suivante montre comment utiliser votre machine de développement, l'AWS CLI ou la consoleCodeCommit, et le service CodeCommit pour créer et gérer des référentiels :

Version de l'API 2015-04-134

Page 14: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurComment est CodeCommit différent dela version du fichier dans Amazon S3?

1. Utilisez l'AWS CLI ou la console CodeCommit pour créer un Référentiel CodeCommit.2. Sur votre machine de développement, utilisez Git pour exécuter git clone, en spécifiant le nom du

référentiel CodeCommit. Cela crée un rapport local qui se connecte au Référentiel CodeCommit.3. Utilisez le rapport local sur votre machine de développement pour modifier (ajouter, éditer et

supprimer) des fichiers, puis exécutez git add pour effectuer une copie intermédiaire des fichiersmodifiés en local. Exécutez git commit pour valider les fichiers localement, puis exécutez git push pourenvoyer les fichiers à l'Référentiel CodeCommit.

4. Téléchargez les modifications apportées par d'autres utilisateurs. Exécutez git pull pour synchroniserles fichiers dans l'Référentiel CodeCommit avec votre rapport local. Vous êtes ainsi assuré de travailleravec la dernière version des fichiers.

Vous pouvez utiliser l'AWS CLI ou la console CodeCommit pour suivre et gérer vos référentiels.

Comment est CodeCommit différent de la versiondu fichier dans Amazon S3?

CodeCommit est optimisé pour les équipes de développement logiciel. Il gère des lots de modificationsdans plusieurs fichiers, ce qui peut se produire en parallèle avec les modifications effectuées par d'autresdéveloppeurs. Le versioning Amazon S3 prend en charge la récupération d'anciennes versions defichiers, mais il n'est pas axé sur les fonctions de suivi du fichier collaboratif dont on besoin les équipes dedéveloppement logiciel.

Version de l'API 2015-04-135

Page 15: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurComment démarrer avec CodeCommit ?

Comment démarrer avec CodeCommit ?Pour commencer à utiliser CodeCommit :

1. Suivez les étapes de Configuration de (p. 7) pour préparer vos machines de développement.2. Suivez les étapes d'un ou plusieurs des didacticiels dans Mise en route (p. 60).3. Créez (p. 96) des projets de contrôle de version dans CodeCommit ou migrez (p. 283) des projets

de contrôle de version vers CodeCommit.

Où puis-je en savoir plus sur Git ?Si vous ne le connaissez pas déjà, vous devez apprendre à utiliser Git (p. 441). Voici quelquesressources utiles :

• Pro Git, une version en ligne du manuel Pro Git. Rédigé par Scott Chacon. Publié par Apress.• Git Immersion, une visite guidée pratique qui vous présente les principes fondamentaux de l'utilisation de

Git. Publié par Neo Innovation, Inc.• Git Reference, une référence rapide en ligne qui peut également être utilisée comme un didacticiel Git

plus approfondi. Publié par le GitHub de l’équipe.• Git Cheat Sheet avec la syntaxe des commandes Git de base. Publié par le GitHub de l’équipe.• Git Pocket Guide. Rédigé par Richard E. Silverman. Publié par O'Reilly Media, Inc.

Version de l'API 2015-04-136

Page 16: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAfficher et gérer vos informations d’identification

Configuration pour AWSCodeCommit

Vous pouvez vous connecter à la AWS Management Console et charger, ajouter ou modifier unfichier (p. 161) dans un référentiel directement à partir de la console AWS CodeCommit. Il s'agit d'unefaçon rapide d'apporter une modification. Toutefois, si vous souhaitez utiliser plusieurs fichiers, des fichiersentre différentes branches, etc., envisagez de configurer votre ordinateur local pour utiliser les référentiels.Pour obtenir une configuration adaptée à CodeCommit, le plus simple est de paramétrer des informationsd'identification Git en HTTPS pour AWS CodeCommit. Cette méthode d'authentification HTTPS :

• Utilise un nom d'utilisateur et un mot de passe statiques.• Fonctionne avec tous les systèmes d'exploitation pris en charge par CodeCommit.• Est également compatible avec les environnements de développement intégrés (IDE) et autres outils de

développement prenant en charge les informations d'identification Git.

Vous pouvez utiliser d'autres méthodes si vous ne souhaitez pas ou ne pouvez pas utiliser des informationsd'identification Git pour des raisons opérationnelles. Par exemple, si vous accédez aux référentielsCodeCommit à l'aide d'un accès fédéré, d'informations d'identification temporaires ou d'un fournisseurd'identités web, vous ne pouvez pas utiliser les informations d'identification Git. Nous vous recommandonsde configurer votre ordinateur local à l'aide de la commande git-remote-codecommit. Lisezattentivement la description de ces options afin de déterminer la méthode qui vous convient le mieux.

• Configuration à l’aide d’informations d’identification Git (p. 8)• Configuration à l’aide d’autres méthodes (p. 8)• Compatibilité pour CodeCommit, Git et autres composants (p. 10)

Pour plus d'informations sur l'utilisation d'CodeCommit et de Amazon Virtual Private Cloud, consultezUtilisation de AWS CodeCommit avec points de terminaison de VPC d’interface (p. 430).

Afficher et gérer vos informations d’identificationVous pouvez afficher et gérer vos informations d'identification CodeCommit à partir de la console AWS viaMes informations d'identification de sécurité.

1. Connectez-vous à la AWS Management Console et ouvrez la console IAM à l'adresse https://console.aws.amazon.com/iam/.

2. Dans la barre de navigation en haut à droite, choisissez votre nom d'utilisateur, puis My SecurityCredentials (Mes informations d'identification de sécurité).

Version de l'API 2015-04-137

Page 17: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurConfiguration à l’aide d’informations d’identification Git

3. Cliquez sur l'onglet Informations d'identification AWS CodeCommit.

Configuration à l’aide d’informations d’identificationGit

Avec les connexions HTTPS et les informations d'identification Git, vous générez un nom d'utilisateur et unmot de passe statiques dans IAM. Ensuite, vous utilisez ces informations d'identification Git et n'importequel outil tiers prenant en charge l'authentification par nom d'utilisateur et mot de passe Git. Cette méthodeest prise en charge par la plupart IDEs et outils de développement. Il s'agit de la méthode de connexion laplus simple à utiliser avec CodeCommit.

• Pour les utilisateurs HTTPS utilisant des informations d’identification Git (p. 10) : suivez cesinstructions pour configurer des connexions entre votre ordinateur local et les référentiels CodeCommit àl'aide d'informations d'identification Git.

• Pour les connexions des outils de développement (p. 20) : suivez ces instructions pour configurerdes connexions entre votre IDE ou d'autres outils de développement et les référentiels CodeCommit àl'aide d'informations d'identification Git. IDEs qui prennent en charge les informations d’identification Gitincluent (sans s’y limiter) Visual Studio, Eclipse, Xcode et IntelliJ.

Configuration à l’aide d’autres méthodesVous pouvez utiliser le protocole SSH plutôt que HTTPS pour vous connecter à votre référentielCodeCommit. Avec les connexions SSH, vous créez des fichiers de clé publique et privée sur votreordinateur local, utilisés par Git et CodeCommit pour l'authentification SSH. Vous associez la clé publiqueà votre utilisateur IAM. Vous stockez la clé privée sur votre ordinateur local. Dans la mesure où SSHnécessite que les fichiers de clé publique et privée soient créés et gérés manuellement, la méthode baséesur les informations d'identification Git vous semblera peut-être plus simple à utiliser avec CodeCommit.

Contrairement aux informations d'identification Git, la configuration de la connexion SSH varie en fonctiondu système d'exploitation installé sur l'ordinateur local.

Version de l'API 2015-04-138

Page 18: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurConfiguration à l’aide d’autres méthodes

• Pour les utilisateurs SSH qui n’utilisent pas l’ AWS CLI (p. 35) : suivez ces instructions abrégées sivous disposez déjà d'une paire de clés publique-privée et savez utiliser les connexions SSH sur votreordinateur local.

• Pour les connexions SSH sousLinux, macOS, or Unix (p. 37) : suivez ces instructions pour savoir endétail comment créer une paire de clés publique-privée et configurer des connexions sur les systèmesd'exploitation Linux, macOS, or Unix.

• Pour les connexions SSH sous Windows (p. 42) : Suivez ces instructions pour savoir en détailcomment créer une paire de clés publique-privée et configurer des connexions sur les systèmesd'exploitation Windows.

Si vous vous connectez CodeCommit et AWS à l'aide d'un accès fédéré, d'un fournisseur d'identité oud'informations d'identification temporaires, ou si vous ne souhaitez pas configurer les utilisateurs IAMou les informations d'identification Git des utilisateurs IAM, vous pouvez configurer des connexions auxréférentiels CodeCommit de l'une des deux manières suivantes :

• Installez et utilisez git-remote-codecommit (recommandé).• Installez et utilisez l'assistant d'informations d'identification inclus dans l'AWS CLI.

Les deux méthodes prennent en charge l'accès aux référentiels CodeCommit sans nécessiter d'utilisateurIAM. En d'autres termes, vous pouvez vous connecter aux référentiels à l'aide d'un accès fédéré etd'informations d'identification temporaires. L'utilitaire git-remote-codecommit est l'approche recommandée.Il étend Git et est compatible avec une variété de versions de Git et d'assistants d'informationsd'identification. Cependant, pas tous IDEs prendre en charge le format d’URL de clone utilisé par git-remote-codecommit. Vous devrez peut-être cloner manuellement les référentiels sur votre ordinateurlocal avant de pouvoir les utiliser dans votre IDE.

• Suivez les instructions de la section Étapes de configuration pour les connexions HTTPS à AWSCodeCommit Référentiels avec git-remote-codecommit (p. 15) pour installer et configurer git-remote-codecommit sur Windows, Linux, macOS, or Unix.

L'assistant d'informations d'identification inclus dans l'AWS CLI permet à Git d'utiliser le protocole HTTPSet une version signée de manière chiffrée des informations d'identification de votre utilisateur IAM ou durôle d'instance Amazon EC2 chaque fois que Git doit s'authentifier auprès d'AWS pour interagir avec desréférentiels CodeCommit. Certains systèmes d'exploitation et certaines versions de Git ont leur propreassistant d'informations d'identification, ce qui entraîne un conflit avec l'assistant inclus dans l'AWS CLI.Cela peut entraîner des problèmes de connectivité pour CodeCommit.

• Pour les connexions HTTPS sur Linux, macOS, or Unix avec le AWS CLI aide d’informationsd’identification (p. 48) : suivez ces instructions pour savoir en détail comment installer et configurerl'assistant d'informations d'identification sur les systèmes Linux, macOS, or Unix.

• Pour les connexions HTTPS sur Windows avec le AWS CLI aide d’informationsd’identification (p. 53) : suivez ces instructions pour savoir en détail comment installer et configurerl'assistant d'informations d'identification sur les systèmes Windows.

Si vous vous connectez à un référentiel CodeCommit hébergé dans un autre compte AWS, vous pouvezconfigurer l'accès et des connexions à l'aide de rôles, de stratégies et de l'assistant d'informationsd'identification inclus dans l'AWS CLI.

• Configurer l’accès entre comptes à un AWS CodeCommit du référentiel à l’aide de rôles (p. 150) :suivez ces instructions pour savoir en détail comment configurer l'accès entre comptes dans un compteAWS à des utilisateurs figurant dans un groupe IAM, dans un autre compte AWS.

Version de l'API 2015-04-139

Page 19: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurCompatibilité pour CodeCommit, Git et autres composants

Compatibilité pour CodeCommit, Git et autrescomposants

Lorsque vous travaillez avec CodeCommit, vous utilisez Git. Vous pouvez utiliser également d'autresprogrammes. Le tableau suivant fournit les dernières recommandations pour la compatibilité de version.En tant que bonne pratique, nous vous recommandons d'utiliser les dernières versions de Git et des autreslogiciels.

Informations de compatibilité de version pour AWS CodeCommit

Composant Version

Git CodeCommit prend en charge les versionsGit 1.7.9 et version ultérieure. Nous vousrecommandons d'utiliser une version récente deGit.

Curl CodeCommit nécessite cURL 7.33 et versionultérieure. Cependant, il existe un problèmeconnu lié à la mise à jour HTTPS et curl 7.41.0.Pour plus d'informations, consultez la sectionDépannage (p. 401).

Python (git-remote-codecommit seulement) git-remote-codecommit nécessite la version 3 ouultérieure.

Pip (git-remote-codecommit seulement) git-remote-codecommit nécessite la version 9.0.3ou ultérieure.

Configuration pour les utilisateurs HTTPS à l’aided’informations d’identification Git

Pour paramétrer des connexions aux référentiels AWS CodeCommit, la méthode la plus simple consisteà configurer des informations d'identification Git pour CodeCommit dans la console IAM, puis à utiliserces identifiants pour les connexions HTTPS. Vous pouvez également utiliser ces mêmes informationsd'identification avec n'importe quel outil ou environnement de développement individuel (IDE) tiers prenanten charge l'authentification HTTPS à l'aide d'un nom d'utilisateur et d'un mot de passe statiques. Pourobtenir des exemples, consultez Pour les connexions des outils de développement (p. 20).

Note

Si vous avez déjà configuré votre ordinateur local afin d'utiliser l'assistant d'informationsd'identification pour CodeCommit, vous devez modifier votre fichier .gitconfig de manière à ensupprimer les données relatives à l'assistant, pour pouvoir utiliser ensuite des informationsd'identification Git. Si votre ordinateur local fonctionne sous macOS, vous devrez peut-être effacerles informations d'identification mises en cache depuis Keychain Access.

Étape 1 : Configuration initiale pour CodeCommitProcédez comme suit pour configurer un compte AWS, créer un utilisateur IAM et configurer l'accès àCodeCommit.

Version de l'API 2015-04-1310

Page 20: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉtape 2 : Installation de Git

Pour créer et configurer un utilisateur IAM pour l'accès à CodeCommit

1. Créez un compte AWS en accédant à http://aws.amazon.com et en sélectionnant Sign Up (Seconnecter).

2. Créez un utilisateur IAM ou utilisez un utilisateur existant associé à votre compte AWS. Assurez-vous qu'un ID de clé d'accès et une clé d'accès secrète sont associés à l'utilisateur IAM. Pour plusd'informations, consultez la page Création d'un utilisateur IAM dans votre compte AWS.

Note

CodeCommit nécessite AWS Key Management Service. Si vous utilisez un utilisateurIAM existant, assurez-vous qu'il n'existe aucune stratégie attachée à l'utilisateur, refusantexplicitement les actions AWS KMS requises par CodeCommit. Pour plus d'informations,consultez la section AWS KMS et chiffrement (p. 311).

3. Connectez-vous à la AWS Management Console et ouvrez la console IAM à l'adresse https://console.aws.amazon.com/iam/.

4. Sur la console IAM, dans le volet de navigation, sélectionnez Users (Utilisateurs), puis l'utilisateur IAMque vous souhaitez configurer pour l'accès à CodeCommit.

5. Sous l'onglet Autorisations, choisissez Ajouter des autorisations.6. Pour Accorder des autorisations, choisissez Attacher directement les stratégies existantes.7. Dans la liste des stratégies, sélectionnez AWSCodeCommitPowerUser ou une autre stratégie gérée

pour l'accès à CodeCommit. Pour plus d'informations, consultez la section Stratégies gérées par AWS(prédéfinies) pour CodeCommit (p. 329).

Une fois que vous avez sélectionné la stratégie que vous souhaitez attacher, choisissez Suivant :à revoir pour examiner la liste des stratégies à attacher à IAM utilisateur. Si la liste est correcte,choisissez Add permissions.

Pour plus d'informations sur les stratégies gérées CodeCommit et le partage de l'accès à desréférentiels avec d'autres groupes et utilisateurs, consultez Partager un référentiel (p. 102) etAuthentification et contrôle d'accès pour AWS CodeCommit (p. 321).

Si vous souhaitez utiliser des commandes AWS CLI avec CodeCommit, installez l'AWS CLI. Pour plusd'informations, consultez la section Référence des commandes en ligne (p. 437).

Étape 2 : Installation de GitPour travailler avec des fichiers, des validations, et d'autres informations dans des référentielsCodeCommit, vous devez installer Git sur votre ordinateur local. CodeCommit prend en charge les versionsGit 1.7.9 et version ultérieure. Nous vous recommandons d'utiliser une version récente de Git.

Pour installer Git, nous vous recommandons des sites web tels que Téléchargements Git.Note

Git est une plateforme en constante évolution et régulièrement mise à jour. Parfois, la modificationd'une fonctionnalité peut affecter la façon dont elle fonctionne avec CodeCommit. Si vousrencontrez des problèmes avec une version spécifique de Git et CodeCommit, consultez lesinformations dans Dépannage (p. 401).

Étape 3 : Créer des informations d’identification Gitpour les connexions HTTPS à CodeCommitUne fois que vous avez installé Git, créez des informations d'identification Git pour votre utilisateur IAMdans IAM. Pour plus d'informations, consultez Utilisation des informations d'identification Git et du protocoleHTTPS avec AWS CodeCommit dans le Guide de l'utilisateur IAM.

Version de l'API 2015-04-1311

Page 21: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉtape 3 : Créer des informations d’identificationGit pour les connexions HTTPS à CodeCommit

Pour configurer des informations d'identification Git HTTPS pour CodeCommit

1. Connectez-vous à la AWS Management Console et ouvrez la console IAM à l'adresse https://console.aws.amazon.com/iam/.

Veillez à vous connecter avec le compte de l'utilisateur IAM qui va créer et utiliser les informationsd'identification Git pour les connexions à CodeCommit.

2. Sur la console IAM, dans le volet de navigation, sélectionnez Users (Utilisateurs), et dans la listed'utilisateurs, sélectionnez votre utilisateur IAM.

Note

Vous pouvez directement afficher et gérer vos informations d'identification pour CodeCommitdans Mes informations d'identification de sécurité. Pour plus d'informations, consultez lasection Afficher et gérer vos informations d’identification (p. 7).

3. Sur la page des détails de l'utilisateur, cliquez sur l'onglet Security Credentials (Informationsd'identification de sécurité) puis, dans HTTPS Git credentials for AWS CodeCommit (Informationsd'identification Git HTTPS pour ACC), choisissez Generate (Générer).

Note

Pour les informations d'identification Git, vous ne pouvez pas choisir vous-même votrenom d'utilisateur et votre mot de passe. Pour plus d'informations, consultez Utilisation desinformations d'identification Git et HTTPS avec CodeCommit.

4. Copiez le nom d'utilisateur et le mot de passe générés par IAM, soit en affichant, copiant et collant cesinformations dans un fichier sécurisé sur votre ordinateur, soit en cliquant sur Download credentials(Télécharger les informations d'identification) pour télécharger les informations dans un fichier .CSV.Vous avez besoin de ces informations pour vous connecter à CodeCommit.

Version de l'API 2015-04-1312

Page 22: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉtape 4 : Connectez-vous au

CodeCommit et cloner le référentiel

Après avoir enregistré vos informations d'identification, choisissez Close.

Important

C'est votre seule occasion d'enregistrer le nom d'utilisateur et le mot de passe. Si vous ne lesenregistrez pas, vous pouvez copier le nom d'utilisateur depuis la console IAM, mais vous nepourrez pas rechercher le mot de passe. Vous devrez alors réinitialiser le mot de passe puisl'enregistrer.

Étape 4 : Connectez-vous au CodeCommit et cloner leréférentielSi un administrateur vous a déjà envoyé le nom et les détails de connexion pour le référentiel CodeCommit,vous pouvez ignorer cette étape et cloner directement le référentiel.

Pour vous connecter à un référentiel CodeCommit

1. Ouvrez la console CodeCommit à l'adresse https://console.aws.amazon.com/codesuite/codecommit/home.

2. Dans le sélecteur de région, choisissez la région AWS dans laquelle le référentiel a été créé. Lesréférentiels sont propres à une région AWS. Pour de plus amples informations, veuillez consulterRégions et points de terminaison de connexion Git (p. 423).

3. Trouvez le référentiel auquel vous souhaitez vous connecter dans la liste et choisissez-le. ChoisissezClone URL (Cloner URL), puis choisissez le protocole que vous souhaitez utiliser lors du clonage oude la connexion au référentiel. Cette opération copie l'URL de clonage.

• Copiez l'URL HTTPS si vous utilisez les informations d'identification Git avec l'utilisateur IAM oul'assistant d'informations d'identification inclus avec l'AWS CLI.

• Copiez l'URL HTTPS (GRC) si vous utilisez la commande git-remote-codecommit sur votreordinateur local.

• Copiez l'URL SSH si vous utilisez une paire de clés publique/privée SSH avec l'utilisateur IAM.

Version de l'API 2015-04-1313

Page 23: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉtapes suivantes

Note

Si vous voyez une page Welcome (Bienvenue) au lieu d'une liste de référentiels, celasignifie qu'il n'y a aucun référentiel associé à votre compte AWS dans la région AWS danslaquelle vous êtes connecté. Pour créer un référentiel, consultez the section called “Créationd'un référentiel ” (p. 96) ou suivez les étapes du didacticiel Mise en route avec Git etCodeCommit (p. 74).

4. Ouvrez un terminal, une ligne de commande ou le shell Git. Exécutez la commande git clone avecl'URL de clone HTTPS que vous avez copiée pour cloner le référentiel. Par exemple, pour cloner unréférentiel nommé MyDemoRepo vers un référentiel local nommé my-demo-repo dans le USA Est(Ohio) Région :

git clone https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo my-demo-repo

Lors de votre première connexion, vous êtes invité à indiquer le nom d'utilisateur et le mot de passeassociés au référentiel. Selon la configuration de votre ordinateur local, cette invite provient soit d'unsystème de gestion des informations d'identification associé au système d'exploitation (par exemple,Keychain Access pour macOS), d'un utilitaire de gestion des informations d'identification pour votreversion de Git (par exemple, le Gestionnaire d'informations d'identification Git inclus dans Git pourWindows), de votre IDE ou de Git lui-même. Saisissez le nom d'utilisateur et le mot de passe générésen tant qu'informations d'identification Git dans IAM (que vous avez créées dans Étape 3 : Créer desinformations d’identification Git pour les connexions HTTPS à CodeCommit (p. 11)). En fonctionde votre système d'exploitation et d'autres logiciels, ces données peuvent être enregistrées pourvous dans un stockage d'informations d'identification ou dans un utilitaire de gestion des informationsd'identification. Si tel est le cas, vous n'aurez plus besoin de les entrer sauf si vous changez de mot depasse, désactivez les informations d'identification Git ou supprimez les informations d'identification Gitdans IAM.

Si vous n'avez pas de stockage d'informations d'identification ou d'utilitaire de gestion des informationsd'identification configuré sur votre ordinateur local, vous pouvez en installer un. Pour en savoir plussur Git et sur la façon dont il gère les informations d'identification, consultez Stockage des informationsd'identification dans la documentation Git.

Pour de plus amples informations, veuillez consulter Connectez-vous au CodeCommit du référentiel enclonant le référentiel (p. 100) et Créer une validation (p. 232).

Étapes suivantesVous réunissez toutes les conditions prérequises. Suivez les étapes de Démarrez avec CodeCommit (p. 60) pour commencer à utiliser CodeCommit.

Pour savoir comment créer et transmettre votre première validation, consultez Créer une validationdansAWS CodeCommit (p. 232). Si vous débutez avec Git, vous pouvez également consulter lesinformations indiquées dans Où puis-je en savoir plus sur Git ? (p. 6) et Mise en route avec Git et AWSCodeCommit (p. 74).

Version de l'API 2015-04-1314

Page 24: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurPour les connexions HTTPS avec git-remote-codecommit

Étapes de configuration pour les connexionsHTTPS à AWS CodeCommit avec git-remote-codecommit

Si vous souhaitez vous connecter à CodeCommit à l’aide d’un compte racine, d’un accès fédéréou d’informations d’identification temporaires, vous devez configurer l’accès à l’aide de git-remote-codecommit. Cet utilitaire fournit une méthode simple pour transmettre et extraire le code de CodeCommitréférentiels en étendant Git. Il s'agit de la méthode recommandée pour prendre en charge les connexionsétablies avec des accès fédérés, des fournisseurs d'identité et des informations d'identification temporaires.Au lieu de créer un utilisateur IAM, vous pouvez utiliser des identités d'utilisateur préexistantes provenantd'AWS Directory Service, de l'annuaire d'utilisateurs de votre entreprise ou d'un fournisseur d'identitéweb. On parle alors d'utilisateurs fédérés. AWS attribue un rôle à un utilisateur fédéré lorsque l'accèsest demandé via un fournisseur d'identité. Pour de plus amples informations sur les utilisateurs fédérés,veuillez consulter Utilisateurs et rôles fédérés dans le IAM Guide de l'utilisateur.

Vous pouvez également utiliser git-remote-codecommit avec un utilisateur IAM. Contrairement aux autresméthodes de connexion HTTPS, git-remote-codecommit ne nécessite pas la configuration des informationsd'identification Git pour l'utilisateur.

Note

Certains IDEs ne prennent pas en charge le format de clone d’URL utilisé par git-remote-codecommit. Vous devrez peut-être cloner manuellement les référentiels sur votre ordinateurlocal avant de pouvoir les utiliser dans votre IDE préféré. Pour plus d'informations, consultez lasection Dépannage de git-remote-codecommit et AWS CodeCommit (p. 402).

Ces procédures supposent que vous disposez d'un compte AWS, que vous avez créé au moins unréférentiel dans CodeCommit et que votre utilisateur IAM est doté d'une stratégie gérée lors de laconnexion aux référentiels CodeCommit. Pour plus d'informations sur la configuration de l'accès pourles utilisateurs fédérés et d'autres types d'informations d'informations d'identification rotatives, consultezConnexion à AWS CodeCommit référentiels avec informations d’identification rotatives (p. 312).

Rubriques• Étape 0 : Installer les prérequis pour git-remote-codecommit (p. 15)• Étape 1 : Configuration initiale pour CodeCommit (p. 16)• Étape 2 : Installer git-remote-codecommit (p. 18)• Étape 3 : Connectez-vous au CodeCommit et cloner le référentiel (p. 19)• Étapes suivantes (p. 20)

Étape 0 : Installer les prérequis pour git-remote-codecommitAvant de pouvoir utiliser git-remote-codecommit, vous devez installer certaines conditions préalables survotre ordinateur local. Ils contiennent :

• Python (version 3 ou ultérieure) et son gestionnaire de paquets, pip, s'ils ne sont pas déjà installés. Pourtélécharger et installer la dernière version de Python, rendez-vous sur le site web Python.

• Git

Version de l'API 2015-04-1315

Page 25: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉtape 1 : Configuration initiale pour CodeCommit

Note

Lorsque vous installez Python sur Windows, assurez-vous de choisir l'option permettant d'ajouterPython au chemin d'accès.

git-remote-codecommit nécessite pip version 9.0.3 ou ultérieure. Pour vérifier votre version de pip, ouvrezun terminal ou une ligne de commande et exécutez la commande suivante :

pip --version

Vous pouvez exécuter les deux commandes suivantes pour mettre à jour votre version de pip :

curl -O https://bootstrap.pypa.io/get-pip.pypython3 get-pip.py --user

Pour travailler avec des fichiers, des validations, et d'autres informations dans des référentielsCodeCommit, vous devez installer Git sur votre ordinateur local. CodeCommit prend en charge les versionsGit 1.7.9 et version ultérieure. Nous vous recommandons d'utiliser une version récente de Git.

Pour installer Git, nous vous recommandons des sites web tels que Téléchargements Git.

Note

Git est une plateforme en constante évolution et régulièrement mise à jour. Parfois, la modificationd'une fonctionnalité peut affecter la façon dont elle fonctionne avec CodeCommit. Si vousrencontrez des problèmes avec une version spécifique de Git et CodeCommit, consultez lesinformations dans Dépannage (p. 401).

Étape 1 : Configuration initiale pour CodeCommitProcédez comme suit pour créer un utilisateur IAM, le configurer avec les stratégies appropriées, obtenirune clé d'accès et une clé secrète, et installer et configurer l'AWS CLI.

Pour créer et configurer un utilisateur IAM pour l'accès à CodeCommit

1. Créez un compte AWS en accédant à http://aws.amazon.com et en sélectionnant Sign Up (Seconnecter).

2. Créez un utilisateur IAM ou utilisez un utilisateur existant associé à votre compte AWS. Assurez-vous qu'un ID de clé d'accès et une clé d'accès secrète sont associés à l'utilisateur IAM. Pour plusd'informations, consultez la page Création d'un utilisateur IAM dans votre compte AWS.

Note

CodeCommit nécessite AWS Key Management Service. Si vous utilisez un utilisateurIAM existant, assurez-vous qu'il n'existe aucune stratégie attachée à l'utilisateur, refusantexplicitement les actions AWS KMS requises par CodeCommit. Pour plus d'informations,consultez la section AWS KMS et chiffrement (p. 311).

3. Connectez-vous à la AWS Management Console et ouvrez la console IAM à l'adresse https://console.aws.amazon.com/iam/.

4. Sur la console IAM, dans le volet de navigation, sélectionnez Users (Utilisateurs), puis l'utilisateur IAMque vous souhaitez configurer pour l'accès à CodeCommit.

5. Sous l'onglet Autorisations, choisissez Ajouter des autorisations.6. Pour Accorder des autorisations, choisissez Attacher directement les stratégies existantes.

Version de l'API 2015-04-1316

Page 26: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉtape 1 : Configuration initiale pour CodeCommit

7. Dans la liste des stratégies, sélectionnez AWSCodeCommitPowerUser ou une autre stratégie géréepour l'accès à CodeCommit. Pour plus d'informations, consultez la section Stratégies gérées par AWS(prédéfinies) pour CodeCommit (p. 329).

Une fois que vous avez sélectionné la stratégie que vous souhaitez attacher, choisissez Suivant :à revoir pour examiner la liste des stratégies à attacher à IAM utilisateur. Si la liste est correcte,choisissez Add permissions.

Pour plus d'informations sur les stratégies gérées CodeCommit et le partage de l'accès à desréférentiels avec d'autres groupes et utilisateurs, consultez Partager un référentiel (p. 102) etAuthentification et contrôle d'accès pour AWS CodeCommit (p. 321).

Pour installer et configurer le AWS CLI

1. Sur votre ordinateur local, téléchargez et installez l'AWS CLI. Il s'agit d'un prérequis pour l'interactionavec CodeCommit à partir de la ligne de commande. Pour plus d'informations, consultez Préparationde l'installation de l'interface de ligne de commande AWS.

Note

CodeCommit fonctionne uniquement avec les versions de l'AWS CLI1.7.38 et ultérieures.Il est recommandé d'installer ou de mettre à niveau la version de l'AWS CLI la plus récentedisponible. Pour déterminer quelle version de l'AWS CLI vous avez installée, exécutez lacommande aws --version.Pour mettre à niveau une ancienne version de l'AWS CLI vers la version la plus récente,consultez Installation de l'AWS Command Line Interface.

2. Exécutez la commande suivante pour vérifier que les commandes CodeCommit pour l'AWS CLI sontinstallées :

aws codecommit help

Cette commande doit renvoyer une liste de commandes CodeCommit.3. Configurez l'AWS CLI avec un profil à l'aide de la commande configure, comme suit :

aws configure

Lorsque vous y êtes invité, spécifiez la clé d'accès AWS et la clé d'accès secrète AWS de l'utilisateurIAM à utiliser avec CodeCommit. Veillez également à spécifier la région AWS dans laquelle leréférentiel existe, par exemple us-east-2. Lorsque vous êtes invité à saisir le format de sortie pardéfaut, spécifiez json. Par exemple :

AWS Access Key ID [None]: Type your target AWS access key ID here, and then press EnterAWS Secret Access Key [None]: Type your target AWS secret access key here, and then press EnterDefault region name [None]: Type a supported region for CodeCommit here, and then press EnterDefault output format [None]: Type json here, and then press Enter

Pour plus d'informations sur la création et la configuration des profils à utiliser avec l'AWS CLI,consultez les rubriques suivantes :

• Profils nommés• Utilisation d’un IAM Rôle dans le AWS CLI• Définition de la commande• Connexion à AWS CodeCommit référentiels avec informations d’identification rotatives (p. 312)Version de l'API 2015-04-13

17

Page 27: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉtape 2 : Installer git-remote-codecommit

Pour vous connecter à un référentiel ou à une ressource dans une autre région AWS, vous devezreconfigurer l'AWS CLI avec le nom de région par défaut. Les noms de région par défaut pris encharge pour CodeCommit sont notamment les suivants :

• us-east-2• us-east-1• eu-west-1• us-west-2• ap-northeast-1• ap-southeast-1• ap-southeast-2• eu-central-1• ap-northeast-2• sa-east-1• us-west-1• eu-west-2• ap-south-1• ca-central-1• us-gov-west-1• us-gov-east-1• eu-north-1• ap-east-1• me-south-1• cn-north-1• cn-northwest-1• eu-south-1

Pour plus d'informations sur CodeCommit et les régions AWS, consultezRégions et points determinaison de connexion Git (p. 423). Pour plus d'informations sur IAM, les clés d'accès et lesclés secrètes, consultez Comment puis-je obtenir des informations d'identification ? et Gestion desclés d'accès pour les utilisateurs IAM. Pour plus d’informations sur le AWS CLI et profils, voir Profilsnommés.

Étape 2 : Installer git-remote-codecommitSuivez ces étapes pour installer git-remote-codecommit.

Pour installer git-remote-codecommit

1. Depuis le terminal ou la ligne de commande, exécutez la commande suivante :

pip install git-remote-codecommit

Note

Selon votre système d'exploitation et votre configuration, vous devrez peut-être exécuter cettecommande avec des autorisations élevées, telles que sudo :Version de l'API 2015-04-13

18

Page 28: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉtape 3 : Connectez-vous au

CodeCommit et cloner le référentiel

sudo pip install git-remote-codecommit

2. Surveillez le processus d'installation jusqu'à ce qu'un message de confirmation similaire au suivants'affiche :

Successfully built git-remote-codecommit

Étape 3 : Connectez-vous au CodeCommit et cloner leréférentielSi un administrateur vous a déjà envoyé l'URL de clone à utiliser avec git-remote-codecommit pour leréférentiel CodeCommit, vous pouvez ignorer la connexion à la console et cloner directement le référentiel.

Pour vous connecter à un référentiel CodeCommit

1. Ouvrez la console CodeCommit à l'adresse https://console.aws.amazon.com/codesuite/codecommit/home.

2. Dans le sélecteur de région, choisissez la région AWS dans laquelle le référentiel a été créé. Lesréférentiels sont propres à une région AWS. Pour de plus amples informations, veuillez consulterRégions et points de terminaison de connexion Git (p. 423).

3. Trouvez le référentiel auquel vous souhaitez vous connecter dans la liste et choisissez-le. ChoisissezClone URL (Cloner URL), puis choisissez le protocole que vous souhaitez utiliser lors du clonage oude la connexion au référentiel. Cette opération copie l'URL de clonage.

• Copiez l'URL HTTPS si vous utilisez les informations d'identification Git avec l'utilisateur IAM oul'assistant d'informations d'identification inclus avec l'AWS CLI.

• Copiez l'URL HTTPS (GRC) si vous utilisez la commande git-remote-codecommit sur votreordinateur local.

• Copiez l'URL SSH si vous utilisez une paire de clés publique/privée SSH avec l'utilisateur IAM.

Note

Si vous voyez une page Welcome (Bienvenue) au lieu d'une liste de référentiels, celasignifie qu'il n'y a aucun référentiel associé à votre compte AWS dans la région AWS danslaquelle vous êtes connecté. Pour créer un référentiel, consultez the section called “Créationd'un référentiel ” (p. 96) ou suivez les étapes du didacticiel Mise en route avec Git etCodeCommit (p. 74).

4. À l'invite du terminal ou de la commande, clonez le référentiel avec la commande git clone. Utilisezl'URL git-remote-codecommit HTTPS que vous avez copiée et le nom du profil d'AWS CLI, si vousavez créé un profil nommé. Si vous ne spécifiez pas de profil, la commande utilise le profil par défaut.Le référentiel local est créé dans un sous-répertoire du répertoire dans lequel vous exécutez lacommande. Par exemple, pour cloner un référentiel nommé MyDemoRepo vers un référentiel localnommé my-demo-repo:

git clone codecommit://MyDemoRepo my-demo-repo

Pour cloner le même référentiel à l’aide d’un profil nommé CodeCommitProfile:

git clone codecommit://CodeCommitProfile@MyDemoRepo my-demo-repo

Version de l'API 2015-04-1319

Page 29: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉtapes suivantes

Pour cloner un référentiel dans une région AWS différente de celle configurée dans votre profil, incluezle nom de la région AWS. Exemple :

git clone codecommit::ap-northeast-1://MyDemoRepo my-demo-repo

Étapes suivantesVous réunissez toutes les conditions prérequises. Suivez les étapes de Démarrez avec CodeCommit (p. 60) pour commencer à utiliser CodeCommit.

Pour savoir comment créer et transmettre votre première validation, consultez Créer une validationdansAWS CodeCommit (p. 232). Si vous n’êtes pas encore familiarisé avec Git, vous voudrez peut-êtreégalement revoir les informations dans Où puis-je en savoir plus sur Git ? (p. 6) et Mise en route avec Git etAWS CodeCommit (p. 74).

Configurer des connexions à partir d’outilsde développement à l’aide d’informationsd’identification Git

Une fois que vous avez configuré des informations d'identification Git pour AWS CodeCommit dansla console IAM, vous pouvez les utiliser avec n'importe quel outil de développement prenant encharge les informations d'identification Git. Par exemple, vous pouvez configurer l’accès à votreCodeCommit référentiel dans AWS Cloud9, Visual Studio, Eclipse, Xcode, IntelliJou tout environnement dedéveloppement intégré (IDE) qui intègre les informations d’identification Git. Après avoir configuré l'accès,vous pouvez modifier votre code, valider vos modifications et effectuer des transferts directement à partirde l'IDE ou d'un autre outil de développement.

Note

Si vous accédez aux référentiels CodeCommit à l'aide d'un accès fédéré, d'informationsd'identification temporaires ou d'un fournisseur d'identités web, vous ne pouvez pas utiliser lesinformations d'identification Git. Nous vous recommandons de configurer votre ordinateur local àl'aide de la commande git-remote-codecommit. Cependant, pas tous IDEs sont entièrementcompatibles avec les assistants à distance Git tels que git-remote-codecommit. Si vous rencontrezdes problèmes, consultez Dépannage de git-remote-codecommit et AWS CodeCommit (p. 402).

Rubriques• Intégration de AWS Cloud9 avec AWS CodeCommit (p. 23)• Intégration de Visual Studio avec AWS CodeCommit (p. 27)• Intégration d'Eclipse à AWS CodeCommit (p. 30)

Lorsque l'IDE ou l'outil de développement vous demande le nom d'utilisateur et le mot de passe permettantde se connecter au référentiel CodeCommit, saisissez les informations d'identification Git dans les champsNom d'utilisateur et Mot de passe que vous avez créés dans IAM. Par exemple, si vous êtes invité à saisirun nom d'utilisateur et un mot de passe dans Eclipse, vous devez fournir vos informations d'identificationGit comme suit :

Version de l'API 2015-04-1320

Page 30: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurPour les connexions des outils de développement

Pour plus d'informations sur les régions AWS et les points de terminaison associés à CodeCommit,consultez Régions et points de terminaison de connexion Git (p. 423).

Vous pouvez également recevoir un message du système d'exploitation vous invitant à mémoriser votrenom d'utilisateur et votre mot de passe. Par exemple, dans Windows, vous devez entrer vos informationsd'identification Git comme ceci :

Pour en savoir plus sur la configuration d'informations d'identification Git pour un logiciel ou un outil dedéveloppement en particulier, consultez la documentation du produit concerné.

La liste suivante n’est pas exhaustive IDEs. Les liens sont fournis uniquement pour vous aider à en savoirplus sur ces outils. AWS n’est pas responsable du contenu de ces rubriques.

• AWS Cloud9 (p. 23)

Version de l'API 2015-04-1321

Page 31: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurPour les connexions des outils de développement

• Visual Studio

Vous pouvez également installer AWS Toolkit for Visual Studio. Pour plus d'informations, consultez lasection Intégration de Visual Studio avec AWS CodeCommit (p. 27).

• EGit avec Eclipse

Vous pouvez également installer AWS Toolkit for Eclipse. Pour plus d'informations, consultez la sectionIntégration d'Eclipse à AWS CodeCommit (p. 30).

Version de l'API 2015-04-1322

Page 32: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurIntégration de AWS Cloud9 avec AWS CodeCommit

• IntelliJ

• XCode

Intégration de AWS Cloud9 avec AWS CodeCommitVous pouvez utiliser AWS Cloud9 pour apporter des modifications au code dans un référentielCodeCommit. AWS Cloud9 contient un ensemble d'outils que vous pouvez utiliser pour écrire du code,ainsi que générer, exécuter, tester, déboguer et publier des logiciels. Vous pouvez cloner des référentielsexistants, créer des référentiels, valider et transférer les modifications de code à un référentiel, et bienplus encore, à partir de votre environnement de développement AWS Cloud9 EC2. L'environnement dedéveloppement AWS Cloud9 EC2 est généralement préconfiguré avec l'AWS CLI, un rôle Amazon EC2 etGit. Ainsi, dans la plupart des cas, vous pouvez exécuter quelques commandes simples et commencer àinteragir avec votre référentiel.

Pour utiliser AWS Cloud9 avec CodeCommit, vous avez besoin des éléments suivants :

• Un environnement de développement AWS Cloud9 EC2 s'exécutant sur Amazon Linux.• L'IDE AWS Cloud9 ouvert dans un navigateur.• Un utilisateur IAM avec l'une des stratégies gérées CodeCommit et l'une des stratégies gérées AWS

Cloud9 qui lui sont appliquées.

Pour plus d'informations, consultez Stratégies gérées par AWS (prédéfinies) pourCodeCommit (p. 329) et Présentation et obtention de vos informations d'identification de sécurité.

Version de l'API 2015-04-1323

Page 33: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurIntégration de AWS Cloud9 avec AWS CodeCommit

Rubriques• Étape 1 : Créez un AWS Cloud9 environnement de développement (p. 24)• Étape 2 : Configurer le AWS CLI de l’assistant d’informations d’identification sur votre AWS Cloud9

Environnement de développement EC2 (p. 25)• Étape 3 : Cloner un CodeCommit dans votre AWS Cloud9 Environnement de développement

EC2 (p. 26)• Étapes suivantes (p. 26)

Étape 1 : Créez un AWS Cloud9 environnement dedéveloppementAWS Cloud9 héberge votre environnement de développement sur une instance Amazon EC2. Il s'agit de lasolution la plus simple pour effectuer l'intégration, car vous pouvez utiliser les informations d'identificationtemporaires gérées par AWS pour l'instance à connecter à votre référentiel CodeCommit. Si voussouhaitez utiliser votre propre serveur, consultez le AWS Cloud9 Guide de l'utilisateur.

Pour créer un environnement AWS Cloud9.

1. Connectez-vous à AWS en utilisant l'utilisateur IAM que vous avez configuré et ouvrez la console AWSCloud9.

2. Dans la console AWS Cloud9, choisissez Créer environnement.3. dans Étape 1 : Nom de l’environnement, entrez un nom et une description facultative pour

l’environnement, puis choisissez Prochaine étape.4. dans Étape 2 : Configurer les paramètres, configurez votre environnement comme suit :

• Dans Environment type, choisissez Create a new instance for environment (EC2).• Dans Instance type, choisissez le type d'instance approprié pour votre environnement de

développement. Par exemple, si vous explorez simplement le service, vous pouvez choisir lavaleur par défaut t2.micro. Si vous avez l'intention d'utiliser cet environnement pour un travail dedéveloppement, choisissez un type d'instance offrant plus de capacité.

• Acceptez les autres paramètres par défaut sauf si vous avez des raisons de choisir autrement(par exemple, votre organisation utilise un VPC spécifique ou votre AWS compte n’a pas de VPCsconfiguré), puis choisissez Prochaine étape.

5. dans Étape 3 : à revoir, vérifiez vos paramètres. Choisissez Previous step si vous souhaitez effectuerdes modifications. Dans le cas contraire, choisissez Create environment.

La création d'un environnement et la connexion à ce dernier pour la première fois prend quelquesminutes. Si cette opération semble prendre un temps inhabituel, consultez Dépannage dans le Guidede l'utilisateur AWS Cloud9.

6. Une fois que vous êtes connecté à votre environnement, vérifiez si Git est déjà installé et si sa versionest prise en charge en exécutant la commande git --version dans la fenêtre de terminal.

Version de l'API 2015-04-1324

Page 34: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurIntégration de AWS Cloud9 avec AWS CodeCommit

Si Git n’est pas installé, ou s’il ne s’agit pas d’une version prise en charge, installez une version priseen charge. CodeCommit prend en charge les versions Git 1.7.9 et version ultérieure. Nous vousrecommandons d'utiliser une version récente de Git. Pour installer Git, nous recommandons des sitesWeb tels que Téléchargements Git.

Tip

Selon le système d'exploitation de votre environnement, vous pouvez utiliser la commandeyum avec l'option sudo pour installer les mises à jour, y compris Git. Par exemple, uneséquence de commandes d'administration peut ressembler aux trois commandes suivantes :

sudo yum -y updatesudo yum -y install gitgit --version

7. Configurez un nom d'utilisateur et une adresse e-mail à associer à vos validations Git en exécutant lacommande git config. Exemple :

git config --global user.name "Mary Major" git config --global user.email [email protected]

Étape 2 : Configurer le AWS CLI de l’assistant d’informationsd’identification sur votre AWS Cloud9 Environnement dedéveloppement EC2Une fois que vous avez créé un environnement AWS Cloud9, vous pouvez configurer l'assistantd'informations d'identification de l'AWS CLI pour gérer les informations d'identification pour les connexionsà votre référentiel CodeCommit. L'environnement de développement AWS Cloud9 est fourni avec desinformations d'identification temporaires gérées AWS qui sont associées à votre utilisateur IAM. Vousdevez utiliser ces informations d'identification avec l'assistant d'informations d'identification de l'AWS CLI.

1. Ouvrez la fenêtre de terminal et exécutez la commande suivante pour vérifier que l'AWS CLI estinstallée :

aws --version

Si la commande aboutit, elle renvoie la version actuellement installée de l'AWS CLI. Pour mettre àniveau une ancienne version de l'AWS CLI vers la version la plus récente, consultez Installation del'AWS Command Line Interface.

Version de l'API 2015-04-1325

Page 35: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurIntégration de AWS Cloud9 avec AWS CodeCommit

2. Sur le terminal, exécutez les commandes suivantes pour configurer l'assistant d'informationsd'identification de l'AWS CLI pour les connexions HTTPS :

git config --global credential.helper '!aws codecommit credential-helper $@'git config --global credential.UseHttpPath true

Tip

L'assistant d'informations d'identification utilise le rôle d'instance Amazon EC2 par défaut pourvotre environnement de développement. Si vous avez l'intention d'utiliser l'environnementde développement pour vous connecter à des référentiels qui ne sont pas hébergés dansCodeCommit, configurez des connexions SSH à ces référentiels ou configurez un fichier.gitconfig local pour utiliser un autre système de gestion des informations d'identificationlors de la connexion à ces autres référentiels. Pour plus d'informations, consultez Git Tools -Credential Storage sur le site web de Git.

Étape 3 : Cloner un CodeCommit dans votre AWS Cloud9Environnement de développement EC2Une fois que vous avez configuré l'assistant d'informations d'identification de l'AWS CLI, vous pouvezcloner votre référentiel CodeCommit dans celui-ci. Vous pouvez ensuite commencer à travailler sur le code.

1. Dans le terminal, exécutez la commande git clone en spécifiant l'adresse URL de clone HTTPS duréférentiel que vous souhaitez cloner. Par exemple, si vous souhaitez cloner un référentiel nomméMyDemoRepo dans la région USA Est (Ohio), vous devez saisir :

git clone https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo

Tip

Vous pouvez trouver l'URL de clone de votre référentiel dans la console CodeCommit. Pource faire, choisissez Clone URL (URL de clone).

2. Lorsque le clonage est terminé, dans le volet de navigation latéral, développez le dossier de votreréférentiel, puis choisissez le fichier que vous souhaitez ouvrir pour le modifier. Vous pouvezégalement choisir Fichier, puis New File (Nouveau fichier) pour créer un nouveau fichier.

3. Lorsque vous avez terminé la modification ou la création de fichiers, dans la fenêtre de terminal,basculez vers le référentiel cloné puis validez et transférez vos modifications. Par exemple, si vousavez ajouté un nouveau fichier nommé MyFile.py:

cd MyDemoRepogit commit -a MyFile.pygit commit -m "Added a new file with some code improvements"git push

Étapes suivantesPour de plus amples informations, veuillez consulter le Guide de l'utilisateur AWS Cloud9. Pour plusd'informations sur l'utilisation de Git avec CodeCommit, consultez Mise en route avec Git et AWSCodeCommit (p. 74).

Version de l'API 2015-04-1326

Page 36: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurIntégration de Visual Studio avec AWS CodeCommit

Intégration de Visual Studio avec AWS CodeCommitVous pouvez utiliser Visual Studio pour effectuer des modifications de code dans un référentielCodeCommit. AWS Toolkit for Visual Studio comprend désormais des fonctions qui facilitent l'utilisationd'CodeCommit lorsque vous travaillez dans Visual Studio Team Explorer. L'intégration Toolkit for VisualStudio est conçue pour fonctionner avec les informations d'identification Git d'un utilisateur IAM. Vouspouvez créer des référentiels, les cloner, valider les modifications de code, les transmettre à un référentiel,et bien plus encore.

Important

Toolkit for Visual Studio est uniquement compatible avec les systèmes d'exploitation Windows.

Si vous avez déjà utilisé Toolkit for Visual Studio, vous savez probablement configurer des profilsd'informations d'identification AWS qui contiennent une clé d'accès et une clé secrète. Les profilsd’informations d’identification sont utilisés dans le Toolkit for Visual Studio pour activer les appels vers AWSservice APIs (par exemple, pour Amazon S3 pour répertorier les compartiments ou pour CodeCommit pourrépertorier les référentiels). Pour extraire et transférer le code à un référentiel CodeCommit, vous devezégalement disposer d'informations d'identification Git. Si vous n'en avez pas, Toolkit for Visual Studio peutgénérer et appliquer les informations d'identification Git pour vous. Cela peut vous permettre de gagnerbeaucoup de temps.

Pour utiliser Visual Studio avec CodeCommit, vous avez besoin des éléments suivants :

• Un utilisateur IAM avec un ensemble valide d'informations d'identification (clé d'accès et clé secrète)configurées pour cela. Cet utilisateur IAM doit également remplir les critères suivants :

L'une des stratégies gérées CodeCommit et la stratégie géréeIAMSelfManageServiceSpecificCredentials doivent lui être appliquées.

OU

Si l'utilisateur IAM possède déjà des informations d'identification Git configurées, l'une des stratégiesgérées CodeCommit ou des autorisations équivalentes.

Pour plus d'informations, consultez Stratégies gérées par AWS (prédéfinies) pourCodeCommit (p. 329) et Présentation et obtention de vos informations d'identification de sécurité.

• AWS Toolkit for Visual Studio installé sur l'ordinateur où vous avez installé Visual Studio. Pour plusd'informations, consultez Configuration de AWS Toolkit for Visual Studio.

Rubriques• Étape 1 : Obtenez un aà l’arrêt key et sde l’écrét kpour ynotre IAM user (p. 27)• Étape 2 : Installation AWS Toolkit for Visual Studio et cà CodeCommit (p. 28)• Cloner un CodeCommit rde l’espace de stockage Visual Studio (p. 29)• Créer un CodeCommit rde l’espace de stockage Visual Studio (p. 30)• Utilisation de CodeCommit repositories (p. 30)

Étape 1 : Obtenez un aà l’arrêt key et sde l’écrét kpour ynotreIAM userSi aucun profil d'informations d'identification n'est configuré sur l'ordinateur sur lequel Visual Studio estinstallé, vous pouvez en configurer un avec l'AWS CLI et la commande aws configure. Vous pouvezégalement suivre la procédure ci-dessous pour créer et télécharger vos informations d'identification.Fournissez-les à Toolkit for Visual Studio lorsque vous y êtes invité.

Version de l'API 2015-04-1327

Page 37: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurIntégration de Visual Studio avec AWS CodeCommit

Les clés d'accès se composent d'un ID de clé d'accès et d'une clé d'accès secrète, qui permettent designer les demandes par programme auprès des services AWS. Si vous n'avez pas de clé d'accès, vouspouvez en créer dans AWS Management Console. À titre de bonne pratique, n'utilisez pas les clés d'accèsUtilisateur racine d'un compte AWS pour une tâche lorsque cela n'est pas nécessaire. À la place créez unutilisateur administrateur IAM avec les clés d'accès pour vous-même.

Vous pouvez uniquement afficher ou télécharger les clés d'accès secrètes lorsque vous les créez. Vousne pouvez pas les récupérer plus tard. Cependant, vous pouvez créer de nouvelles clés d'accès à toutmoment. Vous devez également disposer des autorisations permettant d'effectuer les opérations IAMnécessaires. Pour de plus amples informations, veuillez consulter Autorisations requises pour accéder auxressources IAM dans le manuel IAM Guide de l'utilisateur.

Pour créer des clés d'accès pour un utilisateur IAM

1. Connectez-vous à la AWS Management Console et ouvrez la console IAM à l'adresse https://console.aws.amazon.com/iam/.

2. Dans le volet de navigation, sélectionnez Utilisateurs.3. Choisissez le nom utilisateur dont vous souhaitez gérer les clés d'accès, puis sélectionnez l'onglet

Security credentials (Informations d'identification de sécurité).4. Dans la section Access keys (Clés d'accès), cliquez sur Create access key (Créer une clé d'accès).5. Pour afficher la nouvelle clé d'accès, choisissez Show (Afficher). Vous ne pourrez pas accéder à la

clé d'accès secrète à nouveau une fois que cette boîte de dialogue se sera fermée. Vos informationsd'identification s'afficheront comme suit :

• ID de clé d'accès : AKIAIOSFODNN7EXAMPLE• Clé d'accès secrète : wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

6. Pour télécharger la paire de clés, choisissez Télécharger le fichier .csv. Stockez les clés dans unemplacement sûr. Vous ne pourrez pas accéder à la clé d'accès secrète à nouveau une fois que cetteboîte de dialogue se sera fermée.

Préservez la confidentialité des clés afin de protéger votre compte AWS et ne les envoyez jamais pare-mail. Ne les divulguez à personne hors de votre entreprise, même si vous recevez une demandequi semble provenir d'AWS ou d'Amazon.com. Aucun véritable représentant d'Amazon ne vousdemandera jamais de lui fournir votre clé secrète.

7. Après avoir téléchargé le fichier .csv, choisissez Close (Fermer). Lorsque vous créez une clé d'accès,la paire de clés est activée par défaut et vous pouvez utiliser la paire immédiatement.

Voir aussi

• Qu'est-ce que l'IAM? dans le IAM Guide de l'utilisateur• Informations d'identification de sécurité AWS dans AWS General Reference

Étape 2 : Installation AWS Toolkit for Visual Studio et càCodeCommitToolkit for Visual Studio est un ensemble de logiciel que vous pouvez ajouter à Visual Studio. Une fois quevous l'avez installé, vous pouvez vous connecter à CodeCommit dans Visual Studio via Team Explorer.

Pour installer Toolkit for Visual Studio avec le module AWS CodeCommit et configurer l'accès àvotre référentiel de projet

1. Installez Visual Studio sur votre ordinateur local si une version prise en charge n'est pas déjà installée.2. Téléchargez et installez Toolkit for Visual Studio, puis enregistrez le fichier dans un dossier ou un

répertoire local. Ouvrez ce fichier pour lancer l'assistant d'installation. Lorsque vous y êtes invité sur

Version de l'API 2015-04-1328

Page 38: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurIntégration de Visual Studio avec AWS CodeCommit

la page Getting Started with the (Démarrer avec) AWS Toolkit for Visual Studio, saisissez ou importezvos informations d'identification AWS (clé d'accès et clé secrète), puis choisissez Save and Close(Enregistrer et fermer).

3. Dans Visual Studio, ouvrez Team Explorer. Dans Hosted Service Providers (Fournisseurs de servicehébergés), recherchez AWS CodeCommit, puis choisissez Connect (Connexion).

4. Procédez de l'une des façons suivantes :

• Si un seul profil d'informations d'identification est configuré sur votre ordinateur, Toolkit for VisualStudio l'applique automatiquement. Aucune action n'est requise. Le volet de connexion AWSCodeCommit s'affiche dans Team Explorer.

• Si plusieurs profils d'informations d'identification sont configurés sur votre ordinateur, vous devezchoisir celui que vous souhaitez utiliser. Choisissez le profil associé à l'utilisateur IAM que vousutiliserez pour vous connecter aux référentiels CodeCommit, puis choisissez OK.

• Si aucun profil n'est configuré, une boîte de dialogue s'affiche et vous demande vos informationsd'identification de sécurité AWS (clé d'accès et clé secrète). Saisissez-les ou importez-les, puischoisissez OK.

Une fois que vous êtes connecté avec un profil, le volet de connexion AWS CodeCommit s'affiche dansTeam Explorer et inclut des options vous permettant de créer des référentiels, d'en cloner ou de vousdéconnecter. Choisissez Cloner pour cloner un référentiel CodeCommit existant sur votre ordinateur localafin de pouvoir commencer à travailler sur le code. Il s'agit de l'option la plus fréquemment utilisée.

Si vous n'avez aucun référentiel, ou si vous souhaitez en créer un autre, choisissez Créer. Pourplus d'informations, consultez la section Créer un CodeCommit rde l’espace de stockage VisualStudio (p. 30).

Cloner un CodeCommit rde l’espace de stockage Visual StudioUne fois que vous êtes connecté à CodeCommit, vous pouvez cloner un référentiel afin de l'utiliser en localsur votre ordinateur. Vous pouvez ensuite commencer à travailler sur le code.

1. Dans Manage Connections, choisissez Clone. Dans Région, choisissez la région AWS dans laquellele référentiel a été créé dans CodeCommit. Choisissez le référentiel de votre projet et le dossier danslequel vous souhaitez cloner le référentiel sur votre ordinateur local, puis choisissez OK.

2. Si vous êtes invité à créer des informations d'identification Git, choisissez Oui. AWSToolkit tente de créer des informations d'identification en votre nom. La stratégieIAMSelfManageServiceSpecificCredentials ou les autorisations équivalentes doivent être appliquées àl'utilisateur IAM. Lorsque vous y êtes invité, enregistrez le fichier d'informations d'identification dans unemplacement sûr. C'est votre seule occasion d'enregistrer ces informations d'identification Git.

Si AWS Toolkit ne parvient pas à créer des informations d'identification Git en votre nom ou sivous choisissez Non, vous devez créer et fournir vos propres informations d'identification Git. Pourplus d'informations, consultez Pour les utilisateurs HTTPS utilisant des informations d’identificationGit (p. 10) ou suivez les instructions en ligne.

3. Lorsque vous avez terminé de cloner le projet, vous êtes prêt à commencer à modifier votre codedans Visual Studio et à valider et transmettre vos modifications au référentiel de votre projet dansCodeCommit.

Version de l'API 2015-04-1329

Page 39: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurIntégration d'Eclipse à AWS CodeCommit

Créer un CodeCommit rde l’espace de stockage Visual StudioVous pouvez créer des référentiels CodeCommit depuis à partir de Visual Studio avec Toolkit for VisualStudio. Dans le cadre de la création du référentiel, vous devez également le cloner en local sur votreordinateur afin de pouvoir commencer à l'utiliser immédiatement.

1. Dans Gérer les connexions, choisissez Créer.2. Dans Région, choisissez la région AWS dans laquelle vous souhaitez créer le référentiel. Les

référentiels CodeCommit sont organisés par région AWS.3. Dans Nom, saisissez un nom pour ce référentiel. Les nom de référentiel doivent être uniques dans

un compte AWS. Ils sont soumis à des limites de caractères et de longueur. Pour plus d'informations,consultez la section Quotas (p. 432). Dans Description, saisissez une description facultative pour ceréférentiel. La description permet aux autres utilisateurs de déterminer l'utilité du référentiel et de ledifférencier des autres référentiels de la région.

4. Dans Clone into (Cloner vers), saisissez ou indiquez le dossier ou le répertoire dans lequel voussouhaitez cloner ce référentiel sur votre ordinateur local. Visual Studio clone automatiquement leréférentiel après sa création et génère le référentiel local à l'emplacement que vous choisissez.

5. Lorsque vous êtes satisfait de vos choix, choisissez OK.6. Si vous êtes invité à créer des informations d'identification Git, choisissez Oui. AWS

Toolkit tente de créer des informations d'identification en votre nom. La stratégieIAMSelfManageServiceSpecificCredentials ou les autorisations équivalentes doivent être appliquées àl'utilisateur IAM. Lorsque vous y êtes invité, enregistrez le fichier d'informations d'identification dans unemplacement sûr. C'est votre seule occasion d'enregistrer ces informations d'identification Git.

Si AWS Toolkit ne parvient pas à créer des informations d'identification Git en votre nom ou sivous choisissez Non, vous devez créer et fournir vos propres informations d'identification Git. Pourplus d'informations, consultez Pour les utilisateurs HTTPS utilisant des informations d’identificationGit (p. 10) ou suivez les instructions en ligne.

Utilisation de CodeCommit repositoriesUne fois que vous êtes connecté à CodeCommit, une liste des référentiels associés à votre compteAWS s'affiche. Vous pouvez parcourir le contenu de ces référentiels dans Visual Studio. Ouvrez le menucontextuel du référentiel qui vous intéresse, puis choisissez Browse in Console.

Les opérations Git dans Visual Studio pour les référentiels CodeCommit fonctionnent exactement de lamême façon que pour les autres référentiels Git. Vous pouvez effectuer des modifications de code, ajouterdes fichiers et créer des validations locales. Lorsque vous êtes prêt à partager les validations, utilisezl'option Sync dans Team Explorer pour les transmettre au référentiel CodeCommit. Étant donné que vosinformations d'identification Git d'utilisateur IAM sont déjà stockées localement et associées à votre profild'informations d'identification AWS, vous ne devez pas les renseigner à nouveau lorsque vous transmettezles validations à CodeCommit.

Pour de plus amples informations sur l'utilisation de Toolkit for Visual Studio, consultez Guide de l'utilisateurAWS Toolkit for Visual Studio.

Intégration d'Eclipse à AWS CodeCommitVous pouvez utiliser Eclipse pour apporter des modifications au code dans un référentiel CodeCommit.L'intégration Toolkit for Eclipse est conçue pour fonctionner avec les informations d'identification Git d'unutilisateur IAM. Vous pouvez créer des référentiels, les cloner, valider les modifications de code, lestransmettre à un référentiel, et bien plus encore.

Pour utiliser Toolkit for Eclipse avec CodeCommit, vous avez besoin des éléments suivants :

Version de l'API 2015-04-1330

Page 40: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurIntégration d'Eclipse à AWS CodeCommit

• Eclipse installé sur votre ordinateur local.• Un utilisateur IAM avec un ensemble valide d'informations d'identification (clé d'accès et clé secrète)

configurées pour cela. Cet utilisateur IAM doit également remplir les critères suivants :

L'une des stratégies gérées CodeCommit et la stratégie géréeIAMSelfManageServiceSpecificCredentials doivent lui être appliquées.

OU

Si l'utilisateur IAM possède déjà des informations d'identification Git configurées, l'une des stratégiesgérées CodeCommit ou des autorisations équivalentes.

Pour plus d'informations, consultez Stratégies gérées par AWS (prédéfinies) pourCodeCommit (p. 329) et Présentation et obtention de vos informations d'identification de sécurité.

• Un ensemble actif d'informations d'identification Git configurées pour l'utilisateur dans IAM. Pourplus d'informations, consultez la section Étape 3 : Créer des informations d’identification Git pour lesconnexions HTTPS à CodeCommit (p. 11).

Rubriques• Étape 1 : Obtenez un aà l’arrêt key et sde l’écrét kpour ynotre IAM user (p. 31)• Étape 2 : Installation AWS Toolkit for Eclipse et cà CodeCommit (p. 32)• Cloner un CodeCommit repository d’Eclipse (p. 33)• Créer un CodeCommit repository d’Eclipse (p. 34)• Utilisation de CodeCommit repositories (p. 35)

Étape 1 : Obtenez un aà l’arrêt key et sde l’écrét kpour ynotreIAM userSi aucun profil d'informations d'identification n'est configuré sur l'ordinateur sur lequel Eclipse est installé,vous pouvez en configurer un avec l'AWS CLI et la commande aws configure. Vous pouvez égalementsuivre la procédure ci-dessous pour créer et télécharger vos informations d'identification. Fournissez-les àToolkit for Eclipse lorsque vous y êtes invité.

Les clés d'accès se composent d'un ID de clé d'accès et d'une clé d'accès secrète, qui permettent designer les demandes par programme auprès des services AWS. Si vous n'avez pas de clé d'accès, vouspouvez en créer dans AWS Management Console. À titre de bonne pratique, n'utilisez pas les clés d'accèsUtilisateur racine d'un compte AWS pour une tâche lorsque cela n'est pas nécessaire. À la place créez unutilisateur administrateur IAM avec les clés d'accès pour vous-même.

Vous pouvez uniquement afficher ou télécharger les clés d'accès secrètes lorsque vous les créez. Vousne pouvez pas les récupérer plus tard. Cependant, vous pouvez créer de nouvelles clés d'accès à toutmoment. Vous devez également disposer des autorisations permettant d'effectuer les opérations IAMnécessaires. Pour de plus amples informations, veuillez consulter Autorisations requises pour accéder auxressources IAM dans le manuel IAM Guide de l'utilisateur.

Pour créer des clés d'accès pour un utilisateur IAM

1. Connectez-vous à la AWS Management Console et ouvrez la console IAM à l'adresse https://console.aws.amazon.com/iam/.

2. Dans le volet de navigation, sélectionnez Utilisateurs.3. Choisissez le nom utilisateur dont vous souhaitez gérer les clés d'accès, puis sélectionnez l'onglet

Security credentials (Informations d'identification de sécurité).

Version de l'API 2015-04-1331

Page 41: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurIntégration d'Eclipse à AWS CodeCommit

4. Dans la section Access keys (Clés d'accès), cliquez sur Create access key (Créer une clé d'accès).5. Pour afficher la nouvelle clé d'accès, choisissez Show (Afficher). Vous ne pourrez pas accéder à la

clé d'accès secrète à nouveau une fois que cette boîte de dialogue se sera fermée. Vos informationsd'identification s'afficheront comme suit :

• ID de clé d'accès : AKIAIOSFODNN7EXAMPLE• Clé d'accès secrète : wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

6. Pour télécharger la paire de clés, choisissez Télécharger le fichier .csv. Stockez les clés dans unemplacement sûr. Vous ne pourrez pas accéder à la clé d'accès secrète à nouveau une fois que cetteboîte de dialogue se sera fermée.

Préservez la confidentialité des clés afin de protéger votre compte AWS et ne les envoyez jamais pare-mail. Ne les divulguez à personne hors de votre entreprise, même si vous recevez une demandequi semble provenir d'AWS ou d'Amazon.com. Aucun véritable représentant d'Amazon ne vousdemandera jamais de lui fournir votre clé secrète.

7. Après avoir téléchargé le fichier .csv, choisissez Close (Fermer). Lorsque vous créez une clé d'accès,la paire de clés est activée par défaut et vous pouvez utiliser la paire immédiatement.

Voir aussi

• Qu'est-ce que l'IAM? dans le IAM Guide de l'utilisateur• Informations d'identification de sécurité AWS dans AWS General Reference

Étape 2 : Installation AWS Toolkit for Eclipse et cà CodeCommitLe logiciel Toolkit for Eclipse est un package logiciel que vous pouvez ajouter à Eclipse. Une fois que vousl'avez installé et configuré avec votre profil d'informations d'identification AWS, vous pouvez vous connecterà CodeCommit depuis AWS Explorer dans Eclipse.

Pour installer Toolkit for Eclipse avec le module AWS CodeCommit et configurer l'accès à votreréférentiel de projet

1. Installez Toolkit for Eclipse sur votre ordinateur local si une version prise en charge n'est pas déjàinstallée. Si vous devez mettre à jour votre version de Toolkit for Eclipse, suivez les instructionsfournies dans Configurer AWS Toolkit.

2. Dans Eclipse, suivez les instructions initiales d'exécution ou ouvrez les Préférences dans le menuEclipse (l'emplacement précis varie en fonction de votre système d'exploitation et de la version) etchoisissez Boîte à outils AWS.

3. Procédez de l'une des façons suivantes :

• Si vous exécutez les instructions initiales d'exécution, fournissez vos informations d'identification desécurité AWS lorsque vous êtes invité à configurer votre profil d'informations d'identification.

• Si vous effectuez la configuration dans Préférences et qu'un profil d'informations d'identification estdéjà configuré sur votre ordinateur, sélectionnez-le dans Profil par défaut.

• Si vous effectuez la configuration dans Préférences et que vous ne voyez pas le profil que voussouhaitez utiliser, ou si la liste est vide, choisissez Add profile. Dans Profile Details (Détails de profil),saisissez un nom pour le profil et les informations d'identification de l'utilisateur IAM (clé d'accès etclé secrète) ou saisissez l'emplacement du fichier d'informations d'identification.

• Si vous effectuez la configuration dans Préférences et qu'aucun profil n'est configuré, utilisezles liens pour créer un compte ou pour gérer vos informations d'identification de sécurité AWSexistantes.

4. Dans Eclipse, développez le champ Boîte à outils AWS et choisissez à l’aide d’ CodeCommit.Choisissez votre profil d’informations d’identification, puis saisissez le nom d’utilisateur et le mot de

Version de l'API 2015-04-1332

Page 42: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurIntégration d'Eclipse à AWS CodeCommit

passe de vos informations d’identification Git ou importez-les à partir du fichier.csv. Choisissez Apply,puis OK.

Une fois que vous êtes connecté avec un profil, le volet de connexion AWS CodeCommit s'affiche dansTeam Explorer et inclut des options vous permettant de créer des référentiels, d'en cloner ou de vousdéconnecter. Choisissez Cloner pour cloner un référentiel CodeCommit existant sur votre ordinateur localafin de pouvoir commencer à travailler sur le code. Il s'agit de l'option la plus fréquemment utilisée.

Si vous n'avez aucun référentiel, ou si vous souhaitez en créer un autre, choisissez Créer.

Cloner un CodeCommit repository d’EclipseUne fois que vous avez configuré vos informations d'identification, vous pouvez cloner un référentiel dansun référentiel local de votre ordinateur en l'extrayant dans Eclipse. Vous pouvez ensuite commencer àtravailler sur le code.

1. Dans Eclipse, ouvrez AWS Explorer. Pour plus d'informations sur son emplacement, consultezComment accéder à AWS Explorer. Développez AWS CodeCommit et choisissez le référentielCodeCommit que vous souhaitez utiliser. Vous pouvez consulter l'historique des validations et d'autresdétails du référentiel, ce qui peut vous aider à déterminer s'il s'agit du référentiel et de la branche quevous souhaitez cloner.

Note

Si vous ne voyez pas votre référentiel, choisissez l'icône de drapeau pour ouvrir le menu desrégions AWS et choisir la région AWS dans laquelle le référentiel a été créé.

Version de l'API 2015-04-1333

Page 43: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurIntégration d'Eclipse à AWS CodeCommit

2. Choisissez Check out et suivez les instructions pour cloner le référentiel sur votre ordinateur local.3. Lorsque vous avez terminé de cloner le projet, vous pouvez commencer à modifier le code dans

Eclipse et à préparer, valider et transmettre vos modifications au référentiel de votre projet dansCodeCommit.

Créer un CodeCommit repository d’EclipseVous pouvez créer des référentiels CodeCommit depuis Eclipse avec le Toolkit for Eclipse. Dans le cadrede la création du référentiel, vous devez également le cloner en local sur votre ordinateur afin de pouvoircommencer à l'utiliser immédiatement.

1. Dans AWS Explorer, cliquez avec le bouton droit à l’aide d’ CodeCommit, puis choisissez Créer unréférentiel.

Note

Les référentiels sont propres à une région. Avant de créer le référentiel, assurez-vous que larégion AWS correcte est sélectionnée. Vous ne pouvez pas choisir la région AWS après avoirentamé le processus de création du référentiel.

2. Dans Nom du référentiel, saisissez un nom pour ce référentiel. Les nom de référentiel doivent êtreuniques dans un compte AWS. Ils sont soumis à des limites de caractères et de longueur. Pour plusd'informations, consultez la section Quotas (p. 432). Dans Repository Description (Description duréférentiel), saisissez une description facultative pour ce référentiel. La description permet aux autresutilisateurs de déterminer l'utilité de ce référentiel et de le différencier des autres référentiels de larégion. Choisissez OK.

3. Dans AWS Explorer, développez AWS CodeCommit, puis choisissez le référentiel CodeCommit quevous venez de créer. Vous verrez que ce référentiel n'a aucun historique de validation. ChoisissezCheck out et suivez les instructions pour cloner le référentiel sur votre ordinateur local.

Version de l'API 2015-04-1334

Page 44: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurPour les utilisateurs SSH qui n’utilisent pas l’ AWS CLI

Utilisation de CodeCommit repositoriesUne fois que vous êtes connecté à CodeCommit, une liste des référentiels associés à votre comptes'affiche par région AWS dans AWS Explorer. Choisissez le drapeau pour changer de région.

Note

CodeCommit n'est pas toujours disponible dans toutes les régions AWS prises en charge parToolkit for Eclipse.

Dans Toolkit for Eclipse, vous pouvez parcourir le contenu de ces référentiels à partir du menu des vuesNavigation et Package Explorer. Pour ouvrir un fichier, choisissez-le dans la liste.

Les opérations Git dans Toolkit for Eclipse pour les référentiels CodeCommit fonctionnent exactement de lamême façon que pour les autres référentiels Git. Vous pouvez effectuer des modifications de code, ajouterdes fichiers et créer des validations locales. Lorsque vous êtes prêt au partage, utilisez l'option Git Stagingpour les transmettre vos commits au référentiel CodeCommit. Si vous n'avez pas configuré les informationsd'auteur et de valideur dans un profil Git, vous pouvez le faire avant la validation et la soumission. Étantdonné que vos informations d'identification Git d'utilisateur IAM sont déjà stockées localement et associéesà votre profil d'informations d'identification AWS, vous ne devez pas les renseigner à nouveau lorsque voustransmettez les validations à CodeCommit.

Pour de plus amples informations sur l'utilisation de Toolkit for Eclipse, consultez Guide de démarrageAWS Toolkit for Eclipse.

pour les utilisateurs SSH n’utilisant pas l’ AWS CLISi vous souhaitez utiliser des connexions SSH pour votre référentiel, vous pouvez vous connecter àAWS CodeCommit sans avoir à installer l'AWS CLI. L'AWS CLI comprend des commandes qui sontutiles lorsque vous utilisez et gérez des référentiels CodeCommit, mais elle n'est pas requise pour laconfiguration initiale.

Cette rubrique suppose que :

• Vous avez configuré un IAM utilisateur avec les stratégies ou autorisations requises pour CodeCommitet le IAMUserSSHKeys stratégie gérée ou autorisations équivalentes requises pour charger les clés.Pour plus d'informations, consultez la section Utilisation de stratégies basées sur l’identité (IAM ) pourCodeCommit (p. 327).

• Vous disposez déjà d'une paire de clés publique/privée, ou vous savez comment en créer une. Nousvous recommandons vivement d'utiliser une phrase passe sécurisée pour votre clé SSH.

• Vous êtes familiarisé avec SSH, votre client Git et ses fichiers de configuration.• Si vous utilisez Windows, vous avez installé un utilitaire de ligne de commande, tel que Git Bash, qui

émule le shell bash.

Si vous avez besoin de conseils supplémentaires, suivez les instructions de Pour les connexions SSHsousLinux, macOS, or Unix (p. 37) ou Pour les connexions SSH sous Windows (p. 42).

Rubriques• Étape 1 : Associez votre clé publique à votre IAM utilisateur (p. 36)• Étape 2 : Ajouter CodeCommit à votre configuration SSH (p. 36)• Étapes suivantes (p. 37)

Version de l'API 2015-04-1335

Page 45: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉtape 1 : Associez votre clé publique à votre IAM utilisateur

Étape 1 : Associez votre clé publique à votre IAMutilisateur1. Connectez-vous à la AWS Management Console et ouvrez la console IAM à l'adresse https://

console.aws.amazon.com/iam/.2. Sur la console IAM, dans le volet de navigation, sélectionnez Users (Utilisateurs), et dans la liste

d'utilisateurs, sélectionnez votre utilisateur IAM.3. Sur l'onglet Security Credentials, choisissez Upload SSH public key.4. Collez le contenu de votre clé publique SSH dans le champ, puis sélectionnez Upload SSH Key.

Tip

La paire de clés publique-privée doit être SSH-2 RSA, dans OpenSSH et contiennent 2048 bits. La clé ressemble à ceci :

ssh-rsa EXAMPLE-AfICCQD6m7oRw0uXOjANBgkqhkiG9w0BAQUFADCBiDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6b24xFDASBgNVBAsTC0lBTSBDb25zb2xlMRIwEAYDVQQDEwlUZXN0Q2lsYWMxHzAdBgkqhkiG9w0BCQEWEG5vb25lQGFtYXpvbi5jb20wHhcNMTEwNDI1MjA0NTIxWhcNMTIwNDI0MjA0NTIxWjCBiDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6b24xFDAS=EXAMPLE user-name@ip-192-0-2-137

IAM accepte les clés publiques dans le OpenSSH format uniquement. Si vous fournissezvotre clé publique dans un autre format, un message d'erreur vous indique que le format declé n'est pas valide.

5. Copiez l’ID de clé SSH (par exemple, APKAEIBAERJR2EXAMPLE) et fermez la console.

Étape 2 : Ajouter CodeCommit à votre configurationSSH1. Depuis le terminal (Linux, macOS, or Unix) ou de l'émulateur bash (Windows), modifiez votre fichier de

configuration SSH en tapant cat>> ~/.ssh/config :

Host git-codecommit.*.amazonaws.comUser Your-SSH-Key-ID, such as APKAEIBAERJR2EXAMPLEIdentityFile Your-Private-Key-File, such as ~/.ssh/codecommit_rsa or ~/.ssh/id_rsa

Tip

Si vous avez plusieurs configurations SSH, veillez à inclure les lignes vides avant et après lecontenu. Enregistrez le fichier en appuyant simultanément sur les touches Ctrl et d.

2. Exécutez la commande suivante pour tester votre configuration SSH :

Version de l'API 2015-04-1336

Page 46: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉtapes suivantes

ssh git-codecommit.us-east-2.amazonaws.com

Saisissez la phrase passe pour votre fichier de clé SSH lorsque vous y êtes invité. Si tout estcorrectement configuré, vous devez voir le message de réussite suivant :

You have successfully authenticated over SSH. You can use Git to interact with CodeCommit. Interactive shells are not supported. Connection to git-codecommit.us-east-2.amazonaws.com closed by remote host.

Étapes suivantesVous réunissez toutes les conditions prérequises. Suivez les étapes de Démarrez avec CodeCommit (p. 60) pour commencer à utiliser CodeCommit.

Pour vous connecter à un référentiel, suivez les étapes de Connexion à un référentiel (p. 99). Pour créerun référentiel, suivez les étapes de Création d'un référentiel (p. 96).

Étapes de configuration des connexions SSH auxAWS CodeCommit référentiels sousLinux, macOS,or Unix

Avant de vous connecter à CodeCommit pour la première fois, vous devez effectuer certaines étapes deconfiguration initiale. Une fois que vous avez configuré votre ordinateur et votre profil AWS, vous pouvezvous connecter à un CodeCommit référentiel et cloner ce référentiel sur votre ordinateur (également appelécréation d'un référentiel local). Si vous débutez avec Git, vous pouvez également consulter les informationsde Où puis-je en savoir plus sur Git ? (p. 6).

Rubriques• Étape 1 : Configuration initiale pourCodeCommit (p. 37)• Étape 2 : Installer Git (p. 38)• Step3 : Configuration des informations d'identification surLinux, macOS, or Unix (p. 38)• Étape 4 : Se connecter à la CodeCommit console et cloner le référentiel (p. 41)• Étapes suivantes (p. 42)

Étape 1 : Configuration initiale pourCodeCommitProcédez comme suit pour configurer un compte AWS, créer un utilisateur IAM et configurer l'accès àCodeCommit.

Pour créer et configurer un utilisateur IAM pour l'accès à CodeCommit

1. Créez un compte AWS en accédant à http://aws.amazon.com et en sélectionnant Sign Up (Seconnecter).

2. Créez un utilisateur IAM ou utilisez un utilisateur existant associé à votre compte AWS. Assurez-vous qu'un ID de clé d'accès et une clé d'accès secrète sont associés à l'utilisateur IAM. Pour plusd'informations, consultez la page Création d'un utilisateur IAM dans votre compte AWS.

Version de l'API 2015-04-1337

Page 47: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉtape 2 : Installer Git

Note

CodeCommit nécessite AWS Key Management Service. Si vous utilisez un utilisateurIAM existant, assurez-vous qu'il n'existe aucune stratégie attachée à l'utilisateur, refusantexplicitement les actions AWS KMS requises par CodeCommit. Pour plus d'informations,consultez la section AWS KMS et chiffrement (p. 311).

3. Connectez-vous à la AWS Management Console et ouvrez la console IAM à l'adresse https://console.aws.amazon.com/iam/.

4. Sur la console IAM, dans le volet de navigation, sélectionnez Users (Utilisateurs), puis l'utilisateur IAMque vous souhaitez configurer pour l'accès à CodeCommit.

5. Sous l'onglet Autorisations, choisissez Ajouter des autorisations.6. Pour Accorder des autorisations, choisissez Attacher directement les stratégies existantes.7. Dans la liste des stratégies, sélectionnez AWSCodeCommitPowerUser ou une autre stratégie gérée

pour l'accès à CodeCommit. Pour plus d'informations, consultez la section Stratégies gérées par AWS(prédéfinies) pour CodeCommit (p. 329).

Une fois que vous avez sélectionné la stratégie que vous souhaitez attacher, choisissez Suivant :à revoir pour examiner la liste des stratégies à attacher à IAM utilisateur. Si la liste est correcte,choisissez Add permissions.

Pour plus d'informations sur les stratégies gérées CodeCommit et le partage de l'accès à desréférentiels avec d'autres groupes et utilisateurs, consultez Partager un référentiel (p. 102) etAuthentification et contrôle d'accès pour AWS CodeCommit (p. 321).

Note

Si vous souhaitez utiliser des commandes AWS CLI avec CodeCommit, installez l'AWS CLI. Pourplus d’informations, consultez Référence des commandes en ligne (p. 437).

Étape 2 : Installer GitPour travailler avec des fichiers, des validations, et d'autres informations dans des référentielsCodeCommit, vous devez installer Git sur votre ordinateur local. CodeCommit prend en charge les versionsGit 1.7.9 et version ultérieure. Nous vous recommandons d'utiliser une version récente de Git.

Pour installer Git, nous vous recommandons des sites web tels que Téléchargements Git.Note

Git est une plateforme en constante évolution et régulièrement mise à jour. Parfois, la modificationd'une fonctionnalité peut affecter la façon dont elle fonctionne avec CodeCommit. Si vousrencontrez des problèmes avec une version spécifique de Git et CodeCommit, consultez lesinformations dans Dépannage (p. 401).

Step3 : Configuration des informations d'identificationsurLinux, macOS, or UnixSSH et Linux, macOS, or Unix : Configuration des clés publiqueset privées pour Git etCodeCommitPour configurer les clés publiques et privées pour Git etCodeCommit

1. Depuis le terminal sur votre ordinateur local, exécutez la commande ssh-keygen et suivez lesinstructions pour enregistrer le fichier dans le répertoire .ssh pour votre profil.

Version de l'API 2015-04-1338

Page 48: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurStep3 : Configuration des informations

d'identification surLinux, macOS, or Unix

Note

Veillez à demander à votre administrateur système à quel emplacement les fichiers de clédoivent être stockés et quel modèle d'affectation de noms de fichier utiliser.

Exemple :

$ ssh-keygen

Generating public/private rsa key pair.Enter file in which to save the key (/home/user-name/.ssh/id_rsa): Type /home/your-user-name/.ssh/ and a file name here, for example /home/your-user-name/.ssh/codecommit_rsa

Enter passphrase (empty for no passphrase): <Type a passphrase, and then press Enter>Enter same passphrase again: <Type the passphrase again, and then press Enter>

Your identification has been saved in /home/user-name/.ssh/codecommit_rsa.Your public key has been saved in /home/user-name/.ssh/codecommit_rsa.pub.The key fingerprint is:45:63:d5:99:0e:99:73:50:5e:d4:b3:2d:86:4a:2c:14 user-name@client-nameThe key's randomart image is:+--[ RSA 2048]----+| E.+.o*.++|| .o .=.=o.|| . .. *. +|| ..o . +..|| So . . . || . || || || |+-----------------+

Cette commande génère :

• L' codecommit_rsa , qui est le fichier de clé privée.• L' codecommit_rsaFichier .pub, qui est le fichier de clé publique.

Tip

Par défaut, ssh-keygen génère une clé de 2 048 bits. Vous pouvez utiliser les paramètres -t et-b pour spécifier le type et la longueur de la clé. Si vous souhaitez une clé 4096 bits au formatrsa, vous devez le spécifier en exécutant la commande avec les paramètres suivants :

ssh-keygen -t rsa -b 4096

Pour plus d'informations sur les formats et les longueurs requis pour les clés SSH, consultez Utilisation d' IAM avec CodeCommit .

2. Exécutez la commande suivante pour afficher la valeur du fichier de clé publique (codecommit_rsa:

cat ~/.ssh/codecommit_rsa.pub

Copiez cette valeur. Ce contenu ressemble à ce qui suit :

ssh-rsa EXAMPLE-AfICCQD6m7oRw0uXOjANBgkqhkiG9w0BAQUFADCBiDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6b24xFDASBgNVBAsTC0lBTSBDb2

Version de l'API 2015-04-1339

Page 49: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurStep3 : Configuration des informations

d'identification surLinux, macOS, or Unix

5zb2xlMRIwEAYDVQQDEwlUZXN0Q2lsYWMxHzAdBgkqhkiG9w0BCQEWEG5vb25lQGFtYXpvbi5jb20wHhcNMTEwNDI1MjA0NTIxWhcNMTIwNDI0MjA0NTIxWjCBiDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6b24xFDAS=EXAMPLE user-name@ip-192-0-2-137

3. Connectez-vous à la AWS Management Console et ouvrez la console IAM à l'adresse https://console.aws.amazon.com/iam/.

Note

Vous pouvez directement afficher et gérer vos informations d'identification pour CodeCommitdans Mes informations d'identification de sécurité. Pour plus d’informations, consultez Afficheret gérer vos informations d’identification (p. 7).

4. Sur la console IAM, dans le volet de navigation, sélectionnez Users (Utilisateurs), et dans la listed'utilisateurs, sélectionnez votre utilisateur IAM.

5. Sur la page des détails de l'utilisateur, sélectionnez l'onglet Security Credentials, puis Upload SSHpublic key.

6. Collez le contenu de votre clé publique SSH dans le champ, puis sélectionnez Upload SSH public key.7. Copiez ou enregistrez les informations dans l'ID de clé SSH (par exemple,

APKAEIBAERJR2EXAMPLE).

Note

Si vous avez IDs chargé plusieurs clés SSH, elles sont répertoriées par ordre alphabétiquepar ID de clé et non par date de chargement. Assurez-vous que vous avez copié l'ID de cléassocié à la date de chargement correcte.

8. Sur votre ordinateur local, utilisez un éditeur de texte pour créer un fichier de configuration dans lerépertoire ~/.ssh, puis ajoutez les lignes suivantes au fichier, où la valeur de User est l'ID de clé SSHque vous avez copié précédemment :

Host git-codecommit.*.amazonaws.com User APKAEIBAERJR2EXAMPLE IdentityFile ~/.ssh/codecommit_rsa

Note

Si vous avez donné à votre fichier de clé privée un nom autre que codecommit_rsa, veillezà l'utiliser ici.Vous pouvez configurer l'accès SSH aux référentiels dans plusieurs AWScomptesDépannage des connexions SSH à AWS CodeCommit (p. 404). Pour plusd'informations, consultez .

Enregistrez et nommez ce fichier config.9. Depuis le terminal, exécutez la commande suivante pour modifier les autorisations pour le fichier de

configuration :

chmod 600 config

10. Exécutez la commande suivante pour tester votre configuration SSH :

ssh git-codecommit.us-east-2.amazonaws.com

Version de l'API 2015-04-1340

Page 50: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉtape 4 : Se connecter à la CodeCommit

console et cloner le référentiel

Vous êtes invité à confirmer la connexion, car git-codecommit.us-east-2.amazonaws.com n'est pas encore inclus dans votre fichier d'hôtes connus.L'empreinte digitale de serveur CodeCommit s'affiche dans le cadre de la vérification(a9:6d:03:ed:08:42:21:be:06:e1:e0:2a:d1:75:31:5e pour MD5 ou 3lBlW2g5xn/NA2Ck6dyeJIrQOWvn7n8UEs56fG6ZIzQ pour SHA256).

Note

Les empreintes digitales de serveur CodeCommit sont uniques pour chaque région AWS.Pour afficher les empreintes digitales de serveur pour une région AWS, consultez Empreintesdigitales du serveur pour CodeCommit (p. 427).

Une fois que vous avez vérifié la connexion, vous devez voir la confirmation que vous avez ajouté leserveur à votre fichier d'hôtes connus et un message de connexion réussie. Si aucun message desuccès ne s'affiche, vérifiez que vous avez bien enregistré le fichier config dans le répertoire ~/.sshde l'utilisateur IAM que vous avez configuré pour l'accès à CodeCommit et que vous avez spécifié lefichier de clé privée approprié.

Pour plus d'informations pour vous aider à résoudre les problèmes, exécutez la commande ssh avecle paramètre -v :

ssh -v git-codecommit.us-east-2.amazonaws.com

Pour plus d'informations pour vous aider à résoudre les problèmes de connexion, consultezDépannage des connexions SSH à AWS CodeCommit (p. 404).

Étape 4 : Se connecter à la CodeCommit console etcloner le référentielSi un administrateur vous a déjà envoyé le nom et les détails de connexion du CodeCommit référentiel,vous pouvez ignorer cette étape et cloner le référentieldirectement.

Pour vous connecter à un référentiel CodeCommit

1. Ouvrez la console CodeCommit à l'adresse https://console.aws.amazon.com/codesuite/codecommit/home.

2. Dans le sélecteur de région, choisissez la région AWS dans laquelle le référentiel a été créé. Lesréférentiels sont propres à une région AWS. Pour de plus amples informations, veuillez consulterRégions et points de terminaison de connexion Git (p. 423).

3. Trouvez le référentiel auquel vous souhaitez vous connecter dans la liste et choisissez-le. ChoisissezClone URL (Cloner URL), puis choisissez le protocole que vous souhaitez utiliser lors du clonage oude la connexion au référentiel. Cette opération copie l'URL de clonage.

• Copiez l'URL HTTPS si vous utilisez les informations d'identification Git avec l'utilisateur IAM oul'assistant d'informations d'identification inclus avec l'AWS CLI.

• Copiez l'URL HTTPS (GRC) si vous utilisez la commande git-remote-codecommit sur votreordinateur local.

• Copiez l'URL SSH si vous utilisez une paire de clés publique/privée SSH avec l'utilisateur IAM.

Note

Si vous voyez une page Welcome (Bienvenue) au lieu d'une liste de référentiels, celasignifie qu'il n'y a aucun référentiel associé à votre compte AWS dans la région AWS dans

Version de l'API 2015-04-1341

Page 51: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉtapes suivantes

laquelle vous êtes connecté. Pour créer un référentiel, consultez the section called “Créationd'un référentiel ” (p. 96) ou suivez les étapes du didacticiel Mise en route avec Git etCodeCommit (p. 74).

4. Ouvrez un terminal. Depuis le répertoire /tmp, exécutez la commande git clone avec l'URL SSHque vous avez copiée, afin de cloner le référentiel. Par exemple, pour cloner un référentiel nomméMyDemoRepo dans un référentiel local nommé my-demo-repo dans la USA Est (Ohio) région :

git clone ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo my-demo-repo

Note

Si le test de la connexion a abouti mais que la commande de clonage échoue, il est possibleque vous n'ayez pas les droits d'accès requis à votre fichier de configuration ou qu'un autreparamètre soit en conflit avec ce fichier. Essayez de relancer la connexion, en incluant cettefois l'ID de clé SSH dans la commande. Exemple :

git clone ssh://[email protected]/v1/repos/MyDemoRepo my-demo-repo

Pour plus d’informations, consultez Erreur d’accès : La clé publique a été chargée avecsuccès sur IAM mais la connexion échoue sur Linux, macOS, or Unix systèmes (p. 404).

Pour plus d'informations sur comment vous connecter à des référentiels, consultez Connectez-vous auCodeCommit du référentiel en clonant le référentiel (p. 100).

Étapes suivantesVous réunissez toutes les conditions prérequises. Suivez les étapes de Démarrez avec CodeCommit (p. 60) pour commencer à utiliser CodeCommit.

Étapes de configuration des connexions SSH auxréférentiels sous WindowsAWS CodeCommit

Avant de vous connecter à AWS CodeCommit pour la première fois, vous devez effectuer certaines étapesde configuration initiale. Une fois que vous avez configuré votre ordinateur et votre profil AWS, vous pouvezvous connecter à un CodeCommit référentiel et cloner ce référentiel sur votre ordinateur (également appelécréation d'un référentiel local). Si vous débutez avec Git, vous pouvez également consulter les informationsde Où puis-je en savoir plus sur Git ? (p. 6).

Rubriques• Étape 1 : Configuration initiale pourCodeCommit (p. 42)• Étape 2 : Installer Git (p. 43)• Étape 3 : Configuration des clés publiques et privées pour Git etCodeCommit (p. 44)• Étape 4 : Se connecter à la CodeCommit console et cloner le référentiel (p. 46)• Étapes suivantes (p. 47)

Étape 1 : Configuration initiale pourCodeCommitProcédez comme suit pour configurer un compte AWS, créer un utilisateur IAM et configurer l'accès àCodeCommit.

Version de l'API 2015-04-1342

Page 52: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉtape 2 : Installer Git

Pour créer et configurer un utilisateur IAM pour l'accès à CodeCommit

1. Créez un compte AWS en accédant à http://aws.amazon.com et en sélectionnant Sign Up (Seconnecter).

2. Créez un utilisateur IAM ou utilisez un utilisateur existant associé à votre compte AWS. Assurez-vous qu'un ID de clé d'accès et une clé d'accès secrète sont associés à l'utilisateur IAM. Pour plusd'informations, consultez la page Création d'un utilisateur IAM dans votre compte AWS.

Note

CodeCommit nécessite AWS Key Management Service. Si vous utilisez un utilisateurIAM existant, assurez-vous qu'il n'existe aucune stratégie attachée à l'utilisateur, refusantexplicitement les actions AWS KMS requises par CodeCommit. Pour plus d'informations,consultez la section AWS KMS et chiffrement (p. 311).

3. Connectez-vous à la AWS Management Console et ouvrez la console IAM à l'adresse https://console.aws.amazon.com/iam/.

4. Sur la console IAM, dans le volet de navigation, sélectionnez Users (Utilisateurs), puis l'utilisateur IAMque vous souhaitez configurer pour l'accès à CodeCommit.

5. Sous l'onglet Autorisations, choisissez Ajouter des autorisations.6. Pour Accorder des autorisations, choisissez Attacher directement les stratégies existantes.7. Dans la liste des stratégies, sélectionnez AWSCodeCommitPowerUser ou une autre stratégie gérée

pour l'accès à CodeCommit. Pour plus d'informations, consultez la section Stratégies gérées par AWS(prédéfinies) pour CodeCommit (p. 329).

Une fois que vous avez sélectionné la stratégie que vous souhaitez attacher, choisissez Suivant :à revoir pour examiner la liste des stratégies à attacher à IAM utilisateur. Si la liste est correcte,choisissez Add permissions.

Pour plus d'informations sur les stratégies gérées CodeCommit et le partage de l'accès à desréférentiels avec d'autres groupes et utilisateurs, consultez Partager un référentiel (p. 102) etAuthentification et contrôle d'accès pour AWS CodeCommit (p. 321).

Note

Si vous souhaitez utiliser des commandes AWS CLI avec CodeCommit, installez l'AWS CLI. Pourplus d’informations, consultez Référence des commandes en ligne (p. 437).

Étape 2 : Installer GitPour travailler avec des fichiers, des validations, et d'autres informations dans des référentielsCodeCommit, vous devez installer Git sur votre ordinateur local. CodeCommit prend en charge les versionsGit 1.7.9 et version ultérieure. Nous vous recommandons d'utiliser une version récente de Git.

Pour installer Git, nous vous recommandons des sites web tels que Téléchargements Git.

Note

Git est une plateforme en constante évolution et régulièrement mise à jour. Parfois, la modificationd'une fonctionnalité peut affecter la façon dont elle fonctionne avec CodeCommit. Si vousrencontrez des problèmes avec une version spécifique de Git et CodeCommit, consultez lesinformations dans Dépannage (p. 401).

Si la version de Git que vous avez installée n'inclut pas un émulateur Bash, tel que Git Bash, installez-en un. Vous utilisez cet émulateur et non la ligne de commande Windows lorsque vous configurez desconnexions SSH.

Version de l'API 2015-04-1343

Page 53: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉtape 3 : Configuration des clés publiques

et privées pour Git etCodeCommit

Étape 3 : Configuration des clés publiques et privéespour Git etCodeCommitPour configurer les clés publiques et privées pour Git et CodeCommit sous Windows

1. Ouvrez l'émulateur Bash.

Note

Vous devrez peut-être exécuter l'émulateur avec des autorisations administratives.

Depuis l'émulateur, exécutez la commande ssh-keygen et suivez les instructions pour enregistrer lefichier dans le répertoire .ssh pour votre profil.

Exemple :

$ ssh-keygen

Generating public/private rsa key pair.Enter file in which to save the key (/drive/Users/user-name/.ssh/id_rsa): Type a file name here, for example /c/Users/user-name/.ssh/codecommit_rsa

Enter passphrase (empty for no passphrase): <Type a passphrase, and then press Enter>Enter same passphrase again: <Type the passphrase again, and then press Enter>

Your identification has been saved in drive/Users/user-name/.ssh/codecommit_rsa.Your public key has been saved in drive/Users/user-name/.ssh/codecommit_rsa.pub.The key fingerprint is:45:63:d5:99:0e:99:73:50:5e:d4:b3:2d:86:4a:2c:14 user-name@client-nameThe key's randomart image is:+--[ RSA 2048]----+| E.+.o*.++|| .o .=.=o.|| . .. *. +|| ..o . +..|| So . . . || . || || || |+-----------------+

Cette commande génère :

• L' codecommit_rsa , qui est le fichier de clé privée.• L' codecommit_rsaFichier .pub, qui est le fichier de clé publique.

Tip

Par défaut, ssh-keygen génère une clé de 2 048 bits. Vous pouvez utiliser les paramètres -t et-b pour spécifier le type et la longueur de la clé. Si vous souhaitez une clé 4096 bits au formatrsa, vous devez le spécifier en exécutant la commande avec les paramètres suivants :

ssh-keygen -t rsa -b 4096

Pour plus d'informations sur les formats et les longueurs requis pour les clés SSH, consultez Utilisation d' IAM avec CodeCommit .

Version de l'API 2015-04-1344

Page 54: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉtape 3 : Configuration des clés publiques

et privées pour Git etCodeCommit

2. Exécutez les commandes suivantes pour afficher la valeur du fichier de clé publique(codecommit_rsa:

cd .sshnotepad codecommit_rsa.pub

Copiez le contenu du fichier, puis fermez le Bloc-Notes sans enregistrer les modifications. Le contenudu fichier est similaire à ce qui suit :

ssh-rsa EXAMPLE-AfICCQD6m7oRw0uXOjANBgkqhkiG9w0BAQUFADCBiDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6b24xFDASBgNVBAsTC0lBTSBDb25zb2xlMRIwEAYDVQQDEwlUZXN0Q2lsYWMxHzAdBgkqhkiG9w0BCQEWEG5vb25lQGFtYXpvbi5jb20wHhcNMTEwNDI1MjA0NTIxWhcNMTIwNDI0MjA0NTIxWjCBiDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6b24xFDAS=EXAMPLE user-name@computer-name

3. Connectez-vous à la AWS Management Console et ouvrez la console IAM à l'adresse https://console.aws.amazon.com/iam/.

Note

Vous pouvez directement afficher et gérer vos informations d'identification pour CodeCommitdans Mes informations d'identification de sécurité. Pour plus d’informations, consultez Afficheret gérer vos informations d’identification (p. 7).

4. Sur la console IAM, dans le volet de navigation, sélectionnez Users (Utilisateurs), et dans la listed'utilisateurs, sélectionnez votre utilisateur IAM.

5. Sur la page des détails de l'utilisateur, sélectionnez l'onglet Security Credentials, puis Upload SSHpublic key.

6. Collez le contenu de votre clé publique SSH dans le champ, puis sélectionnez Upload SSH public key.7. Copiez ou enregistrez les informations dans l'ID de clé SSH (par exemple,

APKAEIBAERJR2EXAMPLE).

Note

Si vous avez IDs chargé plusieurs clés SSH, elles sont répertoriées par ordre alphabétiquepar ID de clé et non par date de chargement. Assurez-vous que vous avez copié l'ID de cléassocié à la date de chargement correcte.

8. Dans l'émulateur Bash, exécutez les commandes suivantes pour créer un fichier de configuration dansle répertoire ~/.ssh, ou modifiez ce fichier s'il existe déjà :

notepad ~/.ssh/config

9. Ajoutez les lignes suivantes au fichier, où la valeur de User est l'ID de clé SSH que vous avez copiéprécédemment et la valeur pour IdentityFile est le chemin d'accès et le nom du fichier de cléprivée :

Host git-codecommit.*.amazonaws.com User APKAEIBAERJR2EXAMPLE IdentityFile ~/.ssh/codecommit_rsa

Version de l'API 2015-04-1345

Page 55: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉtape 4 : Se connecter à la CodeCommit

console et cloner le référentiel

Note

Si vous avez donné à votre fichier de clé privée un nom autre que codecommit_rsa, veillezà l'utiliser ici.Vous pouvez configurer l'accès SSH aux référentiels dans plusieurs AWScomptesDépannage des connexions SSH à AWS CodeCommit (p. 404). Pour plusd'informations, consultez .

Enregistrez le fichier sous le nom config (pas config.txt), puis fermez le Bloc-Notes.Important

Le nom du fichier doit être config sans extension de fichier. Sinon, les connexions SSHéchouent.

10. Exécutez la commande suivante pour tester votre configuration SSH :

ssh git-codecommit.us-east-2.amazonaws.com

Vous êtes invité à confirmer la connexion, car git-codecommit.us-east-2.amazonaws.com n'est pas encore inclus dans votre fichier d'hôtes connus.L'empreinte digitale de serveur CodeCommit s'affiche dans le cadre de la vérification(a9:6d:03:ed:08:42:21:be:06:e1:e0:2a:d1:75:31:5e pour MD5 ou 3lBlW2g5xn/NA2Ck6dyeJIrQOWvn7n8UEs56fG6ZIzQ pour SHA256).

Note

Les empreintes digitales de serveur CodeCommit sont uniques pour chaque région AWS.Pour afficher les empreintes digitales de serveur pour une région AWS, consultez Empreintesdigitales du serveur pour CodeCommit (p. 427).

Une fois que vous avez vérifié la connexion, vous devez voir la confirmation que vous avez ajouté leserveur à votre fichier d'hôtes connus et un message de connexion réussie. Si vous ne voyez pas demessage de réussite, vérifiez à nouveau que vous avez enregistré le config fichier dans le répertoire~/.ssh de l'IAMutilisateur que vous avez configuré pour l'accès à CodeCommit , que le config fichiern'a pas d'extension de fichier (par exemple, il ne doit pas être nommé config.txt) et que vous avezspécifié le fichier de clé privée correct (codecommit_rsa, pas codecommit_rsad').

Pour plus d'informations pour vous aider à résoudre les problèmes, exécutez la commande ssh avecle paramètre -v :

ssh -v git-codecommit.us-east-2.amazonaws.com

Pour plus d'informations pour vous aider à résoudre les problèmes de connexion, consultezDépannage des connexions SSH à AWS CodeCommit (p. 404).

Étape 4 : Se connecter à la CodeCommit console etcloner le référentielSi un administrateur vous a déjà envoyé le nom et les détails de connexion du CodeCommit référentiel,vous pouvez ignorer cette étape et cloner le référentiel directement.

Pour vous connecter à un référentiel CodeCommit

1. Ouvrez la console CodeCommit à l'adresse https://console.aws.amazon.com/codesuite/codecommit/home.

Version de l'API 2015-04-1346

Page 56: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉtapes suivantes

2. Dans le sélecteur de région, choisissez la région AWS dans laquelle le référentiel a été créé. Lesréférentiels sont propres à une région AWS. Pour de plus amples informations, veuillez consulterRégions et points de terminaison de connexion Git (p. 423).

3. Trouvez le référentiel auquel vous souhaitez vous connecter dans la liste et choisissez-le. ChoisissezClone URL (Cloner URL), puis choisissez le protocole que vous souhaitez utiliser lors du clonage oude la connexion au référentiel. Cette opération copie l'URL de clonage.

• Copiez l'URL HTTPS si vous utilisez les informations d'identification Git avec l'utilisateur IAM oul'assistant d'informations d'identification inclus avec l'AWS CLI.

• Copiez l'URL HTTPS (GRC) si vous utilisez la commande git-remote-codecommit sur votreordinateur local.

• Copiez l'URL SSH si vous utilisez une paire de clés publique/privée SSH avec l'utilisateur IAM.

Note

Si vous voyez une page Welcome (Bienvenue) au lieu d'une liste de référentiels, celasignifie qu'il n'y a aucun référentiel associé à votre compte AWS dans la région AWS danslaquelle vous êtes connecté. Pour créer un référentiel, consultez the section called “Créationd'un référentiel ” (p. 96) ou suivez les étapes du didacticiel Mise en route avec Git etCodeCommit (p. 74).

4. Dans l'émulateur Bash, exécutez la commande git clone avec l'URL SSH que vous avez copiéepour cloner le référentiel. Cette commande crée le référentiel local dans un sous-répertoire durépertoire dans lequel vous exécutez la commande. Par exemple, pour cloner un référentiel nomméMyDemoRepo dans un référentiel local nommé my-demo-repo dans la USA Est (Ohio) région :

git clone ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo my-demo-repo

Vous pouvez également ouvrir une invite de commande et à l'aide de l'URL et l'ID de clé à SSH pourla clé publique que vous avez chargée dans IAM, exécuter la commande git clone. Le référentiel localest créé dans un sous-répertoire du répertoire dans lequel vous exécutez la commande. Par exemple,pour cloner un référentiel nommé MyDemoRepo dans un référentiel local nommé my-demo-repo:

git clone ssh://[email protected]/v1/repos/MyDemoRepo my-demo-repo

Pour de plus amples informations, veuillez consulter Connectez-vous au CodeCommit du référentiel enclonant le référentiel (p. 100) et Créer une validation (p. 232).

Étapes suivantesVous réunissez toutes les conditions prérequises. Suivez les étapes de Démarrez avec CodeCommit (p. 60) pour commencer à utiliser CodeCommit.

Version de l'API 2015-04-1347

Page 57: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurPour les connexions HTTPS sur Linux, macOS, or Unix

avec le AWS CLI aide d’informations d’identification

Étapes de configuration pour les connexionsHTTPS à AWS CodeCommit référentiels surLinux, macOS, or Unix avec le AWS CLI aided’informations d’identification

Avant de pouvoir vous connecter à AWS CodeCommit pour la première fois, vous devez suivre lesétapes de configuration initiale ci-dessous. Pour la plupart des utilisateurs, le plus simple est de suivrela procédure indiquée à la section Pour les utilisateurs HTTPS utilisant des informations d’identificationGit (p. 10). Toutefois, si vous souhaitez vous connecter à CodeCommit à l'aide d'un compte racine, d'unaccès fédéré ou d'informations d'identification temporaires, vous devez faire appel à l'assistant inclus dansl'AWS CLI.

Note

Bien que l'assistant d'informations d'identification soit une méthode prise en charge pour seconnecter à CodeCommit à l'aide d'un accès fédéré, d'un fournisseur d'identité ou d'informationsd'identification temporaires, la méthode recommandée consiste à installer et à utiliser l'utilitaire git-remote-codecommit. Pour plus d'informations, consultez la section Étapes de configuration pourles connexions HTTPS à AWS CodeCommit avec git-remote-codecommit (p. 15).

Rubriques• Étape 1 : Configuration initiale pour CodeCommit (p. 48)• Étape 2 : Installation de Git (p. 50)• Étape 3 : Configurer l’assistant d’informations d’identification (p. 51)• Étape 4 : Connectez-vous au CodeCommit et cloner le référentiel (p. 52)• Étapes suivantes (p. 53)

Étape 1 : Configuration initiale pour CodeCommitProcédez comme suit pour configurer un compte AWS, créer et configurer un utilisateur IAM, et installerl'AWS CLI.

Pour créer et configurer un utilisateur IAM pour l'accès à CodeCommit

1. Créez un compte AWS en accédant à http://aws.amazon.com et en sélectionnant Sign Up (Seconnecter).

2. Créez un utilisateur IAM ou utilisez un utilisateur existant associé à votre compte AWS. Assurez-vous qu'un ID de clé d'accès et une clé d'accès secrète sont associés à l'utilisateur IAM. Pour plusd'informations, consultez la page Création d'un utilisateur IAM dans votre compte AWS.

Note

CodeCommit nécessite AWS Key Management Service. Si vous utilisez un utilisateurIAM existant, assurez-vous qu'il n'existe aucune stratégie attachée à l'utilisateur, refusantexplicitement les actions AWS KMS requises par CodeCommit. Pour plus d'informations,consultez la section AWS KMS et chiffrement (p. 311).

3. Connectez-vous à la AWS Management Console et ouvrez la console IAM à l'adresse https://console.aws.amazon.com/iam/.

4. Sur la console IAM, dans le volet de navigation, sélectionnez Users (Utilisateurs), puis l'utilisateur IAMque vous souhaitez configurer pour l'accès à CodeCommit.

Version de l'API 2015-04-1348

Page 58: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉtape 1 : Configuration initiale pour CodeCommit

5. Sous l'onglet Autorisations, choisissez Ajouter des autorisations.6. Pour Accorder des autorisations, choisissez Attacher directement les stratégies existantes.7. Dans la liste des stratégies, sélectionnez AWSCodeCommitPowerUser ou une autre stratégie gérée

pour l'accès à CodeCommit. Pour plus d'informations, consultez la section Stratégies gérées par AWS(prédéfinies) pour CodeCommit (p. 329).

Une fois que vous avez sélectionné la stratégie que vous souhaitez attacher, choisissez Suivant :à revoir pour examiner la liste des stratégies à attacher à IAM utilisateur. Si la liste est correcte,choisissez Add permissions.

Pour plus d'informations sur les stratégies gérées CodeCommit et le partage de l'accès à desréférentiels avec d'autres groupes et utilisateurs, consultez Partager un référentiel (p. 102) etAuthentification et contrôle d'accès pour AWS CodeCommit (p. 321).

Pour installer et configurer le AWS CLI

1. Sur votre ordinateur local, téléchargez et installez l'AWS CLI. Il s'agit d'un prérequis pour l'interactionavec CodeCommit à partir de la ligne de commande. Pour plus d'informations, consultez Préparationde l'installation de l'interface de ligne de commande AWS.

Note

CodeCommit fonctionne uniquement avec les versions de l'AWS CLI1.7.38 et ultérieures.Il est recommandé d'installer ou de mettre à niveau la version de l'AWS CLI la plus récentedisponible. Pour déterminer quelle version de l'AWS CLI vous avez installée, exécutez lacommande aws --version.Pour mettre à niveau une ancienne version de l'AWS CLI vers la version la plus récente,consultez Installation de l'AWS Command Line Interface.

2. Exécutez la commande suivante pour vérifier que les commandes CodeCommit pour l'AWS CLI sontinstallées :

aws codecommit help

Cette commande doit renvoyer une liste de commandes CodeCommit.3. Configurez l'AWS CLI avec un profil à l'aide de la commande configure, comme suit :

aws configure

Lorsque vous y êtes invité, spécifiez la clé d'accès AWS et la clé d'accès secrète AWS de l'utilisateurIAM à utiliser avec CodeCommit. Veillez également à spécifier la région AWS dans laquelle leréférentiel existe, par exemple us-east-2. Lorsque vous êtes invité à saisir le format de sortie pardéfaut, spécifiez json. Par exemple :

AWS Access Key ID [None]: Type your target AWS access key ID here, and then press EnterAWS Secret Access Key [None]: Type your target AWS secret access key here, and then press EnterDefault region name [None]: Type a supported region for CodeCommit here, and then press EnterDefault output format [None]: Type json here, and then press Enter

Pour plus d'informations sur la création et la configuration des profils à utiliser avec l'AWS CLI,consultez les rubriques suivantes :

• Profils nommés• Utilisation d’un IAM Rôle dans le AWS CLI

Version de l'API 2015-04-1349

Page 59: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉtape 2 : Installation de Git

• Définition de la commande• Connexion à AWS CodeCommit référentiels avec informations d’identification rotatives (p. 312)

Pour vous connecter à un référentiel ou à une ressource dans une autre région AWS, vous devezreconfigurer l'AWS CLI avec le nom de région par défaut. Les noms de région par défaut pris encharge pour CodeCommit sont notamment les suivants :

• us-east-2• us-east-1• eu-west-1• us-west-2• ap-northeast-1• ap-southeast-1• ap-southeast-2• eu-central-1• ap-northeast-2• sa-east-1• us-west-1• eu-west-2• ap-south-1• ca-central-1• us-gov-west-1• us-gov-east-1• eu-north-1• ap-east-1• me-south-1• cn-north-1• cn-northwest-1• eu-south-1

Pour plus d'informations sur CodeCommit et les régions AWS, consultezRégions et points determinaison de connexion Git (p. 423). Pour plus d'informations sur IAM, les clés d'accès et lesclés secrètes, consultez Comment puis-je obtenir des informations d'identification ? et Gestion desclés d'accès pour les utilisateurs IAM. Pour plus d’informations sur le AWS CLI et profils, voir Profilsnommés.

Étape 2 : Installation de GitPour travailler avec des fichiers, des validations, et d'autres informations dans des référentielsCodeCommit, vous devez installer Git sur votre ordinateur local. CodeCommit prend en charge les versionsGit 1.7.9 et version ultérieure. Nous vous recommandons d'utiliser une version récente de Git.

Pour installer Git, nous vous recommandons des sites web tels que Téléchargements Git.Note

Git est une plateforme en constante évolution et régulièrement mise à jour. Parfois, la modificationd'une fonctionnalité peut affecter la façon dont elle fonctionne avec CodeCommit. Si vousrencontrez des problèmes avec une version spécifique de Git et CodeCommit, consultez lesinformations dans Dépannage (p. 401).

Version de l'API 2015-04-1350

Page 60: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉtape 3 : Configurer l’assistant d’informations d’identification

Étape 3 : Configurer l’assistant d’informationsd’identification1. Depuis le terminal, utilisez Git pour exécuter git config, en spécifiant l'utilisation de l'assistant

d'informations d'identification Git avec le profil d'informations d'identification AWS et en permettant àl'assistant d'informations d'identification Git d'envoyer le chemin d'accès aux référentiels :

git config --global credential.helper '!aws codecommit credential-helper $@'git config --global credential.UseHttpPath true

Tip

L'assistant d'informations d'identification utilise le profil d'informations d'identification AWSpar défaut ou le rôle d'instance Amazon EC2. Vous pouvez spécifier un profil à utiliser,comme CodeCommitProfile, si vous avez créé un profil d'informations d'identification AWSspécifique à utiliser avec CodeCommit :

git config --global credential.helper '!aws --profile CodeCommitProfile codecommit credential-helper $@'

Si le nom de votre profil contient des espaces, veillez à placer le nom entre guillemets (").Vous pouvez configurer des profils par référentiel, et non globalement, en utilisant --localau lieu de --global.

L'assistant d'informations d'identification Git écrit la valeur suivante dans ~/.gitconfig :

[credential] helper = !aws --profile CodeCommitProfile codecommit credential-helper $@ UseHttpPath = true

Important

Si vous souhaitez utiliser un autre utilisateur IAM sur le même ordinateur local pourCodeCommit, vous devez exécuter à nouveau la commande git config et spécifier un autreprofil d'informations d'identification AWS.

2. Exécuter git config --global --edit pour vérifier que la valeur précédente a été écrite dans~/.gitconfig. En cas de réussite, vous devriez voir la valeur précédente (en plus des valeursqui peuvent déjà exister dans le fichier de configuration globale Git). Pour quitter, vous devezgénéralement saisir:q et appuyer sur Entrée.

Si vous rencontrez des problèmes après avoir configuré l'assistant d'informations d'identification,consultez Dépannage (p. 401).

Important

Si vous utilisez macOS, exécutez les étapes suivantes pour vous assurer que l'assistantd'informations d'identification est correctement configuré.

3. Si vous utilisez macOS, utilisez HTTPS pour vous connecter à un référentiel CodeCommit (p. 99).Après vous être connecté à un référentiel CodeCommit avec HTTPS pour la première fois, l'accèssuivant échoue au bout d'environ 15 minutes. La version de Git par défaut sur macOS utilise l'utilitaireKeychain Access pour stocker les informations d'identification. Pour des raisons de sécurité, le motde passe généré pour accéder à votre référentiel CodeCommit est temporaire. Les informationsd'identification stockées dans le trousseau (keychain) cessent donc de fonctionner après environ15 minutes. Pour éviter que ces informations d'identification expirées soient utilisées, vous devezeffectuer l'une des actions suivantes :

Version de l'API 2015-04-1351

Page 61: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉtape 4 : Connectez-vous au

CodeCommit et cloner le référentiel

• Installez une version de Git qui n'utilise pas le trousseau (keychain) par défaut.• Configurez l'utilitaire Keychain Access pour ne pas fournir d'informations d'identification pour les

référentiels CodeCommit.

1. Ouvrez l'utilitaire Keychain Access. (Vous pouvez utiliser l'outil de recherche pour le localiser).2. à rechercher git-codecommit.us-east-2.amazonaws.com. Mettez en surbrillance la ligne,

ouvrez le menu contextuel ou cliquez dessus avec le bouton droit de la souris, puis choisissezObtenir des informations.

3. Choisissez l'onglet Access Control.4. Dans Confirm before allowing access, choisissez git-credential-osxkeychain, puis

sélectionnez le signe moins pour le supprimer de la liste.Note

Après avoir supprimé git-credential-osxkeychain de la liste, vous verrez unmessage contextuel chaque fois que vous exécuterez une commande Git. ChoisissezDeny pour continuer. Si vous trouvez les fenêtres contextuelles trop perturbatrices, voiciquelques options alternatives :• Connectez-vous à CodeCommit à l'aide de SSH au lieu de HTTPS. Pour plus

d'informations, consultez la section Pour les connexions SSH sousLinux, macOS, orUnix (p. 37).

• Dans l'utilitaire Keychain Access, sous l'onglet Access Control pour git-codecommit.us-east-2.amazonaws.com, choisissez l'option Allow all applicationsto access this item (access to this item is not restricted). Cela permet d'éviter les fenêtrescontextuelles, mais les informations d'identification finissent par expirer (en moyenne,environ 15 minutes) et vous voyez un message d'erreur 403. Dans ce cas, vous devezsupprimer l'élément keychain pour restaurer les fonctionnalités.

• Pour plus d'informations, consultez la section pour macOS: J’ai configuré l’assistantd’informations d’identification avec succès, mais je ne peux plus accéder à monréférentiel (403) (p. 412).

Étape 4 : Connectez-vous au CodeCommit et cloner leréférentielSi un administrateur vous a déjà envoyé le nom et les détails de connexion pour le référentiel CodeCommit,vous pouvez ignorer cette étape et cloner directement le référentiel.

Pour vous connecter à un référentiel CodeCommit

1. Ouvrez la console CodeCommit à l'adresse https://console.aws.amazon.com/codesuite/codecommit/home.

2. Dans le sélecteur de région, choisissez la région AWS dans laquelle le référentiel a été créé. Lesréférentiels sont propres à une région AWS. Pour de plus amples informations, veuillez consulterRégions et points de terminaison de connexion Git (p. 423).

3. Trouvez le référentiel auquel vous souhaitez vous connecter dans la liste et choisissez-le. ChoisissezClone URL (Cloner URL), puis choisissez le protocole que vous souhaitez utiliser lors du clonage oude la connexion au référentiel. Cette opération copie l'URL de clonage.

• Copiez l'URL HTTPS si vous utilisez les informations d'identification Git avec l'utilisateur IAM oul'assistant d'informations d'identification inclus avec l'AWS CLI.

• Copiez l'URL HTTPS (GRC) si vous utilisez la commande git-remote-codecommit sur votreordinateur local.

Version de l'API 2015-04-1352

Page 62: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉtapes suivantes

• Copiez l'URL SSH si vous utilisez une paire de clés publique/privée SSH avec l'utilisateur IAM.

Note

Si vous voyez une page Welcome (Bienvenue) au lieu d'une liste de référentiels, celasignifie qu'il n'y a aucun référentiel associé à votre compte AWS dans la région AWS danslaquelle vous êtes connecté. Pour créer un référentiel, consultez the section called “Créationd'un référentiel ” (p. 96) ou suivez les étapes du didacticiel Mise en route avec Git etCodeCommit (p. 74).

4. Ouvrez un terminal et exécutez le git clone avec l’URL HTTPS que vous avez copiée. Par exemple,pour cloner un référentiel nommé MyDemoRepo vers un référentiel local nommé my-demo-repo dansle USA Est (Ohio) Région :

git clone https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo my-demo-repo

Étapes suivantesVous réunissez toutes les conditions prérequises. Suivez les étapes de Démarrez avec CodeCommit (p. 60) pour commencer à utiliser CodeCommit.

Étapes de configuration pour les connexionsHTTPS à AWS CodeCommit des référentiels surWindows avec le AWS CLI aide d’informationsd’identification

Avant de pouvoir vous connecter à AWS CodeCommit pour la première fois, vous devez suivre lesétapes de configuration initiale ci-dessous. Pour la plupart des utilisateurs, le plus simple est de suivrela procédure indiquée à la section Pour les utilisateurs HTTPS utilisant des informations d’identificationGit (p. 10). Toutefois, si vous souhaitez vous connecter à CodeCommit à l'aide d'un compte racine, d'unaccès fédéré ou d'informations d'identification temporaires, vous devez faire appel à l'assistant inclus dansl'AWS CLI.

Note

Bien que l'assistant d'informations d'identification soit une méthode prise en charge pour seconnecter à CodeCommit à l'aide d'un accès fédéré, d'un fournisseur d'identité ou d'informationsd'identification temporaires, la méthode recommandée consiste à installer et à utiliser l'utilitaire git-remote-codecommit. Pour plus d'informations, consultez la section Étapes de configuration pourles connexions HTTPS à AWS CodeCommit avec git-remote-codecommit (p. 15).

Cette rubrique explique les différentes étapes pour installer l'AWS CLI, configurer votre ordinateur et leprofil AWS, vous connecter à un référentiel CodeCommit et cloner ce référentiel sur votre ordinateur, actionaussi appelée création d'un référentiel local. Si vous débutez avec Git, vous pouvez également consulterles informations de Où puis-je en savoir plus sur Git ? (p. 6).

Rubriques• Étape 1 : Configuration initiale pour CodeCommit (p. 54)• Étape 2 : Installation de Git (p. 56)

Version de l'API 2015-04-1353

Page 63: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉtape 1 : Configuration initiale pour CodeCommit

• Étape 3 : Configurer l’assistant d’informations d’identification (p. 56)• Étape 4 : Connectez-vous au CodeCommit et cloner le référentiel (p. 58)• Étapes suivantes (p. 59)

Étape 1 : Configuration initiale pour CodeCommitProcédez comme suit pour configurer un compte AWS, créer et configurer un utilisateur IAM, et installerl'AWS CLI. L'AWS CLI inclut un assistant d'informations d'identification que vous configurez pour lesconnexions HTTPS vers vos référentiels CodeCommit.

Pour créer et configurer un utilisateur IAM pour l'accès à CodeCommit

1. Créez un compte AWS en accédant à http://aws.amazon.com et en sélectionnant Sign Up (Seconnecter).

2. Créez un utilisateur IAM ou utilisez un utilisateur existant associé à votre compte AWS. Assurez-vous qu'un ID de clé d'accès et une clé d'accès secrète sont associés à l'utilisateur IAM. Pour plusd'informations, consultez la page Création d'un utilisateur IAM dans votre compte AWS.

Note

CodeCommit nécessite AWS Key Management Service. Si vous utilisez un utilisateurIAM existant, assurez-vous qu'il n'existe aucune stratégie attachée à l'utilisateur, refusantexplicitement les actions AWS KMS requises par CodeCommit. Pour plus d'informations,consultez la section AWS KMS et chiffrement (p. 311).

3. Connectez-vous à la AWS Management Console et ouvrez la console IAM à l'adresse https://console.aws.amazon.com/iam/.

4. Sur la console IAM, dans le volet de navigation, sélectionnez Users (Utilisateurs), puis l'utilisateur IAMque vous souhaitez configurer pour l'accès à CodeCommit.

5. Sous l'onglet Autorisations, choisissez Ajouter des autorisations.6. Pour Accorder des autorisations, choisissez Attacher directement les stratégies existantes.7. Dans la liste des stratégies, sélectionnez AWSCodeCommitPowerUser ou une autre stratégie gérée

pour l'accès à CodeCommit. Pour plus d'informations, consultez la section Stratégies gérées par AWS(prédéfinies) pour CodeCommit (p. 329).

Une fois que vous avez sélectionné la stratégie que vous souhaitez attacher, choisissez Suivant :à revoir pour examiner la liste des stratégies à attacher à IAM utilisateur. Si la liste est correcte,choisissez Add permissions.

Pour plus d'informations sur les stratégies gérées CodeCommit et le partage de l'accès à desréférentiels avec d'autres groupes et utilisateurs, consultez Partager un référentiel (p. 102) etAuthentification et contrôle d'accès pour AWS CodeCommit (p. 321).

Pour installer et configurer le AWS CLI

1. Sur votre ordinateur local, téléchargez et installez l'AWS CLI. Il s'agit d'un prérequis pour l'interactionavec CodeCommit à partir de la ligne de commande. Pour plus d'informations, consultez Préparationde l'installation de l'interface de ligne de commande AWS.

Note

CodeCommit fonctionne uniquement avec les versions de l'AWS CLI1.7.38 et ultérieures.Il est recommandé d'installer ou de mettre à niveau la version de l'AWS CLI la plus récentedisponible. Pour déterminer quelle version de l'AWS CLI vous avez installée, exécutez lacommande aws --version.

Version de l'API 2015-04-1354

Page 64: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉtape 1 : Configuration initiale pour CodeCommit

Pour mettre à niveau une ancienne version de l'AWS CLI vers la version la plus récente,consultez Installation de l'AWS Command Line Interface.

2. Exécutez la commande suivante pour vérifier que les commandes CodeCommit pour l'AWS CLI sontinstallées :

aws codecommit help

Cette commande doit renvoyer une liste de commandes CodeCommit.3. Configurez l'AWS CLI avec un profil à l'aide de la commande configure, comme suit :

aws configure

Lorsque vous y êtes invité, spécifiez la clé d'accès AWS et la clé d'accès secrète AWS de l'utilisateurIAM à utiliser avec CodeCommit. Veillez également à spécifier la région AWS dans laquelle leréférentiel existe, par exemple us-east-2. Lorsque vous êtes invité à saisir le format de sortie pardéfaut, spécifiez json. Par exemple :

AWS Access Key ID [None]: Type your target AWS access key ID here, and then press EnterAWS Secret Access Key [None]: Type your target AWS secret access key here, and then press EnterDefault region name [None]: Type a supported region for CodeCommit here, and then press EnterDefault output format [None]: Type json here, and then press Enter

Pour plus d'informations sur la création et la configuration des profils à utiliser avec l'AWS CLI,consultez les rubriques suivantes :

• Profils nommés• Utilisation d’un IAM Rôle dans le AWS CLI• Définition de la commande• Connexion à AWS CodeCommit référentiels avec informations d’identification rotatives (p. 312)

Pour vous connecter à un référentiel ou à une ressource dans une autre région AWS, vous devezreconfigurer l'AWS CLI avec le nom de région par défaut. Les noms de région par défaut pris encharge pour CodeCommit sont notamment les suivants :

• us-east-2• us-east-1• eu-west-1• us-west-2• ap-northeast-1• ap-southeast-1• ap-southeast-2• eu-central-1• ap-northeast-2• sa-east-1• us-west-1• eu-west-2• ap-south-1• ca-central-1• us-gov-west-1

Version de l'API 2015-04-1355

Page 65: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉtape 2 : Installation de Git

• us-gov-east-1• eu-north-1• ap-east-1• me-south-1• cn-north-1• cn-northwest-1• eu-south-1

Pour plus d'informations sur CodeCommit et les régions AWS, consultezRégions et points determinaison de connexion Git (p. 423). Pour plus d'informations sur IAM, les clés d'accès et lesclés secrètes, consultez Comment puis-je obtenir des informations d'identification ? et Gestion desclés d'accès pour les utilisateurs IAM. Pour plus d’informations sur le AWS CLI et profils, voir Profilsnommés.

Étape 2 : Installation de GitPour travailler avec des fichiers, des validations, et d'autres informations dans des référentielsCodeCommit, vous devez installer Git sur votre ordinateur local. CodeCommit prend en charge les versionsGit 1.7.9 et version ultérieure. Nous vous recommandons d'utiliser une version récente de Git.

Pour installer Git, nous vous recommandons des sites web tels que Git pour Windows. Si vous utilisez celien pour installer Git, vous pouvez accepter tous les paramètres d'installation par défaut à l'exception de cequi suit :

• Lorsque vous y êtes invité lors de l'étape Adjusting your PATH environment (Ajustement de votreenvironnement PATH), sélectionnez l'option permettant d'utiliser Git à partir de la ligne de commande.

• (Facultatif) Si vous prévoyez d'utiliser le protocole HTTPS avec l'assistant d'informations d'identificationqui est inclus dans l'AWS CLI au lieu de configurer des informations d'identification Git pourCodeCommit, sur la page Configuring extra options (Configuration d'options supplémentaires), assurez-vous que l'option Enable Git Credential Manager (Activer le gestionnaire d'informations d'identificationGit) est désactivée. Le gestionnaire d'informations d'identification Git n'est compatible avec CodeCommitque si les utilisateurs IAM configurent des informations d'identification Git. Pour plus d'informations,consultez Pour les utilisateurs HTTPS utilisant des informations d’identification Git (p. 10) et Git pourWindows : J’ai installé Git pour Windows, mais je ne peux pas accéder à mon référentiel (403) (p. 414).

Note

Git est une plateforme en constante évolution et régulièrement mise à jour. Parfois, la modificationd'une fonctionnalité peut affecter la façon dont elle fonctionne avec CodeCommit. Si vousrencontrez des problèmes avec une version spécifique de Git et CodeCommit, consultez lesinformations dans Dépannage (p. 401).

Étape 3 : Configurer l’assistant d’informationsd’identificationL'AWS CLI inclut un assistant d'informations d'identification Git que vous pouvez utiliser avec CodeCommit.L’assistant d’informations d’identification Git nécessite un AWS profil d’informations d’identification, quistocke une copie d’un IAM de l’utilisateur AWS clé d’accès ID et AWS clé d’accès secrète (avec un nomde région AWS par défaut et un format de sortie par défaut). L'assistant d'informations d'identification Gitutilise ces informations pour une authentification automatique auprès d'CodeCommit. Vous n'aurez doncpas besoin d'entrer ces informations chaque fois que vous utiliserez Git pour interagir avec CodeCommit.

Version de l'API 2015-04-1356

Page 66: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉtape 3 : Configurer l’assistant d’informations d’identification

1. Ouvrez une invite de commande et utilisez Git pour exécuter git config, en spécifiant l'utilisation del'assistant d'informations d'identification Git avec le profil d'informations d'identification AWS, ce quipermet à l'assistant d'informations d'identification Git d'envoyer le chemin d'accès aux référentiels :

git config --global credential.helper "!aws codecommit credential-helper $@"git config --global credential.UseHttpPath true

L'assistant d'informations d'identification Git écrit ce qui suit dans le fichier .gitconfig :

[credential] helper = !aws codecommit credential-helper $@ UseHttpPath = true

Important

• Si vous utilisez un émulateur Bash au lieu de la ligne de commande Windows, vous devezutiliser des apostrophes et non des guillemets.

• L'assistant d'informations d'identification utilise le profil AWS par défaut ou le rôle d'instanceAmazon EC2. Si vous avez créé un AWS du profil d’informations d’identification à utiliser,comme CodeCommitProfile, vous pouvez modifier la commande comme suit pourl’utiliser à la place :

git config --global credential.helper "!aws codecommit credential-helper --profile CodeCommitProfile $@"

Ceci écrit ce qui suit dans le fichier .gitconfig :

[credential] helper = !aws codecommit credential-helper --profile=CodeCommitProfile $@ UseHttpPath = true

• Si votre nom de votre profil contient des espaces, vous devez modifier votrefichier .gitconfig après avoir exécuté cette commande pour le placer entre apostrophes (').Dans le cas contraire, l'assistant d'informations d'identification ne fonctionne pas.

• Si votre installation de Git pour Windows inclut l'utilitaire Gestionnaire d'informationsd'identification Git, vous verrez des erreurs 403 ou des invites pour fournir des informationsd'identification dans cet utilitaire après les premières tentatives de connexion. Le moyenle plus fiable de résoudre ce problème consiste à désinstaller, puis à réinstaller Git pourWindows sans l'option pour l'utilitaire Gestionnaire d'informations d'identification Git,car ce dernier n'est pas compatible avec CodeCommit. Si vous souhaitez conserverl'utilitaire Gestionnaire d'informations d'identification Git, vous devez effectuer des étapesde configuration supplémentaires pour également utiliser CodeCommit, notamment modifiermanuellement le fichier .gitconfig afin de spécifier l'utilisation de l'assistant d'informationsd'identification pour AWS CodeCommit lors de la connexion à CodeCommit. Supprimeztoutes les informations d'identification stockées de l'utilitaire Gestionnaire des informationsd'identification (vous pouvez trouver cet utilitaire dans le panneau de configuration). Unefois que vous avez supprimé les informations d'identification stockées, ajoutez les élémentssuivants à votre fichier .gitconfig, enregistrez-le, puis réessayez de vous connecter à partird'une nouvelle fenêtre d'invite de commande :

[credential "https://git-codecommit.us-east-2.amazonaws.com"] helper = !aws codecommit credential-helper $@ UseHttpPath = true

[credential "https://git-codecommit.us-east-1.amazonaws.com"] helper = !aws codecommit credential-helper $@ Version de l'API 2015-04-13

57

Page 67: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉtape 4 : Connectez-vous au

CodeCommit et cloner le référentiel

UseHttpPath = true

En outre, vous pouvez avoir à reconfigurer vos paramètres git config en spécifiant --systemau lieu de --global ou --local pour que toutes les connexions fonctionnent comme prévu.

• Si vous souhaitez définir des utilisateurs IAM différents sur le même ordinateur local pourCodeCommit, vous devez spécifier git config --local au lieu de git config --global, puisexécuter la configuration pour chaque profil d'informations d'identification AWS.

2. Exécutez git config --global --edit pour vérifier que les valeurs précédentes ont été écrites dans lefichier .gitconfig de votre profil utilisateur (par défaut, %HOME%\.gitconfig ou drive:\Users\UserName\.gitconfig). Si la commande aboutit, vous devez voir les valeurs précédentes (en plusdes valeurs qui peuvent déjà exister dans le fichier de configuration globale Git). Pour quitter, vousdevez généralement saisir :q et appuyer sur Entrée.

Étape 4 : Connectez-vous au CodeCommit et cloner leréférentielSi un administrateur vous a déjà envoyé le nom et les détails de connexion pour le référentiel CodeCommit,vous pouvez ignorer cette étape et cloner directement le référentiel.

Pour vous connecter à un référentiel CodeCommit

1. Ouvrez la console CodeCommit à l'adresse https://console.aws.amazon.com/codesuite/codecommit/home.

2. Dans le sélecteur de région, choisissez la région AWS dans laquelle le référentiel a été créé. Lesréférentiels sont propres à une région AWS. Pour de plus amples informations, veuillez consulterRégions et points de terminaison de connexion Git (p. 423).

3. Trouvez le référentiel auquel vous souhaitez vous connecter dans la liste et choisissez-le. ChoisissezClone URL (Cloner URL), puis choisissez le protocole que vous souhaitez utiliser lors du clonage oude la connexion au référentiel. Cette opération copie l'URL de clonage.

• Copiez l'URL HTTPS si vous utilisez les informations d'identification Git avec l'utilisateur IAM oul'assistant d'informations d'identification inclus avec l'AWS CLI.

• Copiez l'URL HTTPS (GRC) si vous utilisez la commande git-remote-codecommit sur votreordinateur local.

• Copiez l'URL SSH si vous utilisez une paire de clés publique/privée SSH avec l'utilisateur IAM.

Note

Si vous voyez une page Welcome (Bienvenue) au lieu d'une liste de référentiels, celasignifie qu'il n'y a aucun référentiel associé à votre compte AWS dans la région AWS danslaquelle vous êtes connecté. Pour créer un référentiel, consultez the section called “Créationd'un référentiel ” (p. 96) ou suivez les étapes du didacticiel Mise en route avec Git etCodeCommit (p. 74).

4. Ouvrir une invite de commande exécuter le git clone commande avec l’URL HTTPS que vous avezcopiée. Le référentiel local est créé dans un sous-répertoire du répertoire dans lequel vous exécutezla commande. Par exemple, pour cloner un référentiel nommé MyDemoRepo vers un référentiel localnommé my-demo-repo dans le USA Est (Ohio) Région :

git clone https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo my-demo-repo

Version de l'API 2015-04-1358

Page 68: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉtapes suivantes

Sur certaines versions de Windows, un message contextuel s'affiche et vous demande vos nomd'utilisateur et mot de passe. Il s'agit du système de gestion des informations d'identification intégrépour Windows, mais il n'est pas compatible avec l'assistant des informations d'identification pour AWSCodeCommit. Choisissez Cancel (Annuler).

Étapes suivantesVous réunissez toutes les conditions prérequises. Suivez les étapes de Démarrez avec CodeCommit (p. 60) pour commencer à utiliser CodeCommit.

Version de l'API 2015-04-1359

Page 69: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurDémarrez avec CodeCommit

Mise en routePour démarrer avec CodeCommit, la méthode la plus simple consiste à suivre les étapes de Démarrezavec CodeCommit (p. 60). Si vous utilisez Git et CodeCommit pour la première fois, il serait égalementjudicieux de suivre les étapes de Mise en route avec Git et CodeCommit (p. 74). Cela va vous aidera àvous familiariser avec CodeCommit, ainsi qu'avec les bases de l'utilisation de Git lorsque vous interagissezavec vos référentiels CodeCommit.

Vous pouvez également suivre le didacticiel de Créer un pipeline simple avec CodePipeline etCodeCommit pour apprendre à utiliser votre référentiel CodeCommit dans le cadre d'un pipeline dediffusion en continu.

Les didacticiels de cette section sont écrits en supposant que vous avez terminé les prérequis et laconfiguration (p. 7), en particulier :

• Attribution d'autorisations à l'utilisateur IAM.• Configuration de la gestion des informations d'identification pour les connexions HTTPS ou SSH sur

l'ordinateur local que vous utilisez pour ce didacticiel.• Configuration de l'AWS CLI si vous souhaitez utiliser la ligne de commande ou le terminal pour toutes les

opérations, y compris pour la création du référentiel.

Rubriques• Démarrez avec AWS CodeCommit (p. 60)• Mise en route avec Git et AWS CodeCommit (p. 74)

Démarrez avec AWS CodeCommitCe didacticiel vous montre comment utiliser certaines fonctionnalités clés de CodeCommit. Tout d'abord,vous créez un référentiel et y validez quelques modifications. Ensuite, vous parcourez les fichiers etaffichez les modifications. Vous pouvez également créer une demande d'extraction pour que les autresutilisateurs puissent réviser et commenter les modifications apportées à votre code.

Si vous n'êtes pas familier avec Git, vous pouvez aussi exécuter le didacticiel Mise en route avec Git etCodeCommit (p. 74). Après avoir terminé ces didacticiels, vous devriez avoir suffisamment de pratiquepour commencer à utiliser CodeCommit pour vos propres projets et dans des environnements d'équipe.

Le CodeCommit La console inclut des informations utiles dans un panneau réductible que vous pouvez

ouvrir à partir de l’icône d’informations ( ) ou tout Informations sur la page. Vous pouvez fermer cepanneau à tout moment.

Version de l'API 2015-04-1360

Page 70: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurPrerequisites

La console CodeCommit permet également de rechercher rapidement vos ressources, telles que desréférentiels, des projets de génération, des applications de déploiement et des pipelines. ChoisissezGo to ressource (Accéder aux ressources) ou appuyez sur la touche /, puis saisissez le nom de laressource. Toutes les correspondances s'affichent dans la liste. Les recherches ne sont pas sensibles àla casse. Vous pouvez uniquement consulter les ressources que vous êtes autorisé à afficher. Pour plusd'informations, consultez la section Affichage des ressources dans la console (p. 328).

PrerequisitesAvant de commencer, vous devez compléter les opérations liées aux prérequis et à la configuration (p. 7),notamment :

• Attribution d'autorisations à l'utilisateur IAM.• Configuration de la gestion des informations d'identification pour les connexions HTTPS ou SSH sur

l'ordinateur local que vous utilisez pour ce didacticiel.• Configuration de l'AWS CLI si vous souhaitez utiliser la ligne de commande ou le terminal pour toutes les

opérations, y compris pour créer le référentiel.

Rubriques• Étape 1 : Création d'un référentiel CodeCommit (p. 62)• Étape 2 : Ajouter des fichiers à votre référentiel (p. 63)• Étape 3 : Parcourir le contenu de votre référentiel (p. 65)• Étape 4 : Créer et collaborer sur une demande d’extraction (p. 69)• Étape 5 : Nettoyage (p. 73)• Étape 6 : Étapes suivantes (p. 74)

Version de l'API 2015-04-1361

Page 71: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉtape 1 : Création d'un référentiel CodeCommit

Étape 1 : Création d'un référentiel CodeCommitVous pouvez utiliser la console CodeCommit pour créer un Référentiel CodeCommit. Si vous disposez déjàd'un référentiel que vous souhaitez utiliser pour ce didacticiel, vous pouvez ignorer cette étape.

Note

Selon votre utilisation, vous pouvez être facturé pour la création ou l'accès à un référentiel. Pourde plus amples informations, veuillez consulter Tarification sur la page des informations produitCodeCommit.

Pour créer le Référentiel CodeCommit

1. Ouvrez la console CodeCommit à l'adresse https://console.aws.amazon.com/codesuite/codecommit/home.

2. Utilisez le sélecteur de région pour choisir la région AWS dans laquelle vous souhaitez créer leréférentiel. Pour plus d'informations, consultez la section Régions et points de terminaison deconnexion Git (p. 423).

3. Sur la page Référentiels, choisissez Créer un référentiel.4. Sur la page Créer un référentiel, pour Nom du référentiel, entrez un nom pour votre référentiel (par

exemple, MyDemoRepo).

Note

Les noms des référentiels sont sensibles à la casse et ne peuvent pas comporter plus de 100caractères. Pour plus d'informations, consultez la section Limites (p. 436).

5. (Facultatif) Dans Description, saisissez une description (par exemple, My demonstrationrepository). Cela peut aider d'autres utilisateurs et vous-même à identifier la fonction du référentiel.

6. (Facultatif) Choisissez Add tag (Ajouter une balise) pour ajouter une ou plusieurs balises de référentiel(une étiquette d'attribut personnalisée qui vous aide à organiser et gérer vos ressources AWS) àvotre référentiel. Pour plus d'informations, consultez la section Balisage des référentiels dans AWSCodeCommit (p. 111).

7. (Facultatif) Sélectionnez Enable Amazon CodeGuru Reviewer for Java (Activer Amazon CodeGuruReviewer pour Java) si ce référentiel contient du code Java et que vous souhaitez que CodeGuruReviewer analyse ce code Java. CodeGuru Reviewer utilise plusieurs modèles de Machine Learningpour détecter les défauts de code Java et suggérer automatiquement des améliorations et descorrections dans les demandes d'extraction. Pour de plus amples informations, veuillez consulterGuide de l'utilisateur Amazon CodeGuru Reviewer.

8. Sélectionnez Create.

Version de l'API 2015-04-1362

Page 72: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉtape 2 : Ajouter des fichiers à votre référentiel

Note

Si vous utilisez un nom autre que MyDemoRepo pour votre référentiel, veillez à l'utiliser dans lesétapes restantes.

Lorsque le référentiel s'ouvre, des informations sur la façon d'ajouter des fichiers directement à partir de laconsole CodeCommit s'affichent.

Étape 2 : Ajouter des fichiers à votre référentielVous pouvez ajouter des fichiers à votre référentiel en :

• Créant un fichier dans la console CodeCommit.• Chargement d'un fichier à partir de votre ordinateur local à l'aide de la console CodeCommit.• Utilisation d'un client Git pour cloner le référentiel sur votre ordinateur local, puis ajout, validation et

transmission (push) des fichiers dans le référentiel CodeCommit.

Le moyen le plus simple de commencer est d'ouvrir la console CodeCommit et d'ajouter un fichier.

Pour ajouter un fichier au référentiel

1. Dans la barre de navigation du référentiel, choisissez Code.

Version de l'API 2015-04-1363

Page 73: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉtape 2 : Ajouter des fichiers à votre référentiel

2. Choisissez Ajouter un fichier, puis choisissez de créer un fichier ou d'en charger un à partir de votreordinateur. Ce didacticiel vous explique les deux méthodes.

3. Pour ajouter un fichier, procédez comme suit :

a. Dans la liste déroulante des branches, choisissez la branche dans laquelle vous souhaitez ajouterle fichier. La branche par défaut est sélectionnée automatiquement pour vous. Dans l’exempleillustré ici, la branche par défaut est nommée master. Si vous souhaitez ajouter le fichier à uneautre branche, choisissez une autre branche.

b. Dans Nom du fichier, entrez un nom pour le fichier. Dans l'éditeur de code, entrez le code dufichier.

c. Dans Nom de l'auteur, saisissez le nom que vous souhaitez afficher à d'autres utilisateurs duréférentiel.

d. Dans Adresse e-mail, saisissez une adresse e-mail.e. (Facultatif) Dans Message de validation, saisissez un bref message. Bien que cette étape soit

facultative, nous vous recommandons d'ajouter un message de validation pour aider les membresde votre équipe à comprendre pourquoi vous avez ajouté ce fichier. Si vous ne saisissez pas demessage de validation, un message par défaut est utilisé.

f. Choisissez Valider les modifications.

Pour télécharger un fichier, procédez comme suit :

• Si vous chargez un fichier, choisissez le fichier que vous voulez charger.

• Dans Nom de l'auteur, saisissez le nom que vous souhaitez afficher à d'autres utilisateurs duréférentiel.

• Dans Adresse e-mail, saisissez une adresse e-mail.• (Facultatif) Dans Message de validation, saisissez un bref message. Bien que cette étape soit

facultative, nous vous recommandons d'ajouter un message de validation pour aider les membresde votre équipe à comprendre pourquoi vous avez ajouté ce fichier. Si vous ne saisissez pas demessage de validation, un message par défaut est utilisé.

• Choisissez Valider les modifications.

Pour plus d'informations, consultez la section Utilisation des fichiers dans AWS CodeCommitréférentiels (p. 161).

Version de l'API 2015-04-1364

Page 74: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉtape 3 : Parcourir le contenu de votre référentiel

Pour utiliser un client Git pour cloner le référentiel, installez Git sur votre ordinateur local, puisclonez le référentiel CodeCommit. Ajoutez des fichiers au référentiel local et transmettez-les vers leréférentiel CodeCommit. Pour voir une présentation approfondie, consultez le Mise en route avec Git etCodeCommit (p. 74). Si vous connaissez bien Git, mais n'êtes pas sûr de la façon de procéder avecun référentiel CodeCommit, vous pouvez consulter des exemples et des instructions dans Créer unevalidation (p. 232), Étape 2 : Créer un référentiel local (p. 76) ou Connexion à un référentiel (p. 99).

Une fois que vous avez ajouté des fichiers dans le référentiel CodeCommit, vous pouvez les afficher dansla console.

Étape 3 : Parcourir le contenu de votre référentielVous pouvez utiliser la console CodeCommit pour consulter les fichiers d'un référentiel ou lire rapidementle contenu d'un fichier. Cela vous aidera à déterminer quelle branche vérifier ou si vous devez créer unecopie locale d'un référentiel.

Pour parcourir le référentiel

1. Dans Repositories (Référentiels), choisissez MyDemoRepo.2. La page affiche le contenu de la branche par défaut de votre référentiel. Pour afficher une autre

branche ou afficher le code sur une balise spécifique, choisissez la branche ou la balise à afficher dansla liste. Dans la capture d’écran suivante, la vue est définie sur maître branche.

3. Pour afficher le contenu d'un fichier dans votre référentiel, choisissez le fichier dans la liste. Pourmodifier la couleur du code affiché, choisissez l'icône de paramètres (Settings).

Version de l'API 2015-04-1365

Page 75: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉtape 3 : Parcourir le contenu de votre référentiel

Pour plus d'informations, consultez la section Parcourir les fichiers dans un référentiel (p. 162).4. Pour parcourir l'historique des validations du référentiel, choisissez Commits. La console affiche

l'historique des validations pour la branche par défaut, dans l'ordre chronologique inverse. Passez enrevue les détails de validation par auteur, pat date et plus encore.

5. Pour afficher l'historique de validation par branche (p. 266) ou par balise Git (p. 262), choisissez labranche ou la balise à afficher dans la liste.

6. Pour voir les différences entre une validation et sa validation parent, choisissez l'ID de validationabrégé. Vous pouvez choisir la manière dont les modifications sont affichées, y compris afficher oumasquer les modifications d'espace, et définir si les modifications doivent être affichées en ligne (vueunifiée) ou côte à côte (vue fractionnée).

Note

Vos préférences d'affichage du code, ainsi que les autres paramètres de la console sontenregistrés en tant que cookies du navigateur chaque fois que vous les modifiez. Pour plusd'informations, consultez la section Utilisation des préférences utilisateur (p. 282).

Version de l'API 2015-04-1366

Page 76: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉtape 3 : Parcourir le contenu de votre référentiel

7. Pour afficher tous les commentaires sur une validation, sélectionnez la validation et faites défiler lapage pour les consulter directement. Vous pouvez également ajouter vos propres commentaires etrépondre à ceux des autres utilisateurs.

Pour plus d'informations, consultez la section Commentaire relatif à une validation (p. 250).8. Pour afficher les différences entre deux spécificateurs de validation, y compris les balises, les

branches et la validation IDs, dans le volet de navigation, choisissez Engagements, puis choisissezComparer les validations.

Version de l'API 2015-04-1367

Page 77: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉtape 3 : Parcourir le contenu de votre référentiel

Pour de plus amples informations, veuillez consulter Parcourir l’historique de validation d’unréférentiel (p. 238) et Comparer des validations (p. 246).

9. Dans Validations, sélectionnez l'onglet Visualiseur de validations.

Le graphique de validation s'affiche, avec la ligne d'objet pour chaque validation affichée en regard deson point dans le graphique. L'affichage de la ligne d'objet est limité à 80 caractères.

10. Pour en savoir plus sur une validation, sélectionnez son ID de validation abrégée. Pour afficherle graphique à partir d'une validation spécifique, choisissez ce point dans le graphique. Pour plus

Version de l'API 2015-04-1368

Page 78: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉtape 4 : Créer et collaborer sur une demande d’extraction

d'informations, consultez la section Afficher un graphique de l’historique de validation d’un référentiel (p. 239).

Étape 4 : Créer et collaborer sur une demanded’extractionLorsque vous travaillez dans un référentiel avec d'autres utilisateurs, vous pouvez collaborer sur le codeet passer en revue les modifications. Vous pouvez créer une demande d'extraction afin que d'autresutilisateurs puissent consulter et commenter vos modifications de code dans une branche. Vous pouvezégalement créer une ou plusieurs règles d'approbation pour la demande d'extraction. Par exemple,vous pouvez créer une règle d'approbation qui exige qu'au moins deux autres utilisateurs approuvent lademande d'extraction pour qu'elle puisse être fusionnée. Une fois la demande d'extraction approuvée,vous pouvez fusionner ces modifications dans sa branche de destination. Si vous avez configuré desnotifications pour votre référentiel, les utilisateurs du référentiel peuvent recevoir des e-mails sur lesévénements relatifs au référentiel (par exemple, pour les demandes d'extraction ou lorsque quelqu'uncommente le code). Pour plus d'informations, consultez la section Configuration des notifications pour lesévénements dans un AWS CodeCommit référentiel (p. 106).

Important

Avant de créer une demande d'extraction, vous devez créer une branche qui contient lesmodifications de code que vous souhaitez faire vérifier. Pour plus d'informations, consultez lasection Création d'une branche (p. 267).

Créer et gérer une demande d'extraction de manière collaborative

1. Dans le volet de navigation, choisissez Demandes d'extraction.2. Dans Demandes d'extraction, sélectionnez Créer une demande d'extraction.

Tip

Vous pouvez également créer des demandes d'extractions depuis Branches et Code.

Dans la section Source de Create pull request, recherchez la branche qui contient les modificationsque vous voulez faire vérifier. Dans Destination, choisissez la branche dans laquelle vous souhaitezfusionner le code modifié lorsque la demande d'extraction est fermée. Choisissez Comparer.

3. Passez en revue les détails de la fusion et les modifications pour confirmer que la demanded'extraction contient les modifications et les validations que vous voulez faire vérifier. Si tel est lecas, dans Titre, saisissez un titre pour cette révision. Il s'agit du titre qui s'affiche dans la liste desdemandes d'extraction pour le référentiel. Dans Description, saisissez les détails relatifs à la révision ettoutes autres informations utiles pour les réviseurs. Sélectionnez Create.

Version de l'API 2015-04-1369

Page 79: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉtape 4 : Créer et collaborer sur une demande d’extraction

4. Votre demande d'extraction s'affiche dans la liste des demandes d'extraction du référentiel. Vouspouvez filtrer la vue pour afficher uniquement les demandes ouvertes, les demandes fermées, lesdemandes que vous avez créées, et bien plus encore.

5. Vous pouvez ajouter une règle d’approbation à votre demande d’extraction pour vous assurer quecertaines conditions sont remplies avant qu’elle ne puisse être fusionnée. Pour ajouter une règled'approbation à votre demande d'extraction, choisissez la demande d'extraction dans la liste. Sousl'onglet Approvals (Approbations), choisissez Create approval rule (Créer une règle d'approbation).

6. Dans Rule name (Nom de la règle), attribuez un nom descriptif à la règle. Par exemple, si voussouhaitez que deux personnes approuvent une demande d’extraction avant qu’elle ne puisse êtrefusionnée, vous pouvez nommer la règle Require two approvals before merge. dans Nombred’approbations nécessaires, saisissez 2, le numéro que vous voulez. La valeur par défaut est1.Choisissez Submit. Pour de plus amples informations sur les règles d'approbation et les membresdu groupe d'approbation, veuillez consulter Créer une règle d’approbation pour une demanded’extraction (p. 174).

Version de l'API 2015-04-1370

Page 80: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉtape 4 : Créer et collaborer sur une demande d’extraction

7. Si vous avez configuré des notifications pour votre référentiel et avez choisi d'informer les utilisateursau sujet des événements de demande d'extraction, les utilisateurs reçoivent un e-mail concernantvotre nouvelle demande d'extraction. Les utilisateurs peuvent visualiser les modifications et commenterdes lignes de code spécifiques, des fichiers et la demande d'extraction elle-même. Ils peuventégalement répondre aux commentaires avec du texte et des emojis. Si nécessaire, vous pouveztransmettre (push) les modifications à la branche de demande d'extraction, qui met à jour la demanded'extraction.

Version de l'API 2015-04-1371

Page 81: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉtape 4 : Créer et collaborer sur une demande d’extraction

8. Si vous êtes satisfait des modifications apportées à la demande, choisissez Approve (Approuver).Vous pouvez choisir d'approuver une demande d'extraction même si aucune règle d'approbation n'estconfigurée pour cette demande. Vous fournissez ainsi un enregistrement clair de votre examen dela demande d'extraction et de votre approbation des modifications. Vous pouvez également choisird'annuler votre approbation si vous changez d'avis.

Note

Vous ne pouvez pas approuver une demande d'extraction si vous l'avez créée.9. Lorsque vous êtes satisfait que toutes les modifications de code ont été vérifiées et approuvées, à

partir de la demande d'extraction, exécutez l'une des actions suivantes :

• Si vous voulez fermer la demander d'extraction sans fusionner les branches, choisissez Close pullrequest (Fermer la demande d’extraction).

• Si vous souhaitez fusionner les branches et fermer la demande d'extraction, choisissez Merge(Fusionner). Vous pouvez choisir entre les stratégies de fusion disponibles pour votre code, quireposent sur les différences entre les branches source et de destination, et s'il convient de supprimerautomatiquement la branche source une fois que la fusion est terminée. Après avoir effectué vossélections, choisissez Merge pull request (Fusionner la demande d’extraction) pour terminer lafusion.

Version de l'API 2015-04-1372

Page 82: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉtape 5 : Nettoyage

• S'il existe des conflits de fusion dans les branches qui ne peuvent pas être résolusautomatiquement, vous pouvez les résoudre dans la console CodeCommit ou utiliser votre clientGit local pour fusionner les branches, puis transférez la fusion. Pour plus d'informations, consultezla section Résoudre les conflits dans une demande d’extraction dans un AWS CodeCommitréférentiel (p. 206).

Note

Vous pouvez toujours fusionner manuellement les branches, y compris les branches dedemande d'extraction, en utilisant la commande git merge dans le référentiel local et enenvoyant les modifications.

Pour de plus amples informations, veuillez consulter Utilisation des demandes d'extraction (p. 169) etUtilisation des modèles de règles d'approbation (p. 217).

Étape 5 : NettoyageSi vous n'avez plus besoin du référentiel CodeCommit, vous devez supprimer le Référentiel CodeCommitet les autres ressources utilisées dans cet exercice, afin de ne plus être facturé pour l'espace de stockage.

Version de l'API 2015-04-1373

Page 83: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉtape 6 : Étapes suivantes

Important

Cette action ne peut pas être annulée. Une fois que vous supprimez ce référentiel, vous nepouvez plus le cloner en un rapport local ou dépôt partagé. Vous ne pouvez plus non plus enextraire des données, lui transmettre (push) des données, ni effectuer des opérations Git, à partird'un rapport local ou d'un dépôt partagé quelconque.Si vous avez configuré des notifications pour votre référentiel, la suppression du référentielsupprime également la règle Amazon CloudWatch Events créée pour le référentiel. Elle nesupprime pas la rubrique Amazon SNS utilisée comme cible pour cette règle.Si vous avez configuré des déclencheurs pour votre référentiel, la suppression du référentiel nesupprime pas les rubriques Amazon SNS ni les fonctions Lambda que vous avez configuréescomme cibles de ces déclencheurs. Veillez à supprimer ces ressources si vous n'en avezpas besoin. Pour plus d'informations, consultez la section Supprimer des déclencheurs d’unréférentiel (p. 135).

Pour supprimer le Référentiel CodeCommit

1. Ouvrez la console CodeCommit à l'adresse https://console.aws.amazon.com/codesuite/codecommit/home.

2. Dans Référentiels, sélectionnez le nom du référentiel que vous voulez supprimer. Si vous avez suivi laconvention de dénomination de cette rubrique, il est nommé MyDemoRepo.

3. Dans le panneau de navigation, choisissez Settings.4. Sur la page Settings, dans Delete repository, choisissez Delete repository.5. Saisissez delete, puis sélectionnez Delete (Supprimer). Le référentiel est définitivement supprimé.

Étape 6 : Étapes suivantesMaintenant que vous vous êtes familiarisé avec CodeCommit et certaines de ses fonctions, vous pouvezenvisager les étapes suivantes :

• Si vous utilisez Git et CodeCommit pour la première fois ou que vous souhaitez consulter desexemples d'utilisation de Git avec CodeCommit, poursuivez avec le didacticiel Mise en route avec Git etCodeCommit (p. 74).

• Si vous souhaitez travailler avec d'autres personnes dans un référentiel CodeCommit, consultez Partagerun référentiel (p. 102). (Si vous souhaitez partager votre référentiel avec des utilisateurs d'un autrecompte AWS, consultez Configurer l’accès entre comptes à un AWS CodeCommit du référentiel à l’aidede rôles (p. 150).)

• Si vous souhaitez migrer un référentiel vers CodeCommit, suivez les étapes de Migration versCodeCommit (p. 283).

• Si vous souhaitez ajouter votre référentiel à un pipeline de diffusion en continu, suivez les étapes deDidacticiel : Créer un pipeline simple.

• Si vous voulez en savoir plus sur les produits et les services qui s'intègrent à CodeCommit, avecnotamment des exemples de la communauté, consultez Intégrations de produits et services (p. 86).

Mise en route avec Git et AWS CodeCommitSi vous utilisez Git et CodeCommit pour la première fois, ce didacticiel vous permet de découvrir quelquescommandes simples pour débuter. Si vous êtes déjà familiarisé avec Git, vous pouvez ignorer ce didacticielet accéder à Démarrez avec CodeCommit (p. 60).

Dans ce didacticiel, vous créez un référentiel qui représente une copie locale de l’ Référentiel CodeCommit,que nous appelons un rapport local.

Version de l'API 2015-04-1374

Page 84: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉtape 1 : Création d'un référentiel CodeCommit

Après avoir créé le rapport local, vous y apportez quelques modifications. Ensuite, vous envoyez (push)vos modifications au Référentiel CodeCommit.

Vous simulez également un environnement d'équipe où deux utilisateurs valident indépendamment lesmodifications apportées à leur rapport local et transmettent celles-ci vers le Référentiel CodeCommit. Lesutilisateurs extraient alors les modifications du Référentiel CodeCommit vers leur propre rapport local pourpasser en revue les modifications effectuées par l'autre utilisateur.

Vous créez également des branches et des balises, et gérez des autorisations d'accès dans le RéférentielCodeCommit.

Après avoir terminé ce didacticiel, vous devriez avoir acquis suffisamment de pratique avec les principauxconcepts Git et CodeCommit pour les utiliser dans vos propres projets.

Exécutez les prérequis et la configuration (p. 7) :

• Attribuez des autorisations à l'utilisateur IAM.• Paramétrer pour se connecter à l’aide de HTTPS (p. 10), SSH ou git-remote-codecommit (p. 15). Pour

plus d’informations sur ces choix, consultez Configuration pour AWS CodeCommit (p. 7).• Configurez l'AWS CLI si vous souhaitez utiliser la ligne de commande ou le terminal pour toutes les

opérations, y compris pour la création du référentiel.

Rubriques• Étape 1 : Création d'un référentiel CodeCommit (p. 75)• Étape 2 : Créer un référentiel local (p. 76)• Étape 3 : Créez votre première validation (p. 77)• Étape 4 : Appuyez sur votre premier engagement (p. 78)• Étape 5 : Partager le CodeCommit du référentiel et transmettre et extraire une autre

validation (p. 78)• Étape 6 : Créer et partager une branche (p. 80)• Étape 7 : Créer et partager une balise (p. 81)• Étape 8 : Configurer les autorisations d’accès (p. 82)• Étape 9 : Nettoyage (p. 84)

Étape 1 : Création d'un référentiel CodeCommitAu cours de cette étape, vous utilisez la console CodeCommit pour créer le référentiel.

Vous pouvez ignorer cette étape si vous disposez déjà d'un référentiel CodeCommit que vous souhaitezutiliser.

Note

Selon votre utilisation, vous pouvez être facturé pour la création ou l'accès à un référentiel. Pourde plus amples informations, veuillez consulter Tarification sur la page des informations produitCodeCommit.

Pour créer le Référentiel CodeCommit

1. Ouvrez la console CodeCommit à l'adresse https://console.aws.amazon.com/codesuite/codecommit/home.

Version de l'API 2015-04-1375

Page 85: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉtape 2 : Créer un référentiel local

2. Utilisez le sélecteur de région pour choisir la région AWS dans laquelle vous souhaitez créer leréférentiel. Pour plus d'informations, consultez la section Régions et points de terminaison deconnexion Git (p. 423).

3. Sur la page Référentiels, choisissez Créer un référentiel.4. Sur la page Créer un référentiel, pour Nom du référentiel, entrez un nom pour votre référentiel (par

exemple, MyDemoRepo).

Note

Les noms des référentiels sont sensibles à la casse et ne peuvent pas comporter plus de 100caractères. Pour plus d'informations, consultez la section Limites (p. 436).

5. (Facultatif) Dans Description, saisissez une description (par exemple, My demonstrationrepository). Cela peut aider d'autres utilisateurs et vous-même à identifier la fonction du référentiel.

6. (Facultatif) Choisissez Add tag (Ajouter une balise) pour ajouter une ou plusieurs balises de référentiel(une étiquette d'attribut personnalisée qui vous aide à organiser et gérer vos ressources AWS) àvotre référentiel. Pour plus d'informations, consultez la section Balisage des référentiels dans AWSCodeCommit (p. 111).

7. (Facultatif) Sélectionnez Enable Amazon CodeGuru Reviewer for Java (Activer Amazon CodeGuruReviewer pour Java) si ce référentiel contient du code Java et que vous souhaitez que CodeGuruReviewer analyse ce code Java. CodeGuru Reviewer utilise plusieurs modèles de Machine Learningpour détecter les défauts de code Java et suggérer automatiquement des améliorations et descorrections dans les demandes d'extraction. Pour de plus amples informations, veuillez consulterGuide de l'utilisateur Amazon CodeGuru Reviewer.

8. Sélectionnez Create.

Note

Les autres étapes de ce didacticiel utilisent MyDemoRepo comme nom du RéférentielCodeCommit. Si vous choisissez un autre nom, veillez à l'utiliser tout au long de ce didacticiel.

Pour plus d'informations sur la création de référentiels, notamment la création d'un référentiel depuis leterminal ou la ligne de commande, consultez Création d'un référentiel (p. 96).

Étape 2 : Créer un référentiel localDans cette étape, vous configurez un référentiel local sur votre ordinateur local pour vous connecter àvotre référentiel. Pour ce faire, vous sélectionnez sur votre ordinateur local un répertoire qui représentele référentiel local. Vous utilisez Git pour cloner et initialiser une copie de votre Référentiel CodeCommitvide au sein de ce répertoire. Ensuite, vous spécifiez le nom d'utilisateur et l'adresse e-mail à utiliser pourannoter vos validations.

1. Ouvrez la console CodeCommit à l'adresse https://console.aws.amazon.com/codesuite/codecommit/home.

2. Dans le sélecteur de région, choisissez la région AWS dans laquelle le référentiel a été créé. Lesréférentiels sont propres à une région AWS. Pour de plus amples informations, veuillez consulterRégions et points de terminaison de connexion Git (p. 423).

3. Trouvez le référentiel auquel vous souhaitez vous connecter dans la liste et choisissez-le. ChoisissezClone URL (Cloner URL), puis choisissez le protocole que vous souhaitez utiliser lors du clonage oude la connexion au référentiel. Cette opération copie l'URL de clonage.

• Copiez l'URL HTTPS si vous utilisez les informations d'identification Git avec l'utilisateur IAM oul'assistant d'informations d'identification inclus avec l'AWS CLI.

• Copiez l'URL HTTPS (GRC) si vous utilisez la commande git-remote-codecommit sur votreordinateur local.

Version de l'API 2015-04-1376

Page 86: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉtape 3 : Créez votre première validation

• Copiez l'URL SSH si vous utilisez une paire de clés publique/privée SSH avec l'utilisateur IAM.

Note

Si vous voyez une page Welcome (Bienvenue) au lieu d'une liste de référentiels, celasignifie qu'il n'y a aucun référentiel associé à votre compte AWS dans la région AWS danslaquelle vous êtes connecté. Pour créer un référentiel, consultez the section called “Créationd'un référentiel ” (p. 96) ou suivez les étapes du didacticiel Mise en route avec Git etCodeCommit (p. 74).

4. À l’invite de terminal ou de commande, clonez le référentiel avec le git clone et en fournissant l’URLde clone que vous avez copiée à l’étape précédente. L'URL de clone diffère selon le protocoleet la configuration que vous utilisez. Par exemple, si vous utilisez HTTPS avec des informationsd’identification Git pour cloner un référentiel nommé MyDemoRepo dans le USA Est (Ohio) Région :

git clone https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo my-demo-repo

Si vous utilisez HTTPS avec git-remote-codecommit :

git clone codecommit://MyDemoRepo my-demo-repo

Si vous utilisez SSH :

git clone ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo my-demo-repo

Note

Si une erreur s'affiche lorsque vous tentez de cloner un référentiel, vous n'avez peut-êtrepas terminé l'installation nécessaire pour votre ordinateur local. Pour plus d'informations,consultez la section Configuration pour AWS CodeCommit (p. 7).

Étape 3 : Créez votre première validationDans cette étape, vous créez votre première validation dans votre rapport local. Pour ce faire, vous créezdeux exemples de fichier dans votre rapport local. Vous utilisez Git pour effectuer une copie intermédiaire,puis valider la modification dans votre rapport local.

1. Utilisez un éditeur de texte pour créer les deux exemples de fichiers de texte suivants dans votrerépertoire. Nommez les fichiers cat.txt et dog.txt :

cat.txt-------The domestic cat (Felis catus or Felis silvestris catus) is a small, usually furry, domesticated, and carnivorous mammal.

dog.txt-------The domestic dog (Canis lupus familiaris) is a canid that is known as man's best friend.

2. Exécuter git config pour ajouter votre nom d’utilisateur et votre adresse e-mail représentés par desespaces réservés your-user-name et your-email-address vers votre référentiel local. Celafacilite l'identification des validations que vous effectuez :

Version de l'API 2015-04-1377

Page 87: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉtape 4 : Appuyez sur votre premier engagement

git config --local user.name "your-user-name"git config --local user.email your-email-address

3. Exécutez git add pour effectuer une copie intermédiaire de la modification :

git add cat.txt dog.txt

4. Exécutez git commit pour valider la modification :

git commit -m "Added cat.txt and dog.txt"

Tip

Pour afficher les détails relatifs à la validation que vous venez d'effectuer, exécutez git log.

Étape 4 : Appuyez sur votre premier engagementDans cette étape, vous transmettez la validation de votre rapport local vers votre Référentiel CodeCommit.

Exécutez git push pour transmettre votre validation avec le nom distant par défaut utilisé par Git pour votreRéférentiel CodeCommit (origin), à partir de la branche par défaut dans votre rapport local (master) :

git push -u origin master

Tip

Une fois que vous avez transmis les fichiers vers votre référentiel CodeCommit, vous pouvezutiliser la console CodeCommit pour afficher le contenu. Pour plus d'informations, consultez lasection Parcourir les fichiers dans un référentiel (p. 162).

Étape 5 : Partager le CodeCommit du référentiel ettransmettre et extraire une autre validationDans cette étape, vous partagez des informations sur le Référentiel CodeCommit avec un autre membrede l'équipe. Le membre d'équipe utilise ces informations pour obtenir une copie locale, y apporter desmodifications, puis transmettre la copie locale modifiée vers votre Référentiel CodeCommit. Vous extrayezensuite les modifications du Référentiel CodeCommit vers votre rapport local.

Dans ce didacticiel, vous simulez l'autre utilisateur en demandant à Git de créer un répertoire distinctde celui que vous avez créé à l'étape 2 (p. 76). (Généralement, ce répertoire se trouve sur une autremachine.) Ce nouveau répertoire est une copie de votre Référentiel CodeCommit. Toutes les modificationsque vous apportez au répertoire existant ou à ce nouveau répertoire sont effectuées indépendamment. Leseul moyen d'identifier les modifications apportées à ces répertoires consiste à les extraire du RéférentielCodeCommit.

Même si ces répertoires sont situés sur le même ordinateur local, nous appelons le répertoire existant votreréférentiel local et le nouveau répertoire, le référentiel partagé.

Depuis le nouveau répertoire, vous obtenez une copie distincte du Référentiel CodeCommit. Vous ajoutezensuite un nouveau fichier exemple, validez les modifications dans le référentiel partagé, puis transmettezla validation depuis le référentiel partagé vers votre Référentiel CodeCommit.

Enfin, vous extrayez les modifications de votre référentiel vers votre rapport local, puis le parcourez pourconsulter les modifications validées par l'autre utilisateur.

Version de l'API 2015-04-1378

Page 88: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉtape 5 : Partager le CodeCommit du référentiel

et transmettre et extraire une autre validation

1. Passez au répertoire /tmp ou c:\temp.2. Exécutez git clone pour transmettre une copie du référentiel vers le référentiel partagé :

Pour HTTPS :

git clone https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo shared-demo-repo

Pour HTTPS avec git-remote-codecommit :

git clone codecommit://MyDemoRepo shared-demo-repo

Pour SSH :

git clone ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo shared-demo-repo

Note

Lorsque vous clonez un référentiel à l’aide de SSH sur des systèmes d’exploitation Windows,vous peut avoir besoin de ajoutez l’ID de clé SSH à la chaîne de connexion comme suit :

git clone ssh://[email protected]/v1/repos/MyDemoRepo my-demo-repo

Pour plus d'informations, consultez la section Pour les connexions SSH sousWindows (p. 42).

Dans cette commande, MyDemoRepo est le nom de votre Référentiel CodeCommit. shared-demo-repo est le nom du répertoire que Git crée dans le répertoire /tmp ou le répertoire c:\temp. Une foisque Git a créé le répertoire, il extrait une copie du référentiel dans le répertoire shared-demo-repo.

3. Passez au répertoire shared-demo-repo :

(For Linux, macOS, or Unix) cd /tmp/shared-demo-repo(For Windows) cd c:\temp\shared-demo-repo

4. Exécuter git config pour ajouter un autre nom d’utilisateur et une autre adresse e-mail représentés pardes espaces réservés other-user-name et other-email-address. Cela facilite l’identificationdes validations effectuées par l’autre utilisateur :

git config --local user.name "other-user-name"git config --local user.email other-email-address

5. Utilisez un éditeur de texte pour créer l'exemple de fichier texte suivant dans le répertoire shared-demo-repo. Nommez le fichier horse.txt:

horse.txt-------The horse (Equus ferus caballus) is one of two extant subspecies of Equus ferus.

6. Exécutez git add pour effectuer une copie intermédiaire de la modification dans le référentiel partagé :

git add horse.txt

7. Exécutez git commit pour valider la modification dans le référentiel partagé :Version de l'API 2015-04-1379

Page 89: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉtape 6 : Créer et partager une branche

git commit -m "Added horse.txt"

8. Exécutez git push pour transmettre votre validation initiale avec le nom distant par défaut utilisé parGit pour votre Référentiel CodeCommit (origin), à partir de la branche par défaut dans votre rapportlocal (master) :

git push -u origin master

9. Basculez vers votre rapport local et exécutez git pull pour extraire vers votre rapport local la validationeffectuée par le référentiel partagé dans le Référentiel CodeCommit. Puis exécutez git log pour voir lavalidation qui a été initiée depuis le référentiel partagé.

Étape 6 : Créer et partager une brancheDans cette étape, vous créez une branche dans votre rapport local, y apportez quelques modifications,puis transmettez la branche vers votre Référentiel CodeCommit. Vous extrayez ensuite la branche vers leréférentiel partagé depuis votre Référentiel CodeCommit.

A branche vous permet de développer indépendamment une version différente du contenu du référentiel(par exemple, pour travailler sur une nouvelle fonctionnalité logicielle sans affecter le travail des membresde votre équipe). Lorsque cette fonctionnalité est stable, vous fusionnez la branche avec une branche plusstable du logiciel.

Vous utilisez Git pour créer la branche, puis la faites pointer sur la première validation que vous avezeffectuée. Vous utilisez Git pour transmettre la branche vers le Référentiel CodeCommit. Ensuite, vousbasculez vers votre référentiel partagé, puis utilisez Git pour extraire la nouvelle branche dans votre rapportlocal partagé et l'explorer.

1. Depuis votre rapport local, exécutez git checkout, en spécifiant le nom de la branche (par exemple,MyNewBranch) et l'ID de la première validation que vous avez effectuée dans le rapport local.

Si vous ne connaissez pas l'ID de validation, exécutez git log pour l'obtenir. Assurez-vous que lavalidation comporte votre nom d'utilisateur et votre adresse e-mail, et non le nom d'utilisateur etl'adresse e-mail de l'autre utilisateur. Ceci vise à simuler que master est une version stable duRéférentiel CodeCommit et que la branche MyNewBranch est destinée à une nouvelle fonctionnalitérelativement instable :

git checkout -b MyNewBranch commit-ID

2. Exécutez git push pour envoyer la nouvelle branche depuis le rapport local vers le RéférentielCodeCommit :

git push origin MyNewBranch

3. A présent, extrayez la branche dans le référentiel partagé et vérifiez vos résultats :

1. Basculez vers le répertoire du référentiel partagé (shared-demo-repo).2. Extrayez la nouvelle branche (git fetch origin).3. Vérifiez que la branche a été extraite dans (git branch --all affiche une liste de toutes les branches

pour le référentiel).4. Switch to the new branch (git checkout MyNewBranch).5. Confirmez que vous êtes passé au MyNewBranch branche en cours d’exécution git status ou

git branch. La sortie indique la branche sur laquelle vous trouvez. Dans ce cas, il doit s'agir deMyNewBranch.

Version de l'API 2015-04-1380

Page 90: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉtape 7 : Créer et partager une balise

6. Affichez la liste des validations dans la branche (git log).

Voici la liste des commandes Git à appeler :

git fetch origingit branch --allgit checkout MyNewBranchgit branch or git statusgit log

4. Revenez dans la branche master et affichez la liste des validations. Les commandes Git devraientressembler à ceci :

git checkout mastergit log

5. Basculez vers la branche master de votre rapport local. Vous pouvez exécuter git status ou gitbranch. La sortie indique la branche sur laquelle vous trouvez. Dans ce cas, il doit être master. Lescommandes Git doivent ressembler à ceci :

git checkout mastergit branch or git status

Étape 7 : Créer et partager une baliseDans cette étape, vous créez deux balises dans votre rapport local, associez ces balises à des validations,puis transmettez les balises vers votre Référentiel CodeCommit. Vous extrayez ensuite les modifications duRéférentiel CodeCommit vers le référentiel partagé.

A balise est utilisé pour donner un nom lisible par l’homme à une validation (ou à une branche ou même àune autre balise). Pour cela, vous devez, par exemple, baliser une validation comme v2.1. Une validation,une branche ou une balise peut être associée à un nombre illimité de balises, mais une balise individuellepeut être associée à une seule validation, branche ou balise. Dans ce didacticiel, vous balisez unevalidation en tant que version et une validation en tant que beta.

Vous utilisez Git pour créer les balises, en faisant pointer la balise version sur la première validation quevous avez effectuée et la balise beta sur la validation exécutée par l'autre utilisateur. Vous utilisez ensuiteGit pour transmettre les balises vers le Référentiel CodeCommit. Vous basculez alors vers votre référentielpartagé, puis utilisez Git pour extraire les balises dans votre rapport local partagé et les explorer.

1. Depuis votre rapport local, exécutez git tag, en spécifiant le nom de la branche (par exemple,version) et l'ID de la première validation que vous avez effectuée dans le rapport local.

Si vous ne connaissez pas l'ID de validation, exécutez git log pour l'obtenir. Assurez-vous que lavalidation comporte votre nom d'utilisateur et votre adresse e-mail, et non le nom d'utilisateur etl'adresse e-mail de l'autre utilisateur. Ceci vise à simuler que votre validation est une version stable duRéférentiel CodeCommit :

git tag version commit-ID

Exécutez à nouveau git tag pour baliser la validation effectuée par l'autre utilisateur avec la balisebeta. Ceci vise à simuler que la validation est destinée à une nouvelle fonctionnalité relativementinstable :

Version de l'API 2015-04-1381

Page 91: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉtape 8 : Configurer les autorisations d’accès

git tag beta commit-ID

2. Exécutez git push --tags pour envoyer les balises à l'Référentiel CodeCommit.3. A présent, extrayez les balises dans le référentiel partagé et vérifiez vos résultats :

1. Basculez vers le répertoire du référentiel partagé (shared-demo-repo).2. Extrayez les nouvelles balises (git fetch origin).3. Vérifiez que les balises ont été extraite (git tag affiche une liste des balises pour le référentiel).4. Consultez les informations sur chaque balise (git log version et git log beta).

Voici la liste des commandes Git à appeler :

git fetch origingit taggit log versiongit log beta

4. Essayez également ceci dans le rapport local.

git log versiongit log beta

Étape 8 : Configurer les autorisations d’accèsDans cette étape, vous accordez à un utilisateur l'autorisation de synchroniser le référentiel partagé avecle Référentiel CodeCommit. Il s'agit d'une étape facultative. Ceci est recommandé pour les utilisateurs quiveulent apprendre comment contrôler l'accès aux référentiels CodeCommit.

Pour ce faire, vous utilisez la console IAM pour créer un utilisateur IAM qui, par défaut, n'est pas autoriséà synchroniser le référentiel partagé avec le Référentiel CodeCommit. Vous pouvez exécuter git pull pourle vérifier. Si le nouvel utilisateur n'est pas autorisé à synchroniser, la commande ne fonctionne pas. Puisvous revenez à la page IAM et appliquer une stratégie qui permet à l’utilisateur d’utiliser git pull. À nouveau,vous pouvez exécuter git pull pour vérifier ce.

Cette étape est écrite en supposant que vous disposez des autorisations nécessaires pour créer desutilisateurs IAM dans votre compte AWS. Si vous ne disposez pas de ces autorisations, vous ne pouvezpas effectuer les procédures décrites dans cette étape. Passez à Étape 9 : Nettoyage (p. 84) pournettoyer les ressources que vous avez utilisées pour votre didacticiel.

1. Connectez-vous à la AWS Management Console et ouvrez la console IAM à l'adresse https://console.aws.amazon.com/iam/.

Veillez à vous connecter avec les mêmes nom d'utilisateur et mot de passe que ceux utilisés dansConfiguration de (p. 7).

2. Dans le volet de navigation, choisissez Users, puis Create New Users.3. Dans la première zone Enter User Names (Saisir les noms d'utilisateur), saisissez un exemple de nom

d'utilisateur (par exemple, JaneDoe-CodeCommit). Cochez la case Generate an access key for eachuser (Générer une clé d'accès pour chaque utilisateur) et choisissez Create (Créer).

4. Sélectionnez Show User Security Credentials. Notez l'ID de clé d'accès et la clé d'accès secrète, ouchoisissez Télécharger les informations d'identification.

5. Suivez les instructions dans Pour les utilisateurs HTTPS utilisant des informations d’identificationGit (p. 10) pour générer et fournir les informations d'identification de l'utilisateur IAM.

Version de l'API 2015-04-1382

Page 92: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉtape 8 : Configurer les autorisations d’accès

Si vous souhaitez utiliser SSH, suivez les instructions de SSH et Linux, macOS, or Unix : Configurationdes clés publiques et privées pour Git etCodeCommit (p. 38) ou Étape 3 : Configuration des cléspubliques et privées pour Git etCodeCommit (p. 44) pour configurer l'utilisateur avec des cléspubliques et privées.

6. Exécuter git pull. L’erreur suivante doit apparaître :

Pour HTTPS :

fatal: unable to access 'https://git-codecommit.us-east-2.amazonaws.com/v1/repos/repository-name/': The requested URL returned error: 403.

Pour SSH :

fatal: unable to access 'ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/repository-name/': The requested URL returned error: 403.

L'erreur apparaît car le nouvel utilisateur n'est pas autorisé à synchroniser le référentiel partagé avec leRéférentiel CodeCommit.

7. Revenez à la console IAM. Dans le volet de navigation, choisissez Policies, puis Create Policy. (Si unbouton Mise en route est affiché, choisissez-le, puis choisissez Créer une stratégie.)

8. En regard de Créer votre propre stratégie, choisissez Sélectionner.9. Dans la zone Nom de la stratégie, saisissez un nom (par exemple, CodeCommitAccess-

GettingStarted).10. Dans la zone Policy Document (Document de stratégie), saisissez ce qui suit, autorisant ainsi un

utilisateur IAM à effectuer une extraction à partir de tout référentiel associé à l'utilisateur IAM :

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codecommit:GitPull" ], "Resource": "*" } ]}

Tip

Si vous souhaitez que l'utilisateur IAM puisse transmettre des validations vers n'importe quelréférentiel associé à l'utilisateur IAM, saisissez plutôt ce que suit :

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codecommit:GitPull", "codecommit:GitPush" ], "Resource": "*" } ]}

Version de l'API 2015-04-1383

Page 93: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉtape 9 : Nettoyage

Pour plus d'informations sur d'autres autorisations d'action et de ressource CodeCommit quevous pouvez accorder à des utilisateurs, consultez Authentification et contrôle d'accès pourAWS CodeCommit (p. 321).

11. Dans le panneau de navigation, sélectionnez Users (Utilisateurs).12. Choisissez l'exemple de nom d'utilisateur (par exemple, JaneDoe-CodeCommit) auquel vous

souhaitez attacher la stratégie.13. Choisissez l'onglet Autorisations.14. Dans Managed Policies, choisissez Attach Policy.15. Sélectionnez la stratégie CodeCommitAccess-GettingStarted que vous venez de créer, puis

choisissez Attach Policy (Attacher la politique).16. Exécuter git pull. Cette fois, la commande doit fonctionner et un Already up-to-date doit

apparaître.17. Si vous utilisez HTTPS, passez à vos informations d'identification Git d'origine ou, si vous utilisez

git-remote-codecommit, à votre profil habituel. Pour plus d'informations, consultez les instructionsde Configuration pour les utilisateurs HTTPS à l’aide d’informations d’identification Git (p. 10)ou Étapes de configuration pour les connexions HTTPS à AWS CodeCommit avec git-remote-codecommit (p. 15).

Si vous utilisez SSH, basculez vers vos clés d'origine. Pour de plus amples informations, veuillezconsulter SSH et Linux, macOS, or Unix : Configuration des clés publiques et privées pourGit etCodeCommit (p. 38) ou Étape 3 : Configuration des clés publiques et privées pour GitetCodeCommit (p. 44).

Vous avez terminé ce didacticiel.

Étape 9 : NettoyageDans cette étape, vous supprimez le Référentiel CodeCommit que vous avez utilisé dans ce didacticiel afinde ne plus être facturé pour l'espace de stockage.

Vous supprimez également le rapport local et le référentiel partagé sur votre ordinateur local, car ils neseront plus nécessaires une fois que vous aurez supprimé le Référentiel CodeCommit.

Important

Une fois que vous aurez supprimé ce référentiel, vous ne pourrez pas le cloner en un rapport localou référentiel partagé. Vous ne pourrez pas non plus extraire ou transmettre des données depuisou vers celui-ci à partir d'un rapport local ou référentiel partagé. Cette action ne peut pas êtreannulée.

Pour supprimer le Référentiel CodeCommit (console)1. Ouvrez la console CodeCommit à l'adresse https://console.aws.amazon.com/codesuite/codecommit/

home.2. Sur la page Dashboard (Tableau de bord), dans la liste des référentiels, choisissez MyDemoRepo.3. Dans le panneau de navigation, choisissez Settings.4. Sur la page Settings, dans Delete repository, choisissez Delete repository.5. Dans la zone en regard de Tapez le nom du référentiel pour confirmer la suppression, saisissez

MyDemoRepo, puis choisissez Supprimer.

Pour supprimer le Référentiel CodeCommit (AWS CLI)Exécutez la commande delete-repository (p. 160) :

Version de l'API 2015-04-1384

Page 94: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉtape 9 : Nettoyage

aws codecommit delete-repository --repository-name MyDemoRepo

Pour supprimer le rapport local et le référentiel partagéPour Linux, macOS, or Unix :

cd /tmprm -rf /tmp/my-demo-reporm -rf /tmp/shared-demo-repo

Pour Windows:

cd c:\temprd /s /q c:\temp\my-demo-repord /s /q c:\temp\shared-demo-repo

Version de l'API 2015-04-1385

Page 95: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurIntégration avec d’autres AWS services

Intégrations de produits et servicesavec AWS CodeCommit

Par défaut, CodeCommit est intégré à plusieurs services AWS. Vous pouvez également utiliserCodeCommit avec des produits et services en dehors d'AWS. Les informations suivantes peuvent vousaider à configurer CodeCommit pour l'intégrer aux produits et services que vous utilisez.

Note

Vous pouvez automatiquement créer et déployer des validations vers un référentiel CodeCommiten les intégrant à CodePipeline. Pour en savoir plus, suivez les étapes de la section AWS pourDevOps Guide de démarrage.

Rubriques• Intégration avec d’autres AWS services (p. 86)• Exemples d'intégration issus de la communauté (p. 91)

Intégration avec d’autres AWS servicesCodeCommit est intégré aux services AWS suivants :

AWS Amplifier AWS Amplify permet de créer, de configurer etde mettre en œuvre facilement des applicationsmobiles évolutives à technologie AWS. Amplifyapprovisionne et gère votre backend mobile etfournit un cadre simple pour intégrer facilementvotre backend avec vos frontends iOS, Android,Web et React Native. Amplify automatiseégalement le processus de livraison d'applicationsde votre frontend et de votre backend, vouspermettant ainsi de distribuer plus rapidement desfonctionnalités.

Vous pouvez connecter votre référentielCodeCommit dans la console Amplify. Une foisque vous avez autorisé la console Amplify, Amplifyrécupère un jeton d'accès à partir du référentiel,mais ne stocke pas ce jeton sur les serveurs AWS.Amplify accède à votre référentiel à l'aide de clésde déploiement installées dans un référentielspécifique.

En savoir plus :

• AWS Amplify : Guide de l'utilisateur• Démarrer

AWS Cloud9 AWS Cloud9 contient un ensemble d'outils quipermettent de coder, générer, exécuter, tester,déboguer et publier des logiciels dans le cloud. Cet

Version de l'API 2015-04-1386

Page 96: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurIntégration avec d’autres AWS services

ensemble d'outils est appelé environnement dedéveloppement intégré ou IDE AWS Cloud9.

L'environnement IDE AWS Cloud9 est accessiblevia un navigateur web. L'IDE offre une expérienced'édition de code enrichie : il prend en chargeplusieurs langages de programmation etdébogueurs d'exécution, et comporte un terminalintégré.

En savoir plus :

• AWS Cloud9 Manuel de l'utilisateur• AWS CodeCommit Exemple pour AWS Cloud9• Intégration de AWS Cloud9 avec AWS

CodeCommit (p. 23)

AWS CloudFormation AWS CloudFormation est un service qui vous aideà modéliser et à configurer vos ressources AWSpour vous permettre de passer moins de tempsà gérer ces ressources et de consacrer plus detemps à vos applications. Vous créez un modèlequi décrit les ressources, dont un référentielCodeCommit, et AWS CloudFormation s'occupede la mise en service et de la configuration de cesressources pour vous.

En savoir plus :

• AWS CodeCommit Page Ressource duréférentiel

AWS CloudTrail CloudTrail capture les appels d'API AWS etles événements associés par ou au nom d'uncompte AWS et livre les fichiers journaux dansun compartiment Amazon S3 que vous spécifiez.Vous pouvez configurer CloudTrail pour capturerles appels de l'API provenant de la console AWSCodeCommit et les commandes CodeCommitprovenant de l'AWS CLI, du client Git local et del'API CodeCommit.

En savoir plus :

• Journalisation des appels d'API AWSCodeCommit avec AWS CloudTrail (p. 393)

Version de l'API 2015-04-1387

Page 97: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurIntégration avec d’autres AWS services

Amazon CloudWatch Events CloudWatch Events fournit un flux d'événementssystème en temps quasi réel qui décriventles modifications apportées aux ressourcesAWS. En utilisant des règles simples que vouspouvez configurer rapidement, vous pouvez fairecorrespondre les événements et les acheminervers un ou plusieurs flux ou fonctions cibles.CloudWatch Events devient conscient deschangements opérationnels au fur et à mesurequ'ils se produisent. CloudWatch Events répondà ces changements opérationnels et prend desmesures correctives si nécessaire, en envoyantdes messages pour répondre à l'environnement,en activant des fonctions, en procédant à desmodifications et en capturant des informations destatut.

Vous pouvez configurer CloudWatch Events poursurveiller les référentiels CodeCommit et répondreaux événements du référentiel en ciblant les flux,les fonctions, les tâches ou d'autres processusdans d'autres services AWS, comme AmazonSimple Queue Service, Amazon Kinesis, AWSLambda, et bien plus encore.

En savoir plus :

• CloudWatch Events Manuel de l'utilisateur• AWS CodeCommit Events• Article de blog : Construire sans serveur

AWS CodeCommit Flux de travail utilisantAmazon CloudWatch Events et JGit

AWS CodeBuild CodeBuild est un service de générationentièrement géré dans le cloud qui compile votrecode source, exécute des tests unitaires et produitdes artefacts prêts à être déployés. Vous pouvezstocker le code source à générer et la spécificationde génération dans un référentiel CodeCommit.Vous pouvez utiliser CodeBuild directement avecCodeCommit ou intégrer à la fois CodeBuild etCodeCommit dans un pipeline de diffusion encontinu avec CodePipeline.

En savoir plus :

• Planification d'une génération• Création d'un projet de génération• Utilisation CodePipeline avec AWS CodeBuild

pour exécuter des builds

Version de l'API 2015-04-1388

Page 98: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurIntégration avec d’autres AWS services

Amazon CodeGuru Reviewer Amazon CodeGuru Reviewer est un service derévision de code automatisé qui utilise l'analyse deprogramme et le Machine Learning pour détecterles problèmes courants et recommander descorrectifs dans votre code Java. Vous pouvezassocier des référentiels de votre compte AWSà CodeGuru Reviewer. Lorsque vous le faites,CodeGuru Reviewer crée un rôle lié au servicequi permet à CodeGuru Reviewer d'analyser lecode dans toutes les demandes d'extraction crééesaprès l'association.En savoir plus :

• Associer ou dissocier un AWS CodeCommitréférentiel avec Amazon CodeGuruReviewer (p. 137)

• Guide de l'utilisateur Amazon CodeGuruReviewer

AWS CodePipeline CodePipeline est un service de diffusion continuequi vous permet de modéliser, de visualiseret d'automatiser les étapes nécessaires àla publication de votre logiciel. Vous pouvezconfigurer CodePipeline pour utiliser un référentielCodeCommit en tant qu'action source dans unpipeline, et automatiser la création, le test etdéploiement de vos modifications.

En savoir plus :

• Procédure pas à pas simple pour le pipeline avecCodePipeline et AWS CodeCommit

• Migrer vers Amazon CloudWatch EventsDétection des modifications pour les pipelinesavec un CodeCommit Référentiel

• Méthodes de détection des modificationsutilisées pour lancer automatiquement lespipelines

Version de l'API 2015-04-1389

Page 99: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurIntégration avec d’autres AWS services

AWS CodeStar AWS CodeStar est un service basé sur le cloudpermettant la création, la gestion et l'utilisationdes projets de développement de logiciels surAWS. Vous pouvez développer, créer et déployerrapidement des applications sur AWS via un projetAWS CodeStar. Un projet AWS CodeStar créeet intègre des services AWS pour votre chaîned'outils de développement de projet, y comprisun référentiel CodeCommit pour le projet. AWSCodeStar attribue également des autorisations auxmembres d'équipe pour ce projet. Ces autorisationssont appliquées automatiquement, y compris desautorisations d'accès à CodeCommit, de créationet de gestion des informations d'identification Git, etbien plus encore.

Vous pouvez configurer les référentiels créés pourles projets AWS CodeStar comme vous le feriezavec n'importe quel autre référentiel CodeCommità l'aide de la console AWS CodeCommit, descommandes CodeCommit depuis l'AWS CLI, duclient Git local et de l'API CodeCommit.

En savoir plus :

• Utilisation des référentiels (p. 95)• Utilisation des projets AWS CodeStar• Utilisation des équipes AWS CodeStar

AWS Elastic Beanstalk Elastic Beanstalk est un service géré qui facilite ledéploiement et la gestion des applications sur lecloud AWS, sans que vous ayez à vous préoccuperde l'infrastructure qui les exécute. Vous pouvezutiliser l'interface de ligne de commande ElasticBeanstalk (interface de ligne de commande EB)pour déployer votre application directement à partird'un référentiel CodeCommit nouveau ou existant.

En savoir plus :

• Utilisation de l’interface de ligne de commandeEB avec AWS CodeCommit

• Utilisation d'un référentiel AWS CodeCommitexistant

• eb codesource (commande de l'interface de lignede commande EB)

AWS Key Management Service AWS KMS est un service géré qui facilite lacréation et le contrôle des clés de chiffrementutilisées pour chiffrer vos données. Par défaut,CodeCommit utilise AWS KMS pour chiffrer desréférentiels.

En savoir plus :

• AWS KMS et chiffrement (p. 311)

Version de l'API 2015-04-1390

Page 100: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurExemples d'intégration issus de la communauté

AWS Lambda Lambda vous permet d'exécuter du code sansavoir à allouer ou gérer des serveurs. Vouspouvez configurer des déclencheurs pour desréférentiels CodeCommit, qui appelleront desfonctions Lambda en réponse à des événementsde référentiel.

En savoir plus :

• Créer un déclencheur pour un Lambdafonction (p. 123)

• AWS Lambda Manuel du développeur

Amazon Simple Notification Service Amazon SNS est un service web qui permet àdes applications, des utilisateurs finaux et despériphériques d'envoyer et recevoir instantanémentdes notifications depuis le cloud. Vous pouvezconfigurer des déclencheurs pour des référentielsCodeCommit, qui enverront des notificationsAmazon SNS en réponse à des événements deréférentiel. Vous pouvez également utiliser desnotifications Amazon SNS à intégrer à d'autresservices AWS. Par exemple, vous pouvez utiliserune notification Amazon SNS pour envoyer desmessages vers une file d'attente Amazon SimpleQueue Service.

En savoir plus :

• Créer un déclencheur pour un Amazon SNSthème (p. 119)

• Amazon Simple Notification Service Manuel dudéveloppeur

Exemples d'intégration issus de la communautéLes sections suivantes fournissent des liens vers des billets de blogs, des articles et des exemples fournispar la communauté.

Note

Ces liens sont fournis uniquement à titre informatif et ne doivent pas être considérés comme uneliste complète ni comme une approbation du contenu des exemples. AWS n'est pas responsabledu contenu ni de l'exactitude du contenu externe.

Rubriques• Billets de blogs (p. 91)• Exemples de code (p. 94)

Billets de blogs• Intégration SonarQube en tant qu’approbateur de demande d’extraction sur AWS CodeCommit

Version de l'API 2015-04-1391

Page 101: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurBillets de blogs

Apprenez à créer un CodeCommit qui nécessite un SonarQube analyse de qualité avant que lesdemandes d’extraction puissent être fusionnées.

Publié le 12 décembre 2019• Migration vers AWS CodeCommit, AWS CodePipeline et AWS CodeBuild À partir de GitLab

Découvrez comment migrer plusieurs référentiels vers AWS CodeCommitAWS CodeCommit à partir deGitLab et configurer un pipeline CI/CD à l’aide de AWS CodePipeline et AWS CodeBuild.

Publié le 22 novembre 2019• Mise en œuvre GitFlow Utilisation de AWS CodePipeline, AWS CodeCommit, AWS CodeBuild, et AWS

CodeDeploy

Découvrez comment mettre en œuvre GitFlow utilisation AWS CodePipeline, AWS CodeCommit, AWSCodeBuild, et AWS CodeDeploy.

Publié le 22 février 2019• Utilisation de Git avec AWS CodeCommit Sur plusieurs comptes AWS

Découvrez comment gérer votre configuration Git sur plusieurs comptes AWS.

Publié le 12 février 2019• Validation en cours AWS CodeCommit Demandes d’extraction avec AWS CodeBuildet AWS Lambda

Apprenez à valider les demandes d'extraction avec AWS CodeCommit, AWS CodeBuild et AWSLambda. En exécutant des tests sur les modifications proposées avant de les fusionner dans la brancheprincipale, vous pouvez garantir un haut niveau de qualité dans les requêtes d'extraction, détecter lesproblèmes potentiels et renforcer la confiance du développeur en ce qui concerne les modifications.

Publié le 11 février 2019• Utilisation des identités fédérées avec AWS CodeCommit

Découvrez comment accéder aux référentiels dans AWS CodeCommit avec les identités utilisées dansvotre entreprise.

Publié le 5 octobre 2018• Raffinage de l’accès aux succursales dans AWS CodeCommit

Découvrez comment limiter les validations à des branches de référentiel en créant et en appliquant unestratégie IAM qui utilise une clé de contexte.

Publié le 16 mai 2018• Dupliquer AWS CodeCommit entre les régions utilisant AWS Aéroport de Fargate

Découvrez comment configurer la réplication continue d'un référentiel CodeCommit d'une région AWS àune autre à l'aide d'une architecture sans serveur.

Publié le 11 avril 2018• Distribution de votre AWS OpsWorks for Chef Automate Infrastructure

Découvrez comment utiliser CodePipeline, CodeCommit, CodeBuild et AWS Lambda pour vous assurerque les livres de recettes et d'autres configurations sont déployés de manière cohérente sur plusieursserveurs Chef résidant dans une ou plusieurs régions AWS.

Publié le 9 mars 2018• Beurre de cacahuète et chocolat : Pipeline CI/CD des fonctions Azure avec AWS CodeCommit

Version de l'API 2015-04-1392

Page 102: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurBillets de blogs

Apprenez à créer un PowerShellde pipelines CI/CD basés sur Azure Functions où le code est stockédans un CodeCommit du référentiel.

Publié le 19 février 2018• Déploiement continu sur Kubernetes avec AWS CodePipeline, AWS CodeCommit, AWS CodeBuild,

Amazon ECR, et AWS Lambda

Découvrez comment utiliser conjointement Kubernetes et AWS pour créer un pipeline de déploiementcontinu entièrement géré pour les applications basées sur des conteneurs.

Publié le 11 janvier 2018• Utilisation AWS CodeCommit Extraire les demandes d’examens de code et de discussion de code

Découvrez comment utiliser des demandes d'extraction pour vérifier, commenter et effectuer desitérations interactives sur les modifications de code dans un référentiel CodeCommit.

Publié le 20 novembre 2017• Construire sans serveur AWS CodeCommit Flux de travail utilisant Amazon CloudWatch Events et JGit

Découvrez comment créer des règles CloudWatch Events qui traitent les modifications dans unréférentiel à l'aide d'événements de référentiel CodeCommit et qui ciblent des actions dans d'autresservices AWS. Les exemples comprennent des fonctions AWS Lambda qui appliquent des stratégiesde message de validation Git au niveau des validations, qui répliquent un référentiel CodeCommit et quisauvegardent un référentiel CodeCommit dans Amazon S3.

Publié le 3 août 2017• Réplication et automatisation des synchronisations pour un référentiel avec AWS CodeCommit

Découvrez comment sauvegarder ou répliquer un référentiel CodeCommit dans une autre région AWS etcomment sauvegarder des référentiels hébergés sur d'autres services dans CodeCommit.

Publié le 17 mars 2017• Migration vers AWS CodeCommit

Découvrez comment transmettre du code à deux référentiels dans le cadre de la migration d’ depuis àl’aide d’un autre référentiel Git vers CodeCommit lorsque vous utilisez SourceTree.

Publié le 6 septembre 2016• Configurer les tests continus avec Appium, AWS CodeCommit, Jenkins et AWS Device Farm

Découvrez comment créer un processus de test continu pour les appareils mobiles utilisant Appium,CodeCommit, Jenkins et Device Farm.

Publié le 2 février 2016• Utilisation de AWS CodeCommit avec des référentiels Git dans plusieurs comptes AWS

Découvrez comment cloner votre référentiel CodeCommit et, en une seule commande, configurerl'assistant d'informations d'identification pour utiliser un rôle IAM spécifique pour les connexions à ceréférentiel.

Publié en novembre 2015• Intégration AWS OpsWorks et AWS CodeCommit

Découvrez comment AWS OpsWorks peut extraire automatiquement des applications et des livres derecettes Chef d'CodeCommit.

Publié le 25 août 2015

Version de l'API 2015-04-1393

Page 103: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurExemples de code

• Utilisation de AWS CodeCommit et GitHub Assistants d’informations d’identification

Apprenez à configurer votre fichier gitconfig pour qu’il fonctionne avec les deux CodeCommit et GitHubassistants d’informations d’identification.

Publié en septembre 2015• Utilisation de AWS CodeCommit de l’Eclipse

Apprenez à utiliser le EGit outils dans Eclipse pour travailler avec CodeCommit.

Publié en août 2015• AWS CodeCommit avec Amazon EC2 Informations d’identification du rôle

Découvrez comment utiliser un profil d'instance pour Amazon EC2 lors de la configuration de l'accès d'unagent automatisé à un référentiel CodeCommit.

Date de publication : juillet2015• Intégration AWS CodeCommit avec Jenkins

Découvrez comment utiliser CodeCommit et Jenkins pour prendre en charge deux scénarios simplesd'intégration continue (CI).

Date de publication : juillet2015• Intégration AWS CodeCommit avec liste d’alertes

Découvrez comment intégrer CodeCommit à un flux de travail de développement à l'aide du système devérification de code Review Board.

Date de publication : juillet2015

Exemples de codeVoici des exemples de code qui peuvent être utiles pour les utilisateurs d'CodeCommit.

• Mac OS X Script to Periodically Delete Cached Credentials in the OS X Certificate Store

Si vous utilisez l'assistant d'informations d'identification pour CodeCommit sur Mac OS X, le problème liéaux informations d'identification mises en cache vous est probablement familier. Ce script présente unesolution.

Auteur : Nico Coetzé

Publié en février 2016

Version de l'API 2015-04-1394

Page 104: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateur

Utilisation des référentiels dans AWSCodeCommit

Un référentiel est l'objet de base de contrôle de version dans CodeCommit. Il vous permet de stocker entoute sécurité du code et des fichiers pour votre projet. Il stocke également l'historique de votre projet,à partir de la première validation jusqu'aux dernières modifications. Vous pouvez partager le référentielavec d'autres utilisateurs afin de travailler ensemble sur un projet. Si vous ajoutez des balises AWS auxréférentiels, vous pouvez configurer des notifications de manière à ce que les utilisateurs du référentielreçoivent un e-mail concernant les événements (par exemple, un autre utilisateur qui effectue descommentaires sur le code). Vous pouvez également modifier les paramètres par défaut de votre référentiel,parcourir son contenu, etc. Vous pouvez créer des déclencheurs pour votre référentiel afin que le codeexécute des transmissions ou que d'autres événements déclenchent des actions, telles que l'envoi d'e-mails ou l'exécution de fonctions de code. Vous pouvez même configurer un référentiel sur votre ordinateurlocal (référentiel local) pour transmettre (push) vos modifications vers plusieurs référentiels.

Avant de pouvoir transmettre (push) des modifications vers un référentiel CodeCommit, vous devezconfigurer votre utilisateur IAM dans votre compte AWS. Pour plus d'informations, consultez la sectionÉtape 1 : Configuration initiale pour CodeCommit (p. 10).

Pour obtenir des informations sur l'utilisation des autres aspects de votre référentiel dans CodeCommit,consultez Utilisation des fichiers (p. 161), Utilisation des demandes d'extraction (p. 169),Utilisation des validations (p. 231) , Utilisation de branches (p. 266) et Utilisation des préférencesutilisateur (p. 282). Pour plus d'informations sur la migration vers CodeCommit, consultez Migration versCodeCommit (p. 283).

Rubriques• Créez un AWS CodeCommit référentiel (p. 96)• Se connecter à un AWS CodeCommit référentiel (p. 99)• Partager un AWS CodeCommit référentiel (p. 102)

Version de l'API 2015-04-1395

Page 105: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurCréation d'un référentiel

• Configuration des notifications pour les événements dans un AWS CodeCommit référentiel (p. 106)• Balisage des référentiels dans AWS CodeCommit (p. 111)• Gérer les déclencheurs pour un AWS CodeCommit référentiel (p. 117)• Associer ou dissocier un AWS CodeCommit référentiel avec Amazon CodeGuru Reviewer (p. 137)• Vue CodeCommit détails du référentiel (p. 139)• Modifier AWS CodeCommit paramètres du référentiel (p. 144)• Synchroniser les modifications entre un référentiel local et un AWS CodeCommit référentiel (p. 146)• Envoi des validations vers un référentiel Git supplémentaire (p. 147)• Configurer l’accès entre comptes à un AWS CodeCommit du référentiel à l’aide de rôles (p. 150)• Supprimer un AWS CodeCommit référentiel (p. 159)

Créez un AWS CodeCommit référentielUtilisez la console AWS CodeCommit ou l'AWS Command Line Interface (AWS CLI) pour créer unRéférentiel CodeCommit vide. Pour ajouter des balises à un référentiel après l'avoir créé, consultez Ajoutd’une balise à un référentiel (p. 112).

Ces instructions supposent que vous avez déjà réalisé les étapes de Configuration de (p. 7).

Note

Selon votre utilisation, vous pouvez être facturé pour la création ou l'accès à un référentiel. Pourde plus amples informations, veuillez consulter Tarification sur la page des informations produitCodeCommit.

Rubriques• Création d’un référentiel (console) (p. 96)• Créez un référentiel (AWS CLI) (p. 97)

Création d’un référentiel (console)Pour créer un Référentiel CodeCommit

1. Ouvrez la console CodeCommit à l'adresse https://console.aws.amazon.com/codesuite/codecommit/home.

2. Dans le sélecteur de région, choisissez la région AWS dans laquelle vous souhaitez créer leréférentiel. Pour plus d'informations, consultez la section Régions et points de terminaison deconnexion Git (p. 423).

3. Sur la page Référentiels, choisissez Créer un référentiel.4. Sur la page Créer un référentiel, dans Nom de référentiel, saisissez un nom pour le référentiel.

Note

Les noms de référentiel sont sensibles à la casse. Le nom doit être unique dans la régionAWS de votre compte AWS.

5. (Facultatif) Dans la zone Description, saisissez une description pour le référentiel. Cela peut aiderd'autres utilisateurs et vous-même à identifier la fonction du référentiel.

Note

Le champ de description affiche Markdown dans la console et accepte tous les caractèresHTML et les caractères Unicode valides. Si vous êtes un développeur d'application qui utilise

Version de l'API 2015-04-1396

Page 106: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurCréez un référentiel (AWS CLI)

les API GetRepository ou BatchGetRepositories et si vous envisagez d'afficher lechamp de description d'un référentiel dans un navigateur web, consultez la référence d'APICodeCommit.

6. (Facultatif) Choisissez Add tag (Ajouter une balise) pour ajouter une ou plusieurs balises de référentiel(une étiquette d'attribut personnalisée qui vous aide à organiser et gérer vos ressources AWS) àvotre référentiel. Pour plus d'informations, consultez la section Balisage des référentiels dans AWSCodeCommit (p. 111).

7. (Facultatif) Sélectionnez Activer Amazon CodeGuru Reviewer pour Java si ce référentiel contientsdu code Java, et vous voulez CodeGuru Reviewer pour analyser à l’aide. CodeGuru Reviewer utiliseplusieurs modèles de machine learning pour trouver les défauts de code Java et pour suggérer desaméliorations et des correctifs dans les demandes d’extraction. Pour de plus amples informations,veuillez consulter Guide de l'utilisateur Amazon CodeGuru Reviewer.

8. Sélectionnez Create.

Après avoir créé un référentiel, vous pouvez vous connecter à celui-ci et commencer à ajouter du codevia la console CodeCommit, ou via un client Git local, ou en intégrant votre référentiel CodeCommit avecvotre IDE favori. Pour plus d'informations, consultez la section Configuration pour AWS CodeCommit (p. 7). Vous pouvez également ajouter votre référentiel à un pipeline de diffusion en continu. Pour plusd'informations, consultez Didacticiel : Créer un pipeline simple.

Pour obtenir des informations sur le nouveau Référentiel CodeCommitcomme le URLs à utiliser lors duclonage du référentiel, choisissez le nom du référentiel dans la liste, ou choisissez simplement le protocolede connexion que vous souhaitez utiliser en regard du nom du référentiel.

Pour partager ce référentiel avec d'autres utilisateurs, vous devez envoyer le lien HTTPS ou SSHà utiliser pour cloner le référentiel. Veillez à ce que ces utilisateurs disposent des autorisationsnécessaires pour accéder au référentiel. Pour de plus amples informations, veuillez consulter Partager unréférentiel (p. 102) et Authentification et contrôle d'accès pour AWS CodeCommit (p. 321).

Créez un référentiel (AWS CLI)Vous pouvez utiliser l’AWS CLI pour créer un référentiel CodeCommit. Contrairement à la console, vouspouvez ajouter des balises à un référentiel si vous créez celui-ci à l'aide de l’AWS CLI.

1. Veillez à configurer l'AWS CLI avec la région AWS dans laquelle se trouve le référentiel. Pour vérifierla région, exécutez la commande suivante à partir de la ligne de commande ou sur le terminal etvérifiez les informations relatives au nom de la région par défaut.

aws configure

Le nom de la région par défaut doit correspondre à la région AWS du référentiel dans CodeCommit.Pour plus d'informations, consultez la section Régions et points de terminaison de connexionGit (p. 423).

2. Exécutez la commande create-repository en indiquant :

• Un nom qui identifie de façon unique le Référentiel CodeCommit (avec l'option --repository-name).

Note

Ce nom doit être unique pour l'ensemble d'un compte AWS.• Un commentaire facultatif sur le Référentiel CodeCommit (avec l'option --repository-description).

• Une ou plusieurs paires clé-valeur facultatives à utiliser en tant que balises pour le référentielCodeCommit (avec l'option --tags).

Version de l'API 2015-04-1397

Page 107: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurCréez un référentiel (AWS CLI)

Par exemple, pour créer un Référentiel CodeCommit nommé MyDemoRepo avec la description"My demonstration repository" et une balise avec une clé nommée Team avec la valeur deSaanvi, utilisez cette commande.

aws codecommit create-repository --repository-name MyDemoRepo --repository-description "My demonstration repository" --tags Team=Saanvi

Note

Le champ de description affiche Markdown dans la console et accepte tous les caractèresHTML et les caractères Unicode valides. Si vous êtes un développeur d'application qui utiliseles API GetRepository ou BatchGetRepositories et si vous envisagez d'afficher lechamp de description d'un référentiel dans un navigateur web, consultez la référence d'APICodeCommit.

3. Si elle aboutit, cette commande renvoie un objet repositoryMetadata avec les informationssuivantes :

• La description (repositoryDescription).• L'ID unique généré par le système (repositoryId).• Le nom (repositoryName).• L'ID du compte AWS associé au Référentiel CodeCommit (accountId).

Voici un exemple de sortie basé sur l'exemple de commande précédent.

{ "repositoryMetadata": { "repositoryName": "MyDemoRepo", "cloneUrlSsh": "ssh://ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo", "lastModifiedDate": 1446071622.494, "repositoryDescription": "My demonstration repository", "cloneUrlHttp": "https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo", "creationDate": 1446071622.494, "repositoryId": "f7579e13-b83e-4027-aaef-650c0EXAMPLE", "Arn": "arn:aws:codecommit:us-east-2:111111111111:MyDemoRepo", "accountId": "111111111111" }}

Note

Les balises qui ont été ajoutées lorsque le référentiel a été créé ne sont pas renvoyées dansla sortie. Pour afficher une liste des balises associées à un référentiel, exécutez la commandelist-tags-for-resource (p. 114).

4. Notez le nom et l'ID de Référentiel CodeCommit. Vous en avez besoin pour surveiller et modifier desinformations sur le Référentiel CodeCommit, surtout si vous utilisez l'AWS CLI.

Si vous oubliez le nom ou l'ID du , suivez les instructions de Vue CodeCommit détails du référentiel(AWS CLI) (p. 141).

Après avoir créé un référentiel, vous pouvez vous connecter à celui-ci et commencer à ajouter ducode. Pour plus d'informations, consultez la section Connexion à un référentiel (p. 99). Vous pouvez

Version de l'API 2015-04-1398

Page 108: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurConnexion à un référentiel

également ajouter votre référentiel à un pipeline de diffusion en continu. Pour plus d'informations, consultezDidacticiel : Créer un pipeline simple.

Se connecter à un AWS CodeCommit référentielLorsque vous vous connectez à un référentiel CodeCommit pour la première fois, vous clonezgénéralement son contenu sur votre ordinateur local. Vous pouvez également ajouter des fichiers (p. 164)et modifier des fichiers (p. 166) dans un référentiel directement à partir de la console CodeCommit.Sinon, si vous disposez déjà d'un référentiel local, vous pouvez ajouter un référentiel CodeCommit entant que référentiel distant. Cette rubrique fournit des instructions pour la connexion à un RéférentielCodeCommit. Si vous souhaitez migrer un référentiel existant vers CodeCommit, consultez Migration versCodeCommit (p. 283).

Note

Selon votre utilisation, vous pouvez être facturé pour la création ou l'accès à un référentiel. Pourde plus amples informations, veuillez consulter Tarification sur la page des informations produitCodeCommit.

Rubriques• Prérequis pour se connecter à un CodeCommit référentiel (p. 99)• Connectez-vous au CodeCommit du référentiel en clonant le référentiel (p. 100)• Connectez un référentiel local au CodeCommit référentiel (p. 101)

Prérequis pour se connecter à un CodeCommitréférentielAvant de pouvoir cloner un référentiel CodeCommit ou connecter un référentiel local à un RéférentielCodeCommit :

• Vous devez avoir configuré votre ordinateur local avec les logiciels et les paramètres nécessairespour la connexion à CodeCommit. Cela inclut l'installation et la configuration de Git. Pour de plusamples informations, veuillez consulter Configuration de (p. 7) et Mise en route avec Git et AWSCodeCommit (p. 74).

• Vous devez disposer de l'URL de clonage du Référentiel CodeCommit auquel vous souhaitez vousconnecter. Pour plus d'informations, consultez la section Afficher les détails du référentiel (p. 139).

Si vous n'avez pas encore créé de Référentiel CodeCommit, suivez les instructions de Création d'unréférentiel (p. 96), copiez l'URL de clonage du Référentiel CodeCommit et revenez à cette page.

Si vous disposez d'un Référentiel CodeCommit, mais que vous ne connaissez pas son nom, suivez lesinstructions de Afficher les détails du référentiel (p. 139).

• Vous devez disposer d'un emplacement sur votre ordinateur local pour stocker une copie locale duRéférentiel CodeCommit auquel vous vous connectez. (Cet exemplaire local du Référentiel CodeCommitest connu sous le nom de rapport local.) Vous passez ensuite à et exécutez les commandes Git à partirde cet emplacement. Par exemple, vous pouvez utiliser /tmp (pour Linux, macOS, or Unix) ou c:\temp(pour Windows) si vous créez un clone temporaire à des fins de test. C'est le chemin de répertoire utilisédans ces exemples.

Note

Vous pouvez utiliser n'importe quel répertoire de votre choix. Si vous clonez un référentielen vue d'une utilisation à long terme, envisagez la création du clone à partir d'un répertoire

Version de l'API 2015-04-1399

Page 109: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurConnectez-vous au CodeCommit duréférentiel en clonant le référentiel

de travail et pas à partir de celui utilisé pour les fichiers temporaires. Si vous utilisez un autrerépertoire que /tmp ou c:\temp, veillez à le substituer au nôtre lorsque vous suivez cesinstructions.

Connectez-vous au CodeCommit du référentiel enclonant le référentielSi vous ne disposez pas déjà d'un référentiel local, suivez les étapes de cette procédure pour cloner leréférentiel CodeCommit sur votre machine locale.

1. Remplissez les prérequis, y compris Configuration de (p. 7).

Important

Si vous n'avez pas terminé la configuration, vous ne pouvez pas vous connecter au référentielou le cloner.

2. Dans le répertoire /tmp ou c:\temp, utilisez Git pour exécuter la commande clone. Les exemplessuivants montrent comment cloner un référentiel nommé MyDemoRepo dans le USA Est (Ohio) Région.

Pour HTTPS à l'aide des informations d'identification Git (p. 10) ou de l'assistant d'informationsd'identification inclus avec l'AWS CLI :

git clone https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo my-demo-repo

Pour HTTPS à l'aide de git-remote-codecommit (p. 15), en supposant que le profil par défaut et larégion AWS sont configurés dans l'AWS CLI :

git clone codecommit://MyDemoRepo my-demo-repo

Pour SSH :

git clone ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo my-demo-repo

Dans cet exemple, git-codecommit.us-east-2.amazonaws.com est le point de connexion Gitpour la USA Est (Ohio) où le référentiel existe, MyDemoRepo représente le nom de votre RéférentielCodeCommit et my-demo-repo représente le nom du répertoire que Git crée dans le répertoire /tmpou c:\temp. Pour plus d'informations sur les régions AWS qui prennent en charge CodeCommit etles connexions Git pour ces régions AWS, consultez Régions et points de terminaison de connexionGit (p. 423).

Note

Lorsque vous utilisez SSH sur des systèmes d'exploitation Windows pour cloner unréférentiel, vous devrez parfois ajouter l'ID de clé SSH à la chaîne de connexion comme suit :

git clone ssh://[email protected]/v1/repos/MyDemoRepo my-demo-repo

Pour de plus amples informations, veuillez consulter Pour les connexions SSH sousWindows (p. 42) et Dépannage (p. 401).

Une fois que Git a créé le répertoire, il déploie une copie de votre Référentiel CodeCommit dans lerépertoire nouvellement créé.Version de l'API 2015-04-13

100

Page 110: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurConnectez un référentiel local au CodeCommit référentiel

Si le référentiel CodeCommit est nouveau ou vide pour toute autre raison, vous voyez un messageindiquant que vous clonez un référentiel vide. Ceci est normal.

Note

Si vous recevez une erreur indiquant que Git ne peut pas trouver le Référentiel CodeCommitou que vous n'êtes pas autorisé à vous connecter au Référentiel CodeCommit, assurez-vous que vous avez complété les prérequis (p. 7), notamment l'attribution d'autorisations àl'utilisateur IAM, et la configuration des informations d'identification de votre utilisateur IAMpour Git et CodeCommit sur l'ordinateur local. En outre, vérifiez que vous avez spécifié le nomde référentiel correct.

Une fois que vous avez connecté avec succès votre rapport local à votre Référentiel CodeCommit, vousêtes maintenant prêt à commencer à exécuter des commandes Git à partir du rapport local pour créer desvalidations, des branches et des balises, et effectuer des transmissions et des extractions vers et depuis leRéférentiel CodeCommit.

Connectez un référentiel local au CodeCommitréférentielComplétez les étapes suivantes si vous disposez déjà d'un référentiel local et que vous souhaitez ajouterun référentiel CodeCommit comme référentiel distant. Si vous disposez déjà d'un référentiel distant et quevous souhaitez transmettre vos validations vers CodeCommit et vers cet autre référentiel distant, suivez lesétapes indiquées dans Envoi des validations vers deux référentiels (p. 147).

1. Complétez les prérequis (p. 99).2. Depuis l'invite de commande ou le terminal, basculez vers le répertoire de votre référentiel local et

exécutez la commande git remote add pour ajouter le référentiel CodeCommit comme référentieldistant pour votre référentiel local.

Par exemple, la commande suivante ajoute le référentiel distant dont le pseudonyme est origin àhttps://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo :

Pour HTTPS :

git remote add origin https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo

Pour SSH :

git remote add origin ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo

Cette commande ne donne aucun résultat.3. Pour vérifier que vous avez ajouté le référentiel CodeCommit comme référentiel distant pour votre

référentiel local, exécutez la commande git remote -v qui doit créer une sortie similaire à ce qui suit :

Pour HTTPS :

origin https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo (fetch) origin https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo (push)

Pour SSH :Version de l'API 2015-04-13

101

Page 111: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurPartager un référentiel

origin ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo (fetch) origin ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo (push)

Une fois que vous avez connecté avec succès votre rapport local à votre Référentiel CodeCommit, vousêtes prêt à commencer à exécuter des commandes Git à partir du rapport local pour créer des validations,des branches et des balises, et effectuer des transmissions et des extractions vers et depuis le RéférentielCodeCommit.

Partager un AWS CodeCommit référentielUne fois que vous avez créé un Référentiel CodeCommit, vous pouvez partager celui-ci avec d'autresutilisateurs. Tout d'abord, vous devez décider quel protocole (HTTPS ou SSH) recommander auxutilisateurs en cas de clonage et d'utilisation d'un client Git ou d'un IDE pour la connexion à votreréférentiel. Ensuite, envoyez l'URL et les informations de connexion aux utilisateurs avec lesquels voussouhaitez partager le référentiel. En fonction de vos exigences en matière de sécurité, le partage d'unréférentiel peut également nécessiter la création d'un groupe IAM, l'application de stratégies gérées à cegroupe et la modification de stratégies IAM pour affiner les accès.

Note

Une fois que vous avez accordé aux utilisateurs l'accès au référentiel via la console, ils peuventajouter ou modifier les fichiers directement dans la console sans avoir à configurer un client Gitou une autre connexion. Pour de plus amples informations, veuillez consulter Créez ou ajoutezun fichier à un AWS CodeCommit référentiel (p. 163) et Modifier le contenu d’un fichier dans unAWS CodeCommit référentiel (p. 166).

Ces instructions supposent que vous avez déjà effectué les étapes indiquées dans Configuration de (p. 7)et Création d'un référentiel (p. 96).

Note

Selon votre utilisation, vous pouvez être facturé pour la création ou l'accès à un référentiel. Pourde plus amples informations, veuillez consulter Tarification sur la page des informations produitCodeCommit.

Rubriques• Choisissez le protocole de connexion à partager avec vos utilisateurs (p. 102)• Créer IAM stratégies pour votre référentiel (p. 103)• Créez un IAM groupe pour les utilisateurs du référentiel (p. 104)• Partager les informations de connexion avec vos utilisateurs (p. 105)

Choisissez le protocole de connexion à partager avecvos utilisateursLorsque vous créez un référentiel dans CodeCommit, deux points de terminaison sont générés : un pourles connexions HTTPS et un pour les connexions SSH. Les deux fournissent des connexions sécuriséessur un réseau. Vos utilisateurs peuvent utiliser l'un ou l'autre de ces protocoles. Les deux points determinaison restent actifs, quel que soit le protocole que vous recommandez à vos utilisateurs.

Les connexions HTTPS nécessitent :

Version de l'API 2015-04-13102

Page 112: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurCréer IAM stratégies pour votre référentiel

• Informations d'identification Git, que les utilisateurs IAM peuvent générer pour eux-mêmes dans IAM.Les informations d'identification Git constituent pour les utilisateurs de votre référentiel la méthode la plussimple à installer et à utiliser.

• Une clé d'accès ou un rôle AWS à assumer, que les utilisateurs de votre référentiel doivent configurerdans leur profil d'informations d'identification. Vous pouvez configurer git-remote-codecommit(recommandé) ou l'assistant d'informations d'identification inclus dans l'AWS CLI. Il s'agit des seulesméthodes disponibles pour le compte racine ou les utilisateurs fédérés.

Les connexions SSH ont besoin que vos utilisateurs :

• Génèrent une paire clé publique/clé privée.• Stockent la clé publique.• Associent la clé publique à leur utilisateur IAM.• Configurent leur fichier d'hôtes connu sur leur ordinateur local.• Créent et gèrent un fichier de configuration sur leurs ordinateurs locaux.

Comme il s'agit d'un processus de configuration plus complexe, nous vous conseillons de choisir HTTPS etvos informations d'identification Git pour vos connexions à CodeCommit.

Pour plus d'informations sur HTTPS, SSH, Git, git-remote-codecommit et les référentiels distants,consultez Configuration de (p. 7), Connexion à AWS CodeCommit référentiels avec informationsd’identification rotatives (p. 312) ou la documentation Git. Pour une présentation générale des protocolesde communication et de la façon dont chacun d'entre eux communique avec des référentiels distants,consultez le document Git on the Server - The Protocols.

Note

Même si Git prend en charge divers protocoles de connexion, CodeCommit ne prend pas encharge les connexions avec des protocoles non sécurisés, comme que le protocole local ou HTTPgénérique.

Créer IAM stratégies pour votre référentielAWS fournit trois stratégies gérées dans IAM pour CodeCommit. Ces stratégies ne peuvent pas êtremodifiées et s'appliquent à tous les référentiels associés à votre compte AWS. Cependant, vous pouvezutiliser ces stratégies en tant que modèles pour créer vos propres stratégies gérées personnalisées quis'appliquent uniquement au référentiel que vous souhaitez partager. Votre stratégie gérée par le client peuts'appliquer spécifiquement au référentiel que vous souhaitez partager. Pour plus d'informations, consultezStratégies gérées et Utilisateurs et groupes IAM.

Tip

Pour un contrôle plus précis sur l'accès à votre référentiel, vous pouvez créer plusieurs stratégiesgérées par le client, et les appliquer aux différents utilisateurs et groupes IAM.

Pour plus d'informations sur la vérification du contenu de stratégies gérées et l'utilisation de stratégiespour créer et appliquer des autorisations, consultez Authentification et contrôle d'accès pour AWSCodeCommit (p. 321).

Création d'une stratégie gérée par le client pour votre référentiel

1. Connectez-vous à la AWS Management Console et ouvrez la console IAM à l'adresse https://console.aws.amazon.com/iam/.

2. Dans la zone de navigation de Dashboard, choisissez Stratégies, puis Créer une stratégie.3. Sur la page Créer une politique , choisissez Importer une stratégie gérée.

Version de l'API 2015-04-13103

Page 113: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurCréez un IAM groupe pour les utilisateurs du référentiel

4. Sur la page Importer les stratégies gérées page, dans Stratégies de filtre, saisissezAWSCodeCommitPowerUser. Cliquez sur le bouton en regard du nom de la stratégie, puis choisissezImporter.

5. Sur la page Créer une stratégie, choisissez JSON. Remplacez la partie « * » du Resource pourCodeCommit avec l’Amazon Resource Name (ARN) du CodeCommit comme illustré ici :

"Resource": [ "arn:aws:codecommit:us-east-2:111111111111:MyDemoRepo" ]

Tip

Pour rechercher l’ARN de l’ CodeCommit , accédez à l’ CodeCommit , choisissez le nom duréférentiel dans la liste, puis choisissez Paramètres. Pour plus d'informations, consultez lasection Afficher les détails du référentiel (p. 139).

Si vous souhaitez que cette stratégie s'applique à plusieurs référentiels, ajoutez chaque référentiel entant que ressource en spécifiant son ARN. Incluez une virgule entre chaque instruction de ressource,comme illustré ici :

"Resource": [ "arn:aws:codecommit:us-east-2:111111111111:MyDemoRepo", "arn:aws:codecommit:us-east-2:111111111111:MyOtherDemoRepo" ]

Lorsque vous avez terminé la modification, choisissez Examiner la politique.6. Sur la page Examiner la politique page, dans Nom, saisissez un nouveau nom pour la stratégie (par

exemple, AWSCodeCommitPowerUser-MyDemoRepo). Fournissez éventuellement une description decette stratégie.

7. Choisissez Create Policy (Créer une stratégie).

Créez un IAM groupe pour les utilisateurs duréférentielPour gérer l'accès à votre référentiel, créez un groupe IAM pour ses utilisateurs, ajoutez des utilisateursIAM à ce groupe, puis attachez à ce dernier la stratégie gérée par le client que vous avez créée à l'étapeprécédente.

Si vous utilisez SSH, vous devez attacher une autre stratégie gérée au groupe IAMUserSSHKeys,la stratégie gérée IAM qui permet aux utilisateurs de charger leur clé publique SSH et de l'associer àl'utilisateur IAM qu'ils utilisent pour se connecter à CodeCommit.

1. Connectez-vous à la AWS Management Console et ouvrez la console IAM à l'adresse https://console.aws.amazon.com/iam/.

2. Dans la zone de navigation de Dashboard, sélectionnez Groupes, puis Créer un groupe.3. Sur la page Définir le nom du groupe page, dans Nom du groupe, saisissez un nom pour le groupe

(par exemple, MyDemoRepoGroup), puis choisissez Étape suivante. Vous pouvez inclure le nom duréférentiel comme partie du nom du groupe.

Note

Ce nom doit être unique pour l'ensemble d'un compte AWS.4. Cochez la case en regard de la stratégie gérée par le client que vous avez créée dans la section

précédente (par exemple, AWSCodeCommitPowerUser-MyDemoRepo).

Version de l'API 2015-04-13104

Page 114: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurPartager les informations de connexion avec vos utilisateurs

5. Sur la page Examiner, choisissez Créer un groupe. IAM crée ce groupe avec les stratégies spécifiéesdéjà attachées. Le groupe apparaît dans la liste des groupes associés à votre compte AWS.

6. Choisissez votre groupe dans la liste.7. Sur la page récapitulative du groupe, sélectionnez l'onglet Utilisateurs, puis Ajouter des utilisateurs au

groupe. Dans la liste qui affiche tous les utilisateurs associés à votre compte AWS, cochez les casesen regard des utilisateurs que vous souhaitez autoriser à accéder au référentiel CodeCommit, puissélectionnez Ajouter des utilisateurs.

Tip

Vous pouvez utiliser la zone de recherche pour trouver rapidement des utilisateurs par leurnom.

8. Lorsque vous avez ajouté vos utilisateurs, fermez la console IAM.

Partager les informations de connexion avec vosutilisateurs1. Ouvrez la console CodeCommit à l'adresse https://console.aws.amazon.com/codesuite/codecommit/

home.2. Dans le sélecteur de région, choisissez la région AWS dans laquelle le référentiel a été créé. Les

référentiels sont propres à une région AWS. Pour plus d'informations, consultez la section Régions etpoints de terminaison de connexion Git (p. 423).

3. Sur la page Repositories (Référentiels), choisissez le référentiel à partager.4. Dans Clone URL (URL de clone), choisissez le protocole que vos utilisateurs doivent employer. Cette

fonction copie l'URL de clone pour le protocole de connexion.5. Envoyez à vos utilisateurs l'URL de clone, ainsi que toute autre instruction, par exemple, sur

l'installation de l'AWS CLI, la configuration d'un profil ou l'installation de Git. Assurez-vous d'inclure lesinformations de configuration pour le protocole de connexion (par exemple, HTTPS).

L'exemple d'e-mail suivant fournit des informations pour les utilisateurs qui se connectent au référentielMyDemoRepo avec le protocole de connexion HTTPS et des informations d'identification Git dans la régionUSA Est (Ohio) (us-east-2). Cet e-mail suppose que l'utilisateur a déjà installé Git et sait l'utiliser.

I've created a CodeCommit repository for us to use while working on our project. The name of the repository is MyDemoRepo, andit is in the USA Est (Ohio) (us-east-2) region. Here's what you need to do in order to get started using it:

1. Make sure that your version of Git on your local computer is 1.7.9 or later.2. Generate Git credentials for your IAM user by signing into the IAM console here: https://console.aws.amazon.com/iam/. Switch to the Security credentials tab for your IAM user and choose the Generate button in HTTPS Git credentials for CodeCommit. Make sure to save your credentials in a secure location!3. Switch to a directory of your choice and clone the CodeCommit repository to your local machine by running the following command: git clone https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo my-demo-repo4. When prompted for user name and password, use the Git credentials you just saved. That's it! If you'd like to learn more about using CodeCommit, you can start with the tutorial here (p. 77).

Vous pouvez trouver des instructions de configuration complètes dans Configuration de (p. 7).

Version de l'API 2015-04-13105

Page 115: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurConfiguration des notifications

pour les événements de référentiel

Configuration des notifications pour les événementsdans un AWS CodeCommit référentiel

Vous pouvez configurer des règles de notification pour un référentiel de façon à ce que ses utilisateursreçoivent des e-mails concernant les événements de référentiel que vous spécifiez. Les notifications sontenvoyées lorsque les événements correspondent aux paramètres de règle de notification. Vous pouvezcréer une rubrique Amazon SNS à utiliser pour les notifications, ou utiliser une rubrique existante dansvotre compte AWS. Vous pouvez utiliser la console CodeCommit et l’AWS CLI pour configurer des règlesde notification.

Version de l'API 2015-04-13106

Page 116: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurConfiguration des notifications

pour les événements de référentiel

Rubriques• Utilisation des règles de notification du référentiel (p. 108)• Create a notification rule (p. 108)

Version de l'API 2015-04-13107

Page 117: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurUtilisation des règles de notification du référentiel

• Modifier ou désactiver les notifications (p. 110)• Supprimer les notifications (p. 111)

Utilisation des règles de notification du référentielLa configuration des règles de notification aide les utilisateurs de votre référentiel en leur envoyant des e-mails lorsque quelqu'un effectue une action qui concerne un autre utilisateur. Par exemple, vous pouvezconfigurer une règle de notification pour envoyer des notifications lorsque des commentaires sont ajoutés àpropos des validations. Dans cette configuration, lorsqu'un utilisateur du référentiel commente une ligne decode dans une validation, les autres utilisateurs du référentiel reçoivent un e-mail. Ils peuvent se connecteret voir le commentaire. Les réponses aux commentaires génèrent également des e-mails, afin que lesutilisateurs du référentiel restent informés.

Les règles de notification sont différentes des déclencheurs de référentiel et également différentes desnotifications que vous pouviez configurer dans la console CodeCommit avant le 5 novembre 2019.

• Même si vous pouvez configurer un déclencheur pour utiliser Amazon SNS afin d'envoyer des e-mails àpropos de certains événements de référentiel, ces événements sont limités à des opérations spécifiquestelles que la création de branches et la transmission du code à une branche. Les déclencheurs n'utilisentpas les règles CloudWatch Events pour évaluer les événements de référentiel. Ils sont plus limitésdans leur portée. Pour plus d'informations sur l'utilisation des déclencheurs, consultez Gestion desdéclencheurs pour un référentiel (p. 117).

• Les notifications configurées avant le 5 novembre 2019 disposaient de moins de types d'événementet ne pouvaient pas être configurées pour une intégration à des salles de conversation AmazonChime ou des canaux Slack. Vous pouvez continuer à utiliser les notifications configurées avant le5 novembre 2019, mais vous ne pouvez pas créer de notifications de ce type. Créez et utilisez plutôtdes règles de notification. Nous vous recommandons d'utiliser des règles de notification et de désactiverou de supprimer les notifications créées avant le 5 novembre 2019. Pour de plus amples informations,veuillez consulter Create a notification rule (p. 108) et Supprimer les notifications (p. 111).

Create a notification ruleYou can use notification rules to notify users of important changes, such as when a pull request is createdin a repository. Notification rules specify both the events and the Amazon SNS topic that is used to sendnotifications. For more information, see What are notifications?

Note

This feature is not available in the Europe (Milan) Region. To learn how to configure notifications inthe experience available in that Region, see Configure Repository Notifications.

You can use the console or the AWS CLI to create notification rules for AWS CodeCommit.

To create a notification rule (console)

1. Sign in to the AWS Management Console and open the CodeCommit console at https://console.aws.amazon.com/codecommit/.

2. Choose Repositories, and then choose a repository where you want to add notification rules.3. On the repository page, choose Notify, and then choose Create notification rule. You can also go to the

Settings page for the repository and choose Create notification rule.4. In Notification name, enter a name for the rule.5. In Detail type, choose Basic if you want only the information provided to Amazon EventBridge included

in the notification. Choose Full if you want to include information provided to Amazon EventBridge andinformation that might be supplied by the CodeCommit or the notification manager.

Version de l'API 2015-04-13108

Page 118: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurCreate a notification rule

For more information, see Understanding Notification Contents and Security.6. In Events that trigger notifications, select the events for which you want to send notifications. For more

information, see Events for Notification Rules on Repositories.7. In Targets, do one of the following:

• If you have already configured a resource to use with notifications, in Choose target type, chooseeither AWS Chatbot (Slack) or SNS topic. In Choose target, choose the name of the client (for aSlack client configured in AWS Chatbot) or the Amazon Resource Name (ARN) of the Amazon SNStopic (for Amazon SNS topics already configured with the policy required for notifications).

• If you have not configured a resource to use with notifications, choose Create target, and thenchoose SNS topic. Provide a name for the topic after codestar-notifications-, and then chooseCreate.

Note

• If you create the Amazon SNS topic as part of creating the notification rule, the policy thatallows the notifications feature to publish events to the topic is applied for you. Using a topiccreated for notification rules helps ensure that you subscribe only those users that you wantto receive notifications about this resource.

• You cannot create an AWS Chatbot client as part of creating a notification rule. If youchoose AWS Chatbot (Slack), you will see a button directing you to configure a client inAWS Chatbot. Choosing that option opens the AWS Chatbot console. For more information,see Configure Integrations Between Notifications and AWS Chatbot.

• If you want to use an existing Amazon SNS topic as a target, you must add the requiredpolicy for AWS CodeStar Notifications in addition to any other policies that might exist forthat topic. For more information, see Configure Amazon SNS Topics for Notifications andUnderstanding Notification Contents and Security.

8. To finish creating the rule, choose Submit.9. You must subscribe users to the Amazon SNS topic for the rule before they can receive notifications.

For more information, see Subscribe Users to Amazon SNS Topics That Are Targets. You can alsoset up integration between notifications and AWS Chatbot to send notifications to Amazon Chimechatrooms. For more information, see Configure Integration Between Notifications and AWS Chatbot.

To create a notification rule (AWS CLI)

1. At a terminal or command prompt, run the create-notification rule command to generate the JSONskeleton:

aws codestar-notifications create-notification-rule --generate-cli-skeleton > rule.json

You can name the file anything you want. In this example, the file is named rule.json.2. Open the JSON file in a plain-text editor and edit it to include the resource, event types, and target you

want for the rule. The following example shows a notification rule named MyNotificationRule for arepository named MyDemoRepo in an AWS acccount with the ID 123456789012. Notifications with thefull detail type are sent to an Amazon SNS topic named MyNotificationTopic when branches andtags are created:

{ "Name": "MyNotificationRule", "EventTypeIds": [ "codecommit-repository-branches-and-tags-created" ], "Resource": "arn:aws:codecommit:us-east-1:123456789012:MyDemoRepo",

Version de l'API 2015-04-13109

Page 119: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurModifier ou désactiver les notifications

"Targets": [ { "TargetType": "SNS", "TargetAddress": "arn:aws:sns:us-east-1:123456789012:MyNotificationTopic" } ], "Status": "ENABLED", "DetailType": "FULL"}

Save the file.3. Using the file you just edited, at the terminal or command line, run the create-notification-rule command

again to create the notification rule:

aws codestar-notifications create-notification-rule --cli-input-json file://rule.json

4. If successful, the command returns the ARN of the notification rule, similar to the following:

{ "Arn": "arn:aws:codestar-notifications:us-east-1:123456789012:notificationrule/dc82df7a-EXAMPLE"}

Modifier ou désactiver les notificationsVous pouvez utiliser la console AWS CodeCommit pour modifier la configuration des notifications crééesavant le 5 novembre 2019, y compris les types d'événement qui envoient des e-mails aux utilisateurs et larubrique Amazon SNS utilisée pour envoyer des e-mails concernant le référentiel. Vous pouvez égalementutiliser la console CodeCommit pour gérer la liste des adresses e-mail et des points de terminaisonabonnés à la rubrique ou pour désactiver les notifications.

Pour modifier les paramètres de notification

1. Ouvrez la console CodeCommit à l'adresse https://console.aws.amazon.com/codesuite/codecommit/home.

2. Dans Repositories (Référentiels), sélectionnez le nom du référentiel dans lequel vous voulez configurerdes notifications créées avant le 5 novembre 2019.

3. Dans le volet de navigation, choisissez Paramètres, puis Notifications. Si vous voyez une bannièrevous informant que vous avez des notifications au lieu de règles de notification, choisissez Manageexisting notifications (Gérer les notifications existantes).

4. Choisissez Edit.5. Effectuez les modifications, puis choisissez Enregistrer.

La désactivation des notifications est un moyen facile d'empêcher temporairement la réception des e-mailsconcernant les événements du référentiel.

Pour supprimer définitivement une notification créée avant le 5 novembre 2019, suivez les étapes deSupprimer les notifications (p. 111).

Pour désactiver les notifications

1. Ouvrez la console CodeCommit à l'adresse https://console.aws.amazon.com/codesuite/codecommit/home.

2. Dans Repositories (Référentiels), sélectionnez le nom du référentiel dans lequel vous voulezdésactiver des notifications.

Version de l'API 2015-04-13110

Page 120: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurSupprimer les notifications

3. Dans le volet de navigation, choisissez Paramètres, puis Notifications. Choisissez Manage existingnotifications (Gérer les notifications existantes).

4. Choisissez Edit (Modifier), puis, dans Event status (Statut de l'événement), utilisez le curseur pourdésactiver Enable notifications (Activer les notifications). Choisissez Save.

5. Le statut de l'événement devient Disabled (Désactivé). Aucun e-mail n'est envoyé concernant lesévénements. Lorsque vous désactivez les notifications, la règle CloudWatch Events du référentiel estdésactivée automatiquement. Ne modifiez pas manuellement son statut dans la console CloudWatchEvents.

Supprimer les notificationsSi vous ne souhaitez plus utiliser les notifications créées pour un référentiel avant le 5 novembre 2019,vous pouvez supprimer la règle Amazon CloudWatch Events associée à la notification. Cela supprimeautomatiquement la notification. Elle ne supprime pas les abonnements ou la rubrique Amazon SNSutilisée pour les notifications.

Note

Si vous modifiez le nom d'un référentiel à partir de la console, les notifications créées avant le5 novembre 2019 continuent de fonctionner sans modification. Toutefois, si vous modifiez le nomdu référentiel à partir de la ligne de commande ou via l'API, les notifications ne fonctionnent plus.Le moyen le plus simple de restaurer les notifications consiste à supprimer les paramètres denotification et à les configurer à nouveau.

Pour supprimer les paramètres de notification

1. Ouvrez la console CodeCommit à l'adresse https://console.aws.amazon.com/codesuite/codecommit/home.

2. Dans Repositories (Référentiels), sélectionnez le nom du référentiel dans lequel vous voulez souhaitezsupprimer des notifications créées avant le 5 novembre 2019.

3. Dans le volet de navigation, choisissez Paramètres, puis Notifications. Si vous voyez une bannièrevous informant que vous avez des notifications au lieu de règles de notification, choisissez Manageexisting notifications (Gérer les notifications existantes).

4. dans CloudWatch règle d’événement, copiez le nom de la règle qui a été créée pour la notification.5. Connectez-vous à la AWS Management Console et ouvrez la console CloudWatch à l'adresse https://

console.aws.amazon.com/cloudwatch/.6. Dans Events (Événements), choisissez Rules (Règles). Dans Name (Nom), collez le nom de la règle

créée pour la notification. Choisissez la règle et, dans Actions, choisissez Delete (Supprimer).7. (Facultatif) Pour modifier ou supprimer la rubrique Amazon SNS utilisée pour les notifications après

la suppression des paramètres de notification, accédez à la console Amazon SNS à l'adresse https://console.aws.amazon.com/sns/v3/home. Pour plus d'informations, consultez la section relative aunettoyage dans le Amazon Simple Notification Service Manuel du développeur.

Balisage des référentiels dans AWS CodeCommitUne balise est une étiquette d’attribut personnalisée affectée par vous-même ou par AWS à une ressourceAWS. Les balises AWS sont différentes des balises Git, qui peuvent être appliquées à des validations.Chaque balise AWS se compose de deux parties :

• A clé de balise (par exemple, CostCenter, Environment, Projectou Secret). Les clés de balisessont sensibles à la casse.

Version de l'API 2015-04-13111

Page 121: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAjout d’une balise à un référentiel

• Un champ facultatif appelé valeur de balise (par exemple, 111122223333, Production ou le nomd'une équipe). Si la valeur de balise est identique à l'utilisation d'une chaîne vide. Les valeurs de balisessont sensibles à la casse, tout comme les clés de balises.

Ensemble, ces informations sont qualifiées de paires clé-valeur. Pour les limites sur le nombre de balisesque vous pouvez avoir dans un référentiel et les restrictions sur les valeurs et clés de balise, consultezLimites (p. 437).

Les balises vous aident à identifier et organiser vos ressources AWS. De nombreux services AWSprennent en charge le balisage. Vous pouvez donc attribuer la même balise à des ressources à partirde différents services pour indiquer que les ressources sont liées. Par exemple, vous pouvez attribuer lamême balise à un référentiel CodeCommit que vous affectez à un compartiment Amazon S3. Pour de plusamples informations sur le balisage des stratégies, veuillez consulter Balisage des ressources AWS.

Dans CodeCommit, la ressource principale est un référentiel. Vous pouvez utiliser le CodeCommit console,le AWS CLI, CodeCommit APIsou AWS SDKs pour ajouter, gérer et supprimer des balises pour unréférentiel. Outre l'identification, l'organisation et le suivi de votre référentiel avec des balises, vous pouvezutiliser des balises dans les stratégies IAM afin de contrôler qui peut consulter et interagir avec votreréférentiel. Pour obtenir des exemples de stratégies d'accès basées sur les balises, consultez Exemple 5 :Refuser ou autoriser des actions sur les référentiels avec des balises (p. 346).

Rubriques• Ajout d’une balise à un référentiel (p. 112)• Affichage des balises pour un référentiel (p. 114)• Affichage des balises pour un référentiel (p. 115)• Supprimer une balise d’un référentiel (p. 116)

Ajout d’une balise à un référentielL'ajout de balises à un référentiel peut vous aider à identifier et organiser vos ressources AWS et àgérer leur accès. Tout d'abord, vous ajoutez une ou plusieurs balises (paires clé-valeur) à un référentiel.N'oubliez pas qu'il y a des limites sur le nombre de balises que vous pouvez avoir dans un référentiel. Ilexiste des restrictions sur les caractères que vous pouvez utiliser dans les champs clé et valeur. Pour plusd'informations, consultez la section Limites (p. 437). Une fois que vous avez des balises, vous pouvezcréer des stratégies IAM pour gérer l'accès au référentiel en fonction de ces balises. Vous pouvez utiliser laconsole CodeCommit ou l'AWS CLI pour ajouter des balises à un référentiel.

Important

L'ajout de balises à un référentiel peut avoir un impact sur l'accès à ce référentiel. Avant d'ajouterune balise à un référentiel, assurez-vous de passer en revue toutes les stratégies IAM qui peuventutiliser des balises pour contrôler l'accès aux ressources, telles que les référentiels. Pour obtenirdes exemples de stratégies d'accès basées sur les balises, consultez Exemple 5 : Refuser ouautoriser des actions sur les référentiels avec des balises (p. 346).

Pour plus d'informations sur l'ajout de balises à un référentiel lorsque vous le créez, consultez Créationd’un référentiel (console) (p. 96).

Rubriques• Ajouter une balise à un référentiel (console) (p. 113)• Ajoutez une balise à un référentiel (AWS CLI) (p. 113)

Version de l'API 2015-04-13112

Page 122: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAjout d’une balise à un référentiel

Ajouter une balise à un référentiel (console)Vous pouvez utiliser la console CodeCommit pour ajouter une ou plusieurs balises à un référentielCodeCommit.

1. Ouvrez la console CodeCommit à l'adresse https://console.aws.amazon.com/codesuite/codecommit/home.

2. Dans Repositories (Référentiels), sélectionnez le nom du référentiel dans lequel vous souhaitezafficher les balises.

3. Dans le panneau de navigation, choisissez Settings. Choisissez Repository tags (Balises duréférentiel).

4. Si aucune des balises n'a été ajoutée au référentiel, choisissez Add tag (Ajouter une balise). Sinon,choisissez Edit 5modifier), puis choisissez Add tag (Ajouter une balise).

5. Dans Key (Clé), entrez un nom de balise. Vous pouvez ajouter une valeur facultative pour la balisedans Value (Valeur).

6. (Facultatif) Pour ajouter une autre balise, choisissez à nouveau Add tag (Ajouter une balise).7. Lorsque vous avez fini d'ajouter des balises, choisissez Submit (Envoyer).

Ajoutez une balise à un référentiel (AWS CLI)Suivez ces étapes pour utiliser l'AWS CLI pour ajouter une balise à un Référentiel CodeCommit.Pour ajouter une balise à un référentiel lorsque vous le créez, consultez Créez un référentiel (AWSCLI) (p. 97).

Dans ces étapes, nous supposons que vous avez déjà installé une version récente de l'AWS CLI ouque vous avez procédé à une mise à jour vers la version actuelle. Pour plus d'informations, consultezInstallation de l'AWS Command Line Interface.

Depuis le terminal ou la ligne de commande, exécutez la commande tag-resource, en spécifiant l'ARN(Amazon Resource Name) du référentiel dans lequel vous souhaitez ajouter des balises ainsi que la clé etla valeur de la balise que vous souhaitez ajouter. Vous pouvez ajouter plusieurs balises à un référentiel.Par exemple, pour baliser un référentiel nommé MyDemoRepo avec deux balises, une clé de balisenommée Status avec la valeur de balise de Secretet une clé de balise nommée Team avec la valeur debalise de Saanvi:

Version de l'API 2015-04-13113

Page 123: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAffichage des balises pour un référentiel

aws codecommit tag-resource --resource-arn arn:aws:codecommit:us-west-2:111111111111:MyDemoRepo --tags Status=Secret,Team=Saanvi

Si elle aboutit, cette commande ne renvoie rien.

Affichage des balises pour un référentielLes balises peuvent vous aider à identifier et organiser vos ressources AWS et à gérer leur accès. Pour deplus amples informations sur le balisage des stratégies, veuillez consulter Balisage des ressources AWS.Pour obtenir des exemples de stratégies d'accès basées sur les balises, consultez Exemple 5 : Refuser ouautoriser des actions sur les référentiels avec des balises (p. 346).

Afficher les balises d’un référentiel (console)Vous pouvez utiliser la console CodeCommit pour afficher les balises associées à un référentielCodeCommit.

1. Ouvrez la console CodeCommit à l'adresse https://console.aws.amazon.com/codesuite/codecommit/home.

2. Dans Repositories (Référentiels), sélectionnez le nom du référentiel dans lequel vous souhaitezafficher les balises.

3. Dans le panneau de navigation, choisissez Settings. Choisissez Repository tags (Balises duréférentiel).

Afficher les balises d’un référentiel (AWS CLI)Suivez ces étapes pour utiliser l'AWS CLI pour afficher les balises AWS pour un Référentiel CodeCommit.Si aucune balise n'a été ajoutée, la liste renvoyée est vide.

Depuis le terminal ou la ligne de commande, exécutez la commande list-tags-for-resource. Par exemple,pour afficher une liste de clés de balise et de valeurs de balise pour un référentiel nommé MyDemoRepoavec l’ARN arn:aws:codecommit:us-east-2:111111111111:MyDemoRepo:

aws codecommit list-tags-for-resource --resource-arn arn:aws:codecommit:us-west-2:111111111111:MyDemoRepo

Version de l'API 2015-04-13114

Page 124: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAffichage des balises pour un référentiel

Si elle aboutit, cette commande renvoie des informations similaires à ce qui suit :

{ "tags": { "Status": "Secret", "Team": "Saanvi" }}

Affichage des balises pour un référentielVous pouvez modifier la valeur d'une balise associée à un référentiel. Vous pouvez également modifier lenom de la clé, ce qui équivaut à supprimer la balise et à ajoutant une carte différente avec le nouveau nomet la même valeur que l'autre clé. N'oubliez pas qu'il y a des limites sur les caractères que vous pouvezutiliser dans les champs clé et valeur. Pour plus d'informations, consultez la section Limites (p. 437).

Important

La modification des balises pour un référentiel peut avoir un impact sur l'accès à ce référentiel.Avant de modifier le nom (clé) ou la valeur d'une balise pour un référentiel, assurez-vous depasser en revue toutes les stratégies IAM qui peuvent utiliser la clé ou la valeur d'une balisepour contrôler l'accès aux ressources, telles que les référentiels. Pour obtenir des exemples destratégies d'accès basées sur les balises, consultez Exemple 5 : Refuser ou autoriser des actionssur les référentiels avec des balises (p. 346).

Modifier une balise pour un référentiel (console)Vous pouvez utiliser la console CodeCommit pour modifier les balises associées à un référentielCodeCommit.

1. Ouvrez la console CodeCommit à l'adresse https://console.aws.amazon.com/codesuite/codecommit/home.

2. Dans Repositories (Référentiels), sélectionnez le nom du référentiel dans lequel vous souhaitezmodifier les balises.

3. Dans le panneau de navigation, choisissez Settings. Choisissez Repository tags (Balises duréférentiel).

4. Choisissez Edit.

Version de l'API 2015-04-13115

Page 125: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurSupprimer une balise d’un référentiel

5.

Procédez de l'une des façons suivantes :

• Pour modifier la balise, entrez un nouveau nom dans Key (Clé). La modification du nom de la baliseest l'équivalent de la suppression d'une balise et de l'ajout d'une nouvelle balise avec le nouveaunom de clé.

• Pour modifier la valeur d'une balise, saisissez une nouvelle valeur. Si vous souhaitez modifier lavaleur en valeur nulle, supprimez la valeur actuelle et laissez le champ vide.

6. Lorsque vous avez terminé de modifier des balises, choisissez Submit (Soumettre).

Modifier les balises d’un référentiel (AWS CLI)Suivez ces étapes pour utiliser l'AWS CLI pour mettre à jour une balise pour un référentiel CodeCommit.Vous pouvez modifier la valeur d'une clé existante ou ajouter une autre clé.

Depuis le terminal ou la ligne de commande, exécutez la commande tag-resource, en spécifiant l'ARN(Amazon Resource Name) du référentiel dans lequel vous souhaitez mettre à jour une balise et spécifiez laclé de balise et la valeur de balise :

aws codecommit tag-resource --resource-arn arn:aws:codecommit:us-west-2:111111111111:MyDemoRepo --tags Team=Li

Supprimer une balise d’un référentielVous pouvez supprimer une ou plusieurs balises associées à un référentiel. La suppression d'une balise nesupprime pas la balise d'autres ressources AWS qui sont associées à cette balise.

Important

La suppression des balises pour un référentiel peut avoir un impact sur l'accès à ce référentiel.Avant de supprimer une balise d'un référentiel, assurez-vous de passer en revue toutes lesstratégies IAM qui peuvent utiliser la clé ou la valeur d'une balise pour contrôler l'accès auxressources, telles que les référentiels. Pour obtenir des exemples de stratégies d'accès basées

Version de l'API 2015-04-13116

Page 126: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurGestion des déclencheurs pour un référentiel

sur les balises, consultez Exemple 5 : Refuser ou autoriser des actions sur les référentiels avecdes balises (p. 346).

Suppression d’une balise d’un référentiel (console)Vous pouvez utiliser la console CodeCommit pour supprimer l'association entre une balise et un référentielCodeCommit.

1. Ouvrez la console CodeCommit à l'adresse https://console.aws.amazon.com/codesuite/codecommit/home.

2. Dans Repositories (Référentiels), sélectionnez le nom du référentiel dans lequel vous souhaitezsupprimer les balises.

3. Dans le panneau de navigation, choisissez Settings. Choisissez Repository tags (Balises duréférentiel).

4. Choisissez Edit.5. Trouvez la balise que vous voulez supprimer, puis choisissez Remove tag (Supprimer une balise).6. Lorsque vous avez terminé de supprimer les balises, choisissez Submit (Envoyer).

Supprimer une balise d’un référentiel (AWS CLI)Suivez ces étapes pour utiliser l'AWS CLI pour supprimer une balise d'un référentiel CodeCommit. Lasuppression d’une balise supprime uniquement son association au référentiel, mais pas la balise en elle-même.

Note

Si vous supprimez un référentiel CodeCommit, toutes les associations de balises sont supprimésdu référentiel supprimé. Vous n'avez pas besoin de supprimer les balises avant de supprimer unréférentiel.

Depuis le terminal ou la ligne de commande, exécutez la commande untag-resource, en spécifiant l'ARN(Amazon Resource Name) du référentiel dans lequel vous souhaitez supprimer des balises et la clé debalise de la balise que vous souhaitez supprimer. Par exemple, pour supprimer une balise sur un référentielnommé MyDemoRepo avec la clé de balise Status:

aws codecommit untag-resource --resource-arn arn:aws:codecommit:us-west-2:111111111111:MyDemoRepo --tag-keys Status

Si elle aboutit, cette commande ne renvoie rien. Pour vérifier quelles balises sont associées au référentiel,exécutez la commande list-tags-for-resource.

Gérer les déclencheurs pour un AWS CodeCommitréférentiel

Vous pouvez configurer un référentiel CodeCommit afin que le code exécute des transmissions ou qued'autres événements déclenchent des actions, telles que l'envoi d'une notification depuis Amazon SimpleNotification Service (Amazon SNS) ou l'appel d'une fonction dans AWS Lambda. Vous pouvez créerjusqu'à 10 déclencheurs pour chaque référentiel CodeCommit.

Les déclencheurs sont généralement configurés pour :

Version de l'API 2015-04-13117

Page 127: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurCréez la ressource et ajoutez desautorisations pour CodeCommit

• Envoyer des e-mails à des utilisateurs abonnés chaque fois qu'une personne effectue une transmissionvers le référentiel.

• Demander à un système de génération externe de démarrer une génération une fois qu'une personneeffectue une transmission vers la branche principale du référentiel.

Des scénarios, comme informer un système de génération externe, nécessitent l'écriture d'une fonctionLambda pour interagir avec d'autres applications. Le scénario d'envoi d'e-mail nécessite simplement lacréation d'une rubrique Amazon SNS.

Cette rubrique vous montre comment définir des autorisations qui permettent à CodeCommit de déclencherdes actions dans Amazon SNS et Lambda. Elle inclut également des liens vers des exemples permettantde créer, modifier, test et supprimer des déclencheurs.

Rubriques• Créez la ressource et ajoutez des autorisations pour CodeCommit (p. 118)• Exemple: Créez un AWS CodeCommit pour un Amazon SNS thème (p. 119)• Exemple: Créez un AWS CodeCommit pour un AWS Lambda fonction (p. 123)• Exemple: Créer un déclencheur dans AWS CodeCommit pour un AWS Lambda fonction (p. 127)• Modifier les déclencheurs pour un AWS CodeCommit référentiel (p. 132)• Déclencheurs de test pour un AWS CodeCommit référentiel (p. 134)• Supprimer des déclencheurs d’un AWS CodeCommit référentiel (p. 135)

Créez la ressource et ajoutez des autorisations pourCodeCommitVous pouvez intégrer des rubriques Amazon SNS et des fonctions Lambda à des déclencheurs dansCodeCommit, mais vous devez tout d'abord créer, puis configurer des ressources avec une stratégie quiautorise CodeCommit à interagir avec ces ressources. Vous devez créer la ressource dans la même régionAWS que le référentiel CodeCommit. Par exemple, si le référentiel est dans USA Est (Ohio) (us-east-2), larubrique Amazon SNS ou la fonction Lambda doit être dans USA Est (Ohio).

• Pour les rubriques Amazon SNS, vous n'avez pas besoin de configurer des stratégies ou autorisationsIAM supplémentaires si la rubrique Amazon SNS est créée à l'aide du même compte que le référentielCodeCommit. Vous pouvez créer le déclencheur CodeCommit dès que vous avez créé la rubriqueAmazon SNS et que vous vous y êtes abonné.• Pour plus d'informations sur la création de rubriques dans Amazon SNS, consultez la documentation

Amazon SNS.• Pour plus d'informations sur l'utilisation d'Amazon SNS pour envoyer des messages aux files d'attente

Amazon SQS, consultez Envoi de messages aux files d'attente Amazon SQS dans le Manuel dudéveloppeur Amazon SNS.

• Pour plus d'informations sur l'utilisation d'Amazon SNS pour appeler une fonction Lambda, consultezAppel de fonctions Lambda dans le Manuel du développeur Amazon SNS.

• Si vous souhaitez configurer votre déclencheur pour utiliser une rubrique Amazon SNS dans un autrecompte AWS, vous devez d'abord configurer cette rubrique avec une stratégie qui autorise CodeCommità publier dans cette rubrique. Pour plus d'informations, consultez la section Exemple 1 : Créez unestratégie qui autorise l’accès entre comptes à un Amazon SNS thème (p. 347).

• Vous pouvez configurer les fonctions Lambda en créant le déclencheur dans la console Lambda dansle cadre de la fonction. C'est la méthode la plus simple dans la mesure où les déclencheurs créésdans la console Lambda incluent automatiquement les autorisations nécessaires pour qu'CodeCommitappelle la fonction Lambda. Si vous créez le déclencheur dans CodeCommit, vous devez inclure une

Version de l'API 2015-04-13118

Page 128: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurCréer un déclencheur pour un Amazon SNS thème

stratégie pour permettre à CodeCommit d'appeler la fonction. Pour plus d'informations, consultez Créerun déclencheur pour un Lambda fonction (p. 127) Exemple 3 : Créer une stratégie pour AWS Lambdaavec une CodeCommit déclencheur (p. 349) et .

Exemple: Créez un AWS CodeCommit pour unAmazon SNS thèmeVous pouvez créer un déclencheur pour un référentiel CodeCommit afin que les événements dans ceréférentiel déclenchent des notifications à partir d'une rubrique Amazon Simple Notification Service(Amazon SNS). Vous pouvez souhaiter créer un déclencheur vers une rubrique Amazon SNS pourpermettre à des utilisateurs de s'abonner à des notifications sur des événements de référentiel, parexemple la suppression de branches. Vous pouvez également tirer parti de l'intégration des rubriquesAmazon SNS à d'autres services, comme Amazon Simple Queue Service (Amazon SQS) et AWS Lambda.

Note

Vous devez faire pointer le déclencheur sur une rubrique Amazon SNS existante qui est l'actionexécutée en réponse à des événements de référentiel. Pour plus d'informations sur la créationet l'abonnement aux rubriques Amazon SNS, consultez Mise en route avec Amazon SimpleNotification Service.

Rubriques• Créez un déclencheur pour un Amazon SNS pour un CodeCommit référentiel (console) (p. 119)• Créez un déclencheur pour un Amazon SNS pour un CodeCommit du référentiel (AWS CLI) (p. 120)

Créez un déclencheur pour un Amazon SNS pour unCodeCommit référentiel (console)1. Ouvrez la console CodeCommit à l'adresse https://console.aws.amazon.com/codesuite/codecommit/

home.2. Dans Référentiels, sélectionnez le référentiel dans lequel vous souhaitez créer des déclencheurs pour

des événements de référentiel.3. Dans le volet de navigation pour le référentiel, choisissez Paramètres, puis Déclencheurs.4. Choisissez Create trigger (Créer un déclencheur) puis effectuez les opérations suivantes :

• dans Nom du déclencheur, saisissez un nom pour le déclencheur (par exemple, MyFirstTrigger).• Dans Événements, choisissez les événements de référentiel qui déclenchent l'envoi de notifications

par la rubrique Amazon SNS.

Si vous choisissez All repository events, vous ne pouvez pas choisir d'autres événements. Pourchoisir un sous-ensemble d'événements, supprimez All repository events, puis sélectionnez un ouplusieurs événements dans la liste. Par exemple, si vous souhaitez que le déclencheur s'exécuteuniquement quand un utilisateur crée une branche ou une balise dans le référentiel CodeCommit,supprimez All repository events (Tous les événements de référentiel), puis sélectionnez Createbranch or tag (Créer une branche ou une balise).

• Si vous souhaitez que le déclencheur s'applique à toutes les branches du référentiel, dansBranches, conservez la sélection vide, car cette option par défaut applique automatiquement ledéclencheur à toutes les branches. Si vous souhaitez que ce déclencheur s'applique uniquement àcertaines branches spécifiques, choisissez jusqu'à 10 noms de branches dans la liste des branchesdu référentiel.

• Dans Choose the service to use (Choisissez le service à utiliser), choisissez Amazon SNS.

Version de l'API 2015-04-13119

Page 129: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurCréer un déclencheur pour un Amazon SNS thème

• Dans Amazon SNS, choisissez un nom de rubrique dans la liste ou saisissez l'ARN de la rubrique.• Dans Custom data (Données personnalisées), vous pouvez fournir, le cas échéant, des informations

que vous souhaitez inclure dans la notification envoyée par la rubrique Amazon SNS (par exemple,un nom de canal IRC que les développeurs utilisent lors de leur discussion de développement dansce référentiel). Ce champ est une chaîne. Celle-ci ne peut pas être utilisée pour transmettre desparamètres dynamiques.

5. (Facultatif) Choisissez Test trigger (Tester le déclencheur). Cette étape vous permet de vérifier quevous avez configuré correctement l'accès entre CodeCommit et la rubrique Amazon SNS. Elle utilisela rubrique Amazon SNS pour envoyer une notification test à l'aide de données de votre référentiel,le cas échéant. Si aucune donnée réelle n'est disponible, la notification test contient des exemples dedonnées.

6. Choisissez Create trigger (Créer un déclencheur) afin de finaliser la création du déclencheur.

Créez un déclencheur pour un Amazon SNS pour unCodeCommit du référentiel (AWS CLI)Vous pouvez également utiliser la ligne de commande afin de créer un déclencheur pour une rubriqueAmazon SNS en réponse à des événements de référentiel CodeCommit par exemple, quand quelqu'untransmet une validation vers votre référentiel.

Pour créer un déclencheur pour une rubrique Amazon SNS

1. Ouvrez un éditeur de texte brut et créez un fichier JSON qui spécifie :

• Le nom de la rubrique Amazon SNS.• Le référentiel et les branches que vous souhaitez surveiller avec ce déclencheur. (Si vous ne

spécifiez pas de branche, le déclencheur s'applique à toutes les branches du référentiel).• Les événements qui peuvent activer ce déclencheur.

Enregistrez le fichier .

Par exemple, pour créer un déclencheur pour un référentiel nommé MyDemoRepo qui publie tous lesévénements de référentiel dans un Amazon SNS thème nommé MySNSTopic pour deux branches,master et preprod:

{ "repositoryName": "MyDemoRepo", "triggers": [ { "name": "MyFirstTrigger", "destinationArn": "arn:aws:sns:us-east-2:80398EXAMPLE:MySNSTopic", "customData": "", "branches": [ "master", "preprod" ], "events": [ "all" ] } ]}

Un bloc de déclencheur doit exister dans le fichier JSON pour chaque déclencheur correspondantà un référentiel. Pour créer plusieurs déclencheurs pour le référentiel, incluez plusieurs blocs dedéclencheur dans le fichier JSON. N'oubliez pas que tous les déclencheurs créés dans ce fichier sont

Version de l'API 2015-04-13120

Page 130: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurCréer un déclencheur pour un Amazon SNS thème

pour le référentiel spécifié. Vous ne pouvez pas créer des déclencheurs pour plusieurs référentielsdans un seul fichier JSON. Par exemple, si vous souhaitez créer deux déclencheurs pour unréférentiel, vous pouvez créer un fichier JSON avec deux blocs de déclencheur. Dans l'exemplesuivant, aucune branche n'est spécifiée pour le deuxième bloc de déclencheur ; le déclencheurs'applique donc à toutes les branches :

{ "repositoryName": "MyDemoRepo", "triggers": [ { "name": "MyFirstTrigger", "destinationArn": "arn:aws:sns:us-east-2:80398EXAMPLE:MySNSTopic", "customData": "", "branches": [ "master", "preprod" ], "events": [ "all" ] }, { "name": "MySecondTrigger", "destinationArn": "arn:aws:sns:us-east-2:80398EXAMPLE:MySNSTopic2", "customData": "", "branches": [], "events": [ "updateReference", "deleteReference" ] } ]}

Vous pouvez créer des déclencheurs pour les événements que vous spécifiez, par exemple si unevalidation est transmise vers un référentiel. Les types d'événements comprennent :

• all pour tous les événements dans le référentiel et les branches spécifiés.• updateReference pour quand des validations sont transmises vers le référentiel et les branches

spécifiés.• createReference pour quand une nouvelle branche ou balise est créée dans le référentiel

spécifié.• deleteReference pour quand une branche ou balise est supprimée dans le référentiel spécifié.

Note

Vous pouvez utiliser plusieurs types d'événement dans un déclencheur. Toutefois, si vousspécifiez all, vous ne pouvez pas indiquer d'autres événements.

Pour afficher la liste complète des types d'événement valides, depuis le terminal ou l'invite decommande, saisissez aws codecommit put-repository-triggers help.

En outre, vous pouvez inclure une chaîne dans customData (par exemple, un nom de canal IRCque les développeurs utilisent lors de leur discussion de développement dans ce référentiel). Cechamp est une chaîne. Celle-ci ne peut pas être utilisée pour transmettre des paramètres dynamiques.Cette chaîne est ajoutée en tant qu'attribut dans le fichier JSON CodeCommit renvoyé en réponse audéclencheur.

2. (Facultatif) Depuis un terminal ou l'invite de commande, exécutez la commande test-repository-triggers. Ce test utilise des exemples de données du référentiel (ou génère des exemples de donnéessi aucune donnée n'est disponible) pour envoyer une notification aux abonnés de la rubrique Amazon

Version de l'API 2015-04-13121

Page 131: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurCréer un déclencheur pour un Amazon SNS thème

SNS. Par exemple, ce qui suit est utilisé pour tester que le JSON dans le fichier déclencheur nommétrigger.json est valide et que CodeCommit peut publier dans le Amazon SNS sujet :

aws codecommit test-repository-triggers --cli-input-json file://trigger.json

Si elle aboutit, cette commande renvoie des informations similaires à ce qui suit :

{ "successfulExecutions": [ "MyFirstTrigger" ], "failedExecutions": []}

3. Depuis un terminal ou une invite de commande, exécutez la commande put-repository-triggerspour créer le déclencheur dans CodeCommit. Par exemple, pour utiliser un fichier JSON nommétrigger.json pour créer le déclencheur :

aws codecommit put-repository-triggers --cli-input-json file://trigger.json

Cette commande renvoie un ID de configuration semblable à ce qui suit :

{ "configurationId": "0123456-I-AM-AN-EXAMPLE"}

4. Pour afficher la configuration du déclencheur, exécutez la commande get-repository-triggers enspécifiant le nom du référentiel :

aws codecommit get-repository-triggers --repository-name MyDemoRepo

Cette commande renvoie la structure de tous les déclencheurs configurés pour le référentiel, similaireà ce qui suit :

{ "configurationId": "0123456-I-AM-AN-EXAMPLE", "triggers": [ { "events": [ "all" ], "destinationArn": "arn:aws:sns:us-east-2:80398EXAMPLE:MySNSTopic", "branches": [ "master", "preprod" ], "name": "MyFirstTrigger", "customData": "Project ID 12345" } ]}

5. Pour tester les fonctionnalités du déclencheur proprement dit, créez et transmettez une validationvers le référentiel où vous avez configuré le déclencheur. Vous devez voir une réponse de la rubriqueAmazon SNS. Par exemple, si vous avez configuré la rubrique Amazon SNS pour envoyer un e-mail,vous devez voir un e-mail d'Amazon SNS dans le compte de messagerie abonné à la rubrique.

Voici un exemple de sortie d'un e-mail envoyé depuis Amazon SNS en réponse à une transmissionvers un référentiel CodeCommit :

Version de l'API 2015-04-13122

Page 132: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurCréer un déclencheur pour un Lambda fonction

{ "Records":[ { "awsRegion":"us-east-2", "codecommit":{ "references" : [ { "commit":"317f8570EXAMPLE", "created":true, "ref":"refs/heads/NewBranch" }, { "commit":"4c925148EXAMPLE", "ref":"refs/heads/preprod", } ] }, "eventId":"11111-EXAMPLE-ID", "eventName":"ReferenceChange", "eventPartNumber":1, "eventSource":"aws:codecommit", "eventSourceARN":"arn:aws:codecommit:us-east-2:80398EXAMPLE:MyDemoRepo", "eventTime":"2016-02-09T00:08:11.743+0000", "eventTotalParts":1, "eventTriggerConfigId":"0123456-I-AM-AN-EXAMPLE", "eventTriggerName":"MyFirstTrigger", "eventVersion":"1.0", "customData":"Project ID 12345", "userIdentityARN":"arn:aws:iam::80398EXAMPLE:user/JaneDoe-CodeCommit", } ]}

Exemple: Créez un AWS CodeCommit pour un AWSLambda fonctionVous pouvez créer un déclencheur pour un référentiel CodeCommit afin que des événements dans leréférentiel appellent une fonction Lambda. Dans cet exemple, vous allez créer une fonction Lambda quirenvoie l'URL utilisée pour cloner le référentiel dans un journal Amazon CloudWatch.

Rubriques• Créer la fonction Lambda (p. 123)• Afficher le déclencheur pour le Lambda fonction dans le AWS CodeCommit référentiel (p. 126)

Créer la fonction LambdaLorsque vous utilisez la console Lambda pour créer la fonction, vous pouvez également créer undéclencheur CodeCommit pour la fonction Lambda. Les étapes suivantes incluent un exemple de fonctionLambda. L’exemple est disponible en deux langues : JavaScript et Python. La fonction renvoie le URLsutilisé pour cloner un référentiel sur un CloudWatch journal.

Pour créer une fonction Lambda à l'aide d'un plan Lambda

1. Connectez-vous à la AWS Management Console et ouvrez la console AWS Lambda à l'adressehttps://console.aws.amazon.com/lambda/.

Version de l'API 2015-04-13123

Page 133: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurCréer un déclencheur pour un Lambda fonction

2. Sur la page Lambda Fonctions , choisissez Créer fonction. (Si vous n'avez pas utilisé Lambdaauparavant, sélectionnez Get Started Now (Pour commencer).)

3. Sur la page Créer une fonction, choisissez Créer à partir de zéro. dans Nom de la fonction, donnezun nom à la fonction , par exemple MyLambdaFunctionforCodeCommit. dans Temps d’exécution,choisissez la langue que vous souhaitez utiliser pour écrire votre fonction, puis choisissez Créer unefonction.

4. Sur la page Configurerde l’eau de l’onglet, choisissez Ajouter un déclencheur.5. dans Configuration du déclencheur, choisissez CodeCommit à partir de la liste déroulante des

services.

• Dans Nom du référentiel, choisissez le nom du référentiel dans lequel vous souhaitez configurer undéclencheur qui utilise la fonction Lambda en réponse à des événements de référentiel.

• dans Nom du déclencheur, saisissez un nom pour le déclencheur (par exemple,MyLambdaFunctionTrigger).

• Dans Événements, sélectionnez les événements de référentiel qui déclenchent la fonction Lambda.Si vous choisissez All repository events, vous ne pouvez pas choisir d'autres événements. Sivous voulez choisir un sous-ensemble d'événements, désélectionnez All repository events,puis choisissez les événements souhaités dans la liste. Par exemple, si vous souhaitez que ledéclencheur s'exécute uniquement quand un utilisateur crée une balise ou une branche dans leréférentiel AWS CodeCommit, supprimez All repository events (Tous les événements du référentiel),puis sélectionnez Create branch or tag (Créer une branche ou une balise).

Version de l'API 2015-04-13124

Page 134: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurCréer un déclencheur pour un Lambda fonction

• Si vous souhaitez que le déclencheur s'applique à toutes les branches du référentiel, dansBranches, choisissez All branches. Sinon, choisissez Specific branches. La branche par défautpour le référentiel est ajoutée par défaut. Vous pouvez conserver cette branche dans la liste ou lasupprimer. Choisissez jusqu'à 10 noms de branche dans la liste des branches de référentiel.

• (Facultatif) Dans Données personnalisées, saisissez les informations que vous souhaitez incluredans la fonction Lambda (par exemple, le nom du canal IRC utilisé par les développeurs pourdiscuter du développement dans le référentiel). Ce champ est une chaîne. Celle-ci ne peut pas êtreutilisée pour transmettre des paramètres dynamiques.

Choisissez Add (Ajouter).6. Sur la page Configurerde l’eau page, dans Code de fonction, dans Code entry type (Type d’entrée

de code), choisissez Edit code inline (Modifier le code en ligne).. dans Temps d’exécution, choisissezNœud.js. Si vous souhaitez créer un exemple de fonction Python, choisissez Python.

7. Dans Code entry type, choisissez Edit code inline, puis remplacez le code hello world par l'un des deuxexemples suivants.

Pour Node.js :

var aws = require('aws-sdk');var codecommit = new aws.CodeCommit({ apiVersion: '2015-04-13' });

exports.handler = function(event, context) { //Log the updated references from the event var references = event.Records[0].codecommit.references.map(function(reference) {return reference.ref;}); console.log('References:', references); //Get the repository from the event and show its git clone URL var repository = event.Records[0].eventSourceARN.split(":")[5]; var params = { repositoryName: repository }; codecommit.getRepository(params, function(err, data) { if (err) { console.log(err); var message = "Error getting repository metadata for repository " + repository; console.log(message); context.fail(message); } else { console.log('Clone URL:', data.repositoryMetadata.cloneUrlHttp); context.succeed(data.repositoryMetadata.cloneUrlHttp); } });};

Pour Python :

import jsonimport boto3

codecommit = boto3.client('codecommit')

def lambda_handler(event, context): #Log the updated references from the event

Version de l'API 2015-04-13125

Page 135: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurCréer un déclencheur pour un Lambda fonction

references = { reference['ref'] for reference in event['Records'][0]['codecommit']['references'] } print("References: " + str(references)) #Get the repository from the event and show its git clone URL repository = event['Records'][0]['eventSourceARN'].split(':')[5] try: response = codecommit.get_repository(repositoryName=repository) print("Clone URL: " +response['repositoryMetadata']['cloneUrlHttp']) return response['repositoryMetadata']['cloneUrlHttp'] except Exception as e: print(e) print('Error getting repository {}. Make sure it exists and that your repository is in the same region as this function.'.format(repository)) raise e

8. dans le Autorisations onglet, dans Exécution rôle, choisissez le rôle pour l’ouvrir dans le IAM console.Modifier la stratégie attachée à ajouter GetRepository pour le référentiel que vous souhaitez utiliserle déclencheur.

Afficher le déclencheur pour le Lambda fonction dans le AWSCodeCommit référentielUne fois que vous avez créé la fonction Lambda, vous pouvez afficher et tester le déclencheur dans AWSCodeCommit. Le test du déclencheur exécute la fonction en réponse aux événements de référentiel quevous spécifiez.

Pour afficher et tester le déclencheur pour la fonction Lambda

1. Ouvrez la console CodeCommit à l'adresse https://console.aws.amazon.com/codesuite/codecommit/home.

2. Dans Repositories (Référentiels), choisissez le référentiel dans lequel vous souhaitez afficher lesdéclencheurs.

3. Dans le volet de navigation pour le référentiel, choisissez Paramètres, puis Déclencheurs.4. Vérifiez la liste des déclencheurs du référentiel. Vous devriez voir le déclencheur que vous avez

créé dans la console Lambda. Choisissez-le dans la liste, puis choisissez Test trigger (Tester ledéclencheur). Cette option essaie d'appeler la fonction avec des exemples de données sur votreréférentiel, notamment l'ID de la validation la plus récente pour le référentiel. (Si aucun historique devalidation n’existe, des exemples de valeurs composées de zéros sont générés à la place.) Cela vouspermet de confirmer que vous avez correctement configuré l’accès entre AWS CodeCommit et leLambda fonction.

5. Pour vérifier davantage les fonctionnalités du déclencheur, créez une validation et transmettez-la au référentiel où vous avez configuré le déclencheur. Vous devez voir une réponse issue de lafonction Lambda sous l'onglet Surveillance pour cette fonction dans la console Lambda. Depuis leSurveillance , choisissez Afficher les journaux dans CloudWatch. Le CloudWatch La console s’ouvredans un nouvel onglet et affiche les événements de votre fonction. Sélectionnez dans la liste le flux dujournal qui correspond au moment où vous avez transmis votre validation. Des données d'événementsimilaires à ce qui suit doivent s'afficher :

START RequestId: 70afdc9a-EXAMPLE Version: $LATEST2015-11-10T18:18:28.689Z 70afdc9a-EXAMPLE References: [ 'refs/heads/master' ]2015-11-10T18:18:29.814Z 70afdc9a-EXAMPLE Clone URL: https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepoEND RequestId: 70afdc9a-EXAMPLEREPORT RequestId: 70afdc9a-EXAMPLE Duration: 1126.87 ms Billed Duration: 1200 ms Memory Size: 128 MB Max Memory Used: 14 MB

Version de l'API 2015-04-13126

Page 136: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurCréer un déclencheur pour un Lambda fonction

Exemple: Créer un déclencheur dans AWSCodeCommit pour un AWS Lambda fonctionLe moyen le plus simple de créer un déclencheur qui appelle une fonction Lambda consiste à créer cedéclencheur dans la console Lambda. Cette intégration embarquée permet de veiller à ce qu'CodeCommitdispose des autorisations requises pour exécuter la fonction. Pour ajouter un déclencheur pour unefonction Lambda existante, accédez à la console Lambda, puis choisissez la fonction. Sur l'ongletDéclencheurs de la fonction, suivez les étapes dans Ajouter un déclencheur. Ces étapes sont similaires àcelles affichées dans Créer la fonction Lambda (p. 123).

Vous pouvez également créer un déclencheur pour une fonction Lambda dans un référentiel CodeCommit.Pour cela, vous devez choisir une fonction Lambda existante à appeler. En outre, vous devez configurermanuellement les autorisations requises pour qu'CodeCommit puisse exécuter la fonction.

Rubriques• Configurer manuellement les autorisations pour autoriser CodeCommit pour exécuter un Lambda

fonction (p. 127)• Créez un déclencheur pour le Lambda fonction dans un CodeCommit référentiel (console) (p. 128)• Créez un déclencheur pour un Lambda fonction pour un CodeCommit du référentiel (AWS

CLI) (p. 130)

Configurer manuellement les autorisations pour autoriserCodeCommit pour exécuter un Lambda fonctionSi vous créez un déclencheur dans CodeCommit qui appelle une fonction Lambda, vous devez configurermanuellement les autorisations pour permettre à CodeCommit d'exécuter la fonction Lambda. Si vous nesouhaitez pas effectuer de configuration manuelle, vous pouvez aussi créer le déclencheur pour la fonctiondans la console Lambda.

Pour autoriser CodeCommit à exécuter la fonction Lambda

1. Ouvrez un éditeur de texte brut et créez un fichier JSON qui spécifie le nom de la fonction Lambda, lesdétails du référentiel CodeCommit et les actions que vous voulez autoriser dans Lambda, comme suit :

{ "FunctionName": "MyCodeCommitFunction", "StatementId": "1", "Action": "lambda:InvokeFunction", "Principal": "codecommit.amazonaws.com", "SourceArn": "arn:aws:codecommit:us-east-1:80398EXAMPLE:MyDemoRepo", "SourceAccount": "80398EXAMPLE"}

2. Enregistrez le fichier en tant que fichier JSON avec un nom facile à mémoriser (par exemple,AllowAccessfromMyDemoRepo.json).

3. Depuis le terminal (Linux, macOS, or Unix) ou la ligne de commande (Windows), exécutez lacommande aws lambda add-permissions pour ajouter une autorisation à la stratégie de ressourcesassociée à votre fonction Lambda, à l'aide du fichier JSON que vous venez de créer :

aws lambda add-permission --cli-input-json file://AllowAccessfromMyDemoRepo.json

Cette commande renvoie le fichier JSON de la déclaration de stratégie que vous venez d'ajouter,comme suit :

Version de l'API 2015-04-13127

Page 137: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurCréer un déclencheur pour un Lambda fonction

{ "Statement": "{\"Condition\":{\"StringEquals\":{\"AWS:SourceAccount\":\"80398EXAMPLE\"},\"ArnLike\":{\"AWS:SourceArn\":\"arn:aws:codecommit:us-east-1:80398EXAMPLE:MyDemoRepo\"}},\"Action\":[\"lambda:InvokeFunction\"],\"Resource\":\"arn:aws:lambda:us-east-1:80398EXAMPLE:function:MyCodeCommitFunction\",\"Effect\":\"Allow\",\"Principal\":{\"Service\":\"codecommit.amazonaws.com\"},\"Sid\":\"1\"}"}

Pour plus d’informations sur les stratégies de ressources pour Lambda fonctions, voir AddPermissionet Les modèles d’événements Pull/Push dans le AWS Lambda Guide de l’utilisateur.

4. Connectez-vous à la AWS Management Console et ouvrez la console IAM à l'adresse https://console.aws.amazon.com/iam/.

5. Dans le Tableau de bord volet de navigation, choisissez Rôles, et dans la liste des rôles, sélectionnezlambda_basic_execution.

6. Sur la page récapitulative pour le rôle, sélectionnez l'onglet Autorisations, et dans Stratégies en ligne,choisissez Créer une stratégie de rôle.

7. Sur la page Réglez les permissions, choisissez Générateur de stratégies, puis Sélectionner.8. Sur la page Edit Permissions, procédez comme suit :

• Dans Effect, choisissez Allow.• Dans AWS Service, sélectionnez AWS CodeCommit.• dans Actions, sélectionnez GetRepository.• Dans Amazon Resource Name (ARN), saisissez l'ARN du référentiel (par exemple,arn:aws:codecommit:us-east-1:80398EXAMPLE:MyDemoRepo).

Cliquez sur Ajouter une instruction, puis sur Étape suivante.9. Sur la page Review Policy (Réviser la stratégie), sélectionnez Apply Policy (Appliquer la stratégie).

Votre déclaration de stratégie doit être similaire à l'exemple suivant :

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt11111111", "Effect": "Allow", "Action": [ "codecommit:GetRepository" ], "Resource": [ "arn:aws:codecommit:us-east-1:80398EXAMPLE:MyDemoRepo" ] } ]}

Créez un déclencheur pour le Lambda fonction dans unCodeCommit référentiel (console)Une fois que vous avez créé la fonction Lambda, vous pouvez créer un déclencheur dans CodeCommit quiexécute la fonction en réponse à des événements de référentiel que vous spécifiez.

Version de l'API 2015-04-13128

Page 138: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurCréer un déclencheur pour un Lambda fonction

Note

Pour pouvoir tester ou exécuter le déclencheur avec succès pour l'exemple, vous devez configurerles stratégies qui autorisent CodeCommit à appeler la fonction et la fonction Lambda pour obtenirdes informations sur le référentiel. Pour plus d'informations, consultez la section Pour autoriserCodeCommit à exécuter la fonction Lambda (p. 127).

Pour créer un déclencheur pour une fonction Lambda

1. Ouvrez la console CodeCommit à l'adresse https://console.aws.amazon.com/codesuite/codecommit/home.

2. Dans Référentiels, sélectionnez le référentiel dans lequel vous souhaitez créer des déclencheurs pourdes événements de référentiel.

3. Dans le volet de navigation pour le référentiel, choisissez Paramètres, puis Déclencheurs.4. Choisissez Create trigger.5. Sur la page Créer un déclencheur, procédez comme suit :

• dans Nom du déclencheur, saisissez un nom pour le déclencheur (par exemple,MyLambdaFunctionTrigger).

• Dans Événements, sélectionnez les événements de référentiel qui déclenchent la fonction Lambda.

Si vous choisissez All repository events, vous ne pouvez pas choisir d'autres événements. Sivous voulez choisir un sous-ensemble d'événements, désélectionnez All repository events,puis choisissez les événements souhaités dans la liste. Par exemple, si vous souhaitez que ledéclencheur s'exécute uniquement quand un utilisateur crée une balise ou une branche dans leréférentiel CodeCommit, supprimez All repository events (Tous les événements du référentiel), puissélectionnez Create branch or tag (Créer une branche ou une balise).

• Si vous souhaitez que le déclencheur s'applique à toutes les branches du référentiel, dansBranches, conservez la sélection vide, car cette option par défaut applique automatiquement ledéclencheur à toutes les branches. Si vous souhaitez que ce déclencheur s'applique uniquement àcertaines branches spécifiques, choisissez jusqu'à 10 noms de branches dans la liste des branchesdu référentiel.

• Dans Choose the service to use (Choisissez le service à utiliser), choisissez AWS Lambda.• Dans Fonction Lambda, choisissez le nom de la fonction dans la liste ou saisissez l'ARN pour la

fonction.• (Facultatif) Dans Données personnalisées, saisissez les informations que vous souhaitez inclure

dans la fonction Lambda (par exemple, le nom du canal IRC utilisé par les développeurs pourdiscuter du développement dans le référentiel). Ce champ est une chaîne. Celle-ci ne peut pas êtreutilisée pour transmettre des paramètres dynamiques.

6. (Facultatif) Choisissez Test trigger (Tester le déclencheur). Cette option essaie d'appeler la fonctionavec des exemples de données sur votre référentiel, notamment l'ID de la validation la plus récentepour le référentiel. (Si aucun historique de validation n’existe, des exemples de valeurs composées dezéros sont générés à la place.) Cela vous permet de confirmer que vous avez correctement configurél’accès entre CodeCommit et le Lambda fonction.

7. Choisissez Create trigger (Créer un déclencheur) afin de finaliser la création du déclencheur.8. Pour vérifier les fonctionnalités du déclencheur, créez une validation et transmettez-la vers le

référentiel où vous avez configuré le déclencheur. Vous devez voir une réponse issue de la fonctionLambda sous l'onglet Surveillance pour cette fonction dans la console Lambda.

Version de l'API 2015-04-13129

Page 139: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurCréer un déclencheur pour un Lambda fonction

Créez un déclencheur pour un Lambda fonction pour unCodeCommit du référentiel (AWS CLI)Vous pouvez également utiliser la ligne de commande afin de créer un déclencheur pour une fonctionLambda en réponse à des événements de référentiel CodeCommit, par exemple, quand quelqu'untransmet une validation vers votre référentiel.

Pour créer un déclencheur pour une fonction Lambda

1. Ouvrez un éditeur de texte brut et créez un fichier JSON qui spécifie :

• Le nom de la fonction Lambda.• Le référentiel et les branches que vous souhaitez surveiller avec ce déclencheur. (Si vous ne

spécifiez pas de branche, le déclencheur s'applique à toutes les branches du référentiel).• Les événements qui peuvent activer ce déclencheur.

Enregistrez le fichier .

Par exemple, si vous souhaitez créer un déclencheur pour un référentiel nommé MyDemoRepoqui publie tous les événements de référentiel dans un Lambda nom de la fonctionMyCodeCommitFunction pour deux branches, master et preprod:

{ "repositoryName": "MyDemoRepo", "triggers": [ { "name": "MyLambdaFunctionTrigger", "destinationArn": "arn:aws:lambda:us-east-1:80398EXAMPLE:function:MyCodeCommitFunction", "customData": "", "branches": [ "master", "preprod" ], "events": [ "all" ] } ]}

Un bloc de déclencheur doit exister dans le fichier JSON pour chaque déclencheur correspondant à unréférentiel. Pour créer plusieurs déclencheurs pour un référentiel, incluez des blocs supplémentairesdans le fichier JSON. N'oubliez pas que tous les déclencheurs créés dans ce fichier sont pour leréférentiel spécifié. Vous ne pouvez pas créer des déclencheurs pour plusieurs référentiels dansun seul fichier JSON. Par exemple, si vous souhaitez créer deux déclencheurs pour un référentiel,vous pouvez créer un fichier JSON avec deux blocs de déclencheur. Dans l'exemple suivant, aucunebranche n'est spécifiée dans le deuxième bloc de déclencheur ; le déclencheur s'applique donc àtoutes les branches :

{ "repositoryName": "MyDemoRepo", "triggers": [ { "name": "MyLambdaFunctionTrigger", "destinationArn": "arn:aws:lambda:us-east-1:80398EXAMPLE:function:MyCodeCommitFunction", "customData": "", "branches": [

Version de l'API 2015-04-13130

Page 140: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurCréer un déclencheur pour un Lambda fonction

"master", "preprod" ], "events": [ "all" ] }, { "name": "MyOtherLambdaFunctionTrigger", "destinationArn": "arn:aws:lambda:us-east-1:80398EXAMPLE:function:MyOtherCodeCommitFunction", "customData": "", "branches": [], "events": [ "updateReference", "deleteReference" ] } ]}

Vous pouvez créer des déclencheurs pour les événements que vous spécifiez, par exemple si unevalidation est transmise vers un référentiel. Les types d'événements comprennent :

• all pour tous les événements dans le référentiel et les branches spécifiés.• updateReference pour quand des validations sont transmises vers le référentiel et les branches

spécifiés.• createReference pour quand une nouvelle branche ou balise est créée dans le référentiel

spécifié.• deleteReference pour quand une branche ou balise est supprimée dans le référentiel spécifié.

Note

Vous pouvez utiliser plusieurs types d'événement dans un déclencheur. Toutefois, si vousspécifiez all, vous ne pouvez pas indiquer d'autres événements.

Pour afficher la liste complète des types d'événement valides, depuis le terminal ou l'invite decommande, saisissez aws codecommit put-repository-triggers help.

En outre, vous pouvez inclure une chaîne dans customData (par exemple, un nom de canal IRCque les développeurs utilisent lors de leur discussion de développement dans ce référentiel). Cechamp est une chaîne. Celle-ci ne peut pas être utilisée pour transmettre des paramètres dynamiques.Cette chaîne est ajoutée en tant qu'attribut dans le fichier JSON CodeCommit renvoyé en réponse audéclencheur.

2. (Facultatif) Depuis un terminal ou l'invite de commande, exécutez la commande test-repository-triggers. Par exemple, ce qui suit est utilisé pour tester que le fichier JSON nommé trigger.jsonest valide et que CodeCommit peut déclencher le Lambda fonction. Ce test utilise des exemples dedonnées pour déclencher la fonction si aucune donnée réelle n'est disponible.

aws codecommit test-repository-triggers --cli-input-json file://trigger.json

Si elle aboutit, cette commande renvoie des informations similaires à ce qui suit :

{ "successfulExecutions": [ "MyLambdaFunctionTrigger" ], "failedExecutions": []}

Version de l'API 2015-04-13131

Page 141: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurModifier les déclencheurs d’un référentiel

3. Depuis un terminal ou une invite de commande, exécutez la commande put-repository-triggerspour créer le déclencheur dans CodeCommit. Par exemple, pour utiliser un fichier JSON nommétrigger.json pour créer le déclencheur :

aws codecommit put-repository-triggers --cli-input-json file://trigger.json

Cette commande renvoie un ID de configuration semblable à ce qui suit :

{ "configurationId": "0123456-I-AM-AN-EXAMPLE"}

4. Pour afficher la configuration du déclencheur, exécutez la commande get-repository-triggers enspécifiant le nom du référentiel :

aws codecommit get-repository-triggers --repository-name MyDemoRepo

Cette commande renvoie la structure de tous les déclencheurs configurés pour le référentiel, similaireà ce qui suit :

{ "configurationId": "0123456-I-AM-AN-EXAMPLE", "triggers": [ { "events": [ "all" ], "destinationArn": "arn:aws:lambda:us-east-1:80398EXAMPLE:MyCodeCommitFunction", "branches": [ "master", "preprod" ], "name": "MyLambdaFunctionTrigger", "customData": "Project ID 12345" } ]}

5. Pour tester les fonctionnalités du déclencheur, créez une validation et transmettez-la vers le référentieloù vous avez configuré le déclencheur. Vous devez voir une réponse issue de la fonction Lambdasous l'onglet Surveillance pour cette fonction dans la console Lambda.

Modifier les déclencheurs pour un AWS CodeCommitréférentielVous pouvez modifier les déclencheurs qui ont été créés pour un référentiel CodeCommit. Vous pouvezmodifier les événements et les branches pour le déclencheur, l'action exécutée en réponse à l'événement,ainsi que d'autres paramètres.

Rubriques• Modifier un déclencheur pour un référentiel (console) (p. 133)• Modifier un déclencheur pour un référentiel (AWS CLI) (p. 133)

Version de l'API 2015-04-13132

Page 142: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurModifier les déclencheurs d’un référentiel

Modifier un déclencheur pour un référentiel (console)1. Ouvrez la console CodeCommit à l'adresse https://console.aws.amazon.com/codesuite/codecommit/

home.2. Dans Repositories (Référentiels), sélectionnez le référentiel dans lequel vous souhaitez modifier un

déclencheur pour des événements de référentiel.3. Dans le volet de navigation pour le référentiel, choisissez Paramètres, puis Déclencheurs.4. Dans la liste des déclencheurs pour le référentiel, choisissez le déclencheur que vous souhaitez

modifier, puis choisissez Modifier.5. Apportez les modifications souhaitées au déclencheur, puis choisissez Enregistrer.

Modifier un déclencheur pour un référentiel (AWS CLI)1. Depuis un terminal (Linux, macOS, or Unix) ou une invite de commande (Windows), exécutez

la commande get-repository-triggers pour créer un fichier JSON avec la structure de tous lesdéclencheurs configurés pour votre référentiel. Par exemple, pour créer un fichier JSON nomméMyTriggers.json avec la structure de tous les déclencheurs configurés pour un référentiel nomméMyDemoRepo:

aws codecommit get-repository-triggers --repository-name MyDemoRepo >MyTriggers.json

Cette commande ne renvoie rien, mais un fichier nommé MyTriggers.json est créé dans lerépertoire où vous avez exécuté la commande.

2. Modifiez le fichier JSON dans un éditeur de texte brut et apportez des modifications au blocde déclencheur correspondant au déclencheur que vous voulez modifier. Remplacez la paireconfigurationId par une paire repositoryName. Enregistrez le fichier .

Par exemple, si vous souhaitez modifier un déclencheur nommé MyFirstTrigger dans le référentielnommé MyDemoRepo afin qu’il s’applique à toutes les branches, remplacez configurationIdavec repositoryNameet supprimez le master et preprod branches dans red italic text.Par défaut, si aucune branche n’est spécifiée, le déclencheur s’applique à toutes les branches duréférentiel :

{ "repositoryName": "MyDemoRepo", "triggers": [ { "destinationArn": "arn:aws:sns:us-east-2:80398EXAMPLE:MyCodeCommitTopic", "branches": [ "master", "preprod" ], "name": "MyFirstTrigger", "customData": "", "events": [ "all" ] } ]}

3. Depuis le terminal ou la ligne de commande, exécutez la commande put-repository-triggers. Cela metà jour tous les déclencheurs du référentiel, y compris les modifications que vous avez apportées auMyFirstTrigger déclencheur :

Version de l'API 2015-04-13133

Page 143: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurTester les déclencheurs d’un référentiel

aws codecommit put-repository-triggers --repository-name MyDemoRepo file://MyTriggers.json

Cette commande renvoie un ID de configuration semblable à ce qui suit :

{ "configurationId": "0123456-I-AM-AN-EXAMPLE"}

Déclencheurs de test pour un AWS CodeCommitréférentielVous pouvez tester les déclencheurs qui ont été créés pour un référentiel CodeCommit. Les testsimpliquent l'exécution du déclencheur avec des exemples de données à partir de votre référentiel, enincluant l'ID de la validation la plus récente. S'il n'existe aucun historique pour le référentiel, des exemplesde valeurs constitués de zéros sont générés. Le test d'un déclencheur vous aide à vérifier que vous avezconfiguré correctement l'accès entre CodeCommit et la cible du déclencheur, qu'il s'agisse d'une fonctionAWS Lambda ou d'une notification Amazon Simple Notification Service.

Rubriques• Test d’un déclencheur pour un référentiel (console) (p. 134)• Test d’un déclencheur pour un référentiel (AWS CLI) (p. 134)

Test d’un déclencheur pour un référentiel (console)1. Ouvrez la console CodeCommit à l'adresse https://console.aws.amazon.com/codesuite/codecommit/

home.2. Dans Repositories (Référentiels), sélectionnez le référentiel dans lequel vous souhaitez tester un

déclencheur pour des événements de référentiel.3. Dans le volet de navigation pour le référentiel, choisissez Paramètres, puis Déclencheurs.4. Choisissez le déclencheur que vous souhaitez tester, puis choisissez Test trigger (Tester le

déclencheur). Vous devriez voir un message de réussite ou d'échec. Si l'opération aboutit, vousdevriez voir également une réponse d'action correspondante à partir de la fonction Lambda ou de larubrique Amazon SNS.

Test d’un déclencheur pour un référentiel (AWS CLI)1. Depuis un terminal (Linux, macOS, or Unix) ou une invite de commande (Windows), exécutez

la commande get-repository-triggers pour créer un fichier JSON avec la structure de tous lesdéclencheurs configurés pour votre référentiel. Par exemple, pour créer un fichier JSON nomméTestTrigger.json avec la structure de tous les déclencheurs configurés pour un référentiel nomméMyDemoRepo:

aws codecommit get-repository-triggers --repository-name MyDemoRepo >TestTrigger.json

Cette commande crée un fichier nommé TestTriggers.json dans le répertoire où vous avezexécuté la commande.

Version de l'API 2015-04-13134

Page 144: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurSupprimer des déclencheurs d’un référentiel

2. Modifiez le fichier JSON dans un éditeur de texte et modifiez l'instruction trigger. Remplacez la paireconfigurationId par une paire repositoryName. Enregistrez le fichier .

Par exemple, si vous souhaitez tester un déclencheur nommé MyFirstTrigger dans le référentielnommé MyDemoRepo pour qu’il s’applique à toutes les branches, remplacez le configurationIdavec repositoryName puis enregistrez un fichier qui ressemble à ce qui suit TestTrigger.json:

{ "repositoryName": "MyDemoRepo", "triggers": [ { "destinationArn": "arn:aws:sns:us-east-2:80398EXAMPLE:MyCodeCommitTopic", "branches": [ "master", "preprod" ], "name": "MyFirstTrigger", "customData": "", "events": [ "all" ] } ]}

3. Depuis le terminal ou la ligne de commande, exécutez la commande test-repository-triggers. Cela metà jour tous les déclencheurs du référentiel, y compris les modifications que vous avez apportées auMyFirstTrigger déclencheur :

aws codecommit test-repository-triggers --cli-input-json file://TestTrigger.json

La commande renvoie une réponse semblable à ce qui suit :

{ "successfulExecutions": [ "MyFirstTrigger" ], "failedExecutions": []}

Supprimer des déclencheurs d’un AWS CodeCommitréférentielVous pouvez souhaiter supprimer des déclencheurs s'ils ne sont plus utilisés. Vous ne pouvez pas annulerla suppression d'un déclencheur, mais vous pouvez en recréer un.

Note

Si vous avez configuré un ou plusieurs déclencheurs pour votre référentiel, la suppression duréférentiel ne supprime pas les rubriques Amazon SNS ou les fonctions Lambda que vous avezconfigurées comme cibles de ces déclencheurs. Veillez à également supprimer ces ressources sielles ne sont plus nécessaires.

Rubriques• Suppression d’un déclencheur d’un référentiel (console) (p. 136)• Supprimer un déclencheur d’un référentiel (AWS CLI) (p. 136)

Version de l'API 2015-04-13135

Page 145: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurSupprimer des déclencheurs d’un référentiel

Suppression d’un déclencheur d’un référentiel (console)1. Ouvrez la console CodeCommit à l'adresse https://console.aws.amazon.com/codesuite/codecommit/

home.2. Dans Repositories (Référentiels), sélectionnez le référentiel dans lequel vous souhaitez supprimer des

déclencheurs pour des événements de référentiel.3. Dans le volet de navigation du référentiel, choisissez Paramètres. Dans Paramètres, choisissez

Triggers.4. Choisissez le déclencheur que vous souhaitez supprimer dans la liste des déclencheurs, puis

choisissez Supprimer.5. Dans la boîte de dialogue, cliquez sur delete (supprimer) pour confirmer.

Supprimer un déclencheur d’un référentiel (AWS CLI)1. Depuis un terminal (Linux, macOS, or Unix) ou une invite de commande (Windows), exécutez

la commande get-repository-triggers pour créer un fichier JSON avec la structure de tous lesdéclencheurs configurés pour votre référentiel. Par exemple, pour créer un fichier JSON nomméMyTriggers.json avec la structure de tous les déclencheurs configurés pour un référentiel nomméMyDemoRepo:

aws codecommit get-repository-triggers --repository-name MyDemoRepo >MyTriggers.json

Cette commande crée un fichier nommé MyTriggers.json dans le répertoire où vous avez exécutéla commande.

2. Modifiez le fichier JSON dans un éditeur de texte brut et supprimez le bloc de déclencheur pour ledéclencheur que vous souhaitez supprimer. Remplacez la paire configurationId par une pairerepositoryName. Enregistrez le fichier .

Par exemple, si vous souhaitez supprimer un déclencheur nommé MyFirstTrigger du référentielnommé MyDemoRepo, vous remplaceriez configurationId avec repositoryName, et supprimezl’instruction dans red italic text:

{ "repositoryName": "MyDemoRepo", "triggers": [ { "destinationArn": "arn:aws:sns:us-east-2:80398EXAMPLE:MyCodeCommitTopic", "branches": [ "master", "preprod" ], "name": "MyFirstTrigger", "customData": "", "events": [ "all" ] }, { "destinationArn": "arn:aws:lambda:us-east-2:80398EXAMPLE:function:MyCodeCommitJSFunction", "branches": [], "name": "MyLambdaTrigger", "events": [ "all" ] } ]

Version de l'API 2015-04-13136

Page 146: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAssocier ou dissocier un référentielavec Amazon CodeGuru Reviewer

}

3. Depuis le terminal ou la ligne de commande, exécutez la commande put-repository-triggers. Cela metà jour les déclencheurs pour le référentiel et supprime le MyFirstTrigger déclencheur :

aws codecommit put-repository-triggers --repository-name MyDemoRepo file://MyTriggers.json

Cette commande renvoie un ID de configuration semblable à ce qui suit :

{ "configurationId": "0123456-I-AM-AN-EXAMPLE"}

Note

Pour supprimer tous les déclencheurs d’un référentiel nommé MyDemoRepo, votre fichierJSON ressemblerait à ceci :

{ "repositoryName": "MyDemoRepo", "triggers": []}

Associer ou dissocier un AWS CodeCommitréférentiel avec Amazon CodeGuru Reviewer

Amazon CodeGuru Reviewer est un service de révision de code automatisé qui utilise l'analyse deprogramme et le Machine Learning pour détecter les problèmes courants et recommander des correctifsdans votre code Java. Vous pouvez associer des référentiels de votre compte AWS à CodeGuru Reviewer.Lorsque vous le faites, CodeGuru Reviewer crée un rôle lié au service qui permet à CodeGuru Reviewerd'analyser le code dans toutes les demandes d'extraction créées après l'association.

Une fois que vous avez associé un référentiel, CodeGuru Reviewer analyse et commente les problèmesdétectés lors de la création de demandes d'extraction. Chaque commentaire est clairement marquécomme provenant de CodeGuru Reviewer avec la désignation Amazon CodeGuru Reviewer. Vous pouvezrépondre à ces commentaires comme vous le feriez pour tout autre commentaire dans une demanded'extraction, et vous pouvez également fournir des commentaires en retour sur la qualité de la suggestion.Ces commentaires en retour sont partagés avec CodeGuru Reviewer et peuvent aider à améliorer leservice et ses suggestions.

Note

Vous ne verrez pas de commentaires provenant de CodeGuru Reviewer dans les demandesd'extraction qui ont été créées avant que le référentiel ne soit associé. Il peut arriver que vous nevoyiez pas de commentaires dans les demandes d'extraction créées après l'association pour lesraisons suivantes :

• La demande d'extraction ne contient pas de code Java.• CodeGuru Reviewer n'a pas eu assez de temps pour exécuter et examiner le code dans la

demande d'extraction. Ce processus peut prendre jusqu'à 30 minutes. Les commentairespeuvent apparaître au fur et à mesure de la progression de l’examen, mais les commentaires nesont pas terminés tant que le statut de la tâche n’est pas Terminé.

Version de l'API 2015-04-13137

Page 147: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAssocier ou dissocier un référentielavec Amazon CodeGuru Reviewer

• CodeGuru Reviewer n'a détecté aucun problème dans le code Java de la demande d'extraction.• Le travail de révision de code n'a pas pu s'exécuter. Pour vérifier le statut d’une révision pour

une demande d’extraction, consultez le Activité de la demande d’extraction.• Vous consultez les modifications apportées à la demande d’extraction dans le Modifications

, la demande d’extraction a été mise à jour, et Amazon CodeGuru Reviewer n’a trouvéaucun problème dans les modifications. Amazon CodeGuru Reviewer les commentairesn’apparaissent que dans le Modifications si les commentaires ont été faits sur la révision la plusrécente de la demande d’extraction. Elles apparaissent toujours dans le Activité de l’onglet.

Pour de plus amples informations, veuillez consulter Utilisation des demandes d’extraction dans AWSCodeCommit référentiels (p. 169), Réviser une demande d'extraction (p. 182) et le Guide de l'utilisateurAmazon CodeGuru Reviewer.

Note

Vous devez être connecté avec un utilisateur ou un rôle IAM disposant d'autorisations suffisantespour associer un référentiel à CodeGuru Reviewer ou pour le dissocier. Pour de plus amplesd'informations sur les stratégies gérées pour CodeCommit qui incluent ces autorisations,veuillez consulter Stratégies gérées par AWS (prédéfinies) pour CodeCommit (p. 329) et AWSCodeCommit les stratégies gérées et Amazon CodeGuru Reviewer (p. 339). Pour de plusamples informations sur les autorisations et la sécurité CodeGuru Reviewer, veuillez consulterGuide de l'utilisateur Amazon CodeGuru Reviewer.

Rubriques• Associer un référentiel à CodeGuru Reviewer (p. 139)• Dissocier un référentiel de CodeGuru Reviewer (p. 139)

Version de l'API 2015-04-13138

Page 148: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAssocier un référentiel à CodeGuru Reviewer

Associer un référentiel à CodeGuru ReviewerUtilisez la console AWS CodeCommit pour associer rapidement un référentiel à CodeGuru Reviewer. Pourobtenir d'autres méthodes, veuillez consulter Guide de l'utilisateur Amazon CodeGuru Reviewer.

1. Ouvrez la console CodeCommit à l'adresse https://console.aws.amazon.com/codesuite/codecommit/home.

2. Dans Repositories (Référentiels), choisissez le nom du référentiel à associer à CodeGuru Reviewer.3. Choisissez Settings (Paramètres), puis Amazon CodeGuru Reviewer.4. Choisissez Associate repository (Associer un référentiel).

Note

L'association complète d'un référentiel à CodeGuru Reviewer peut prendre jusqu'à10 minutes. L'état n'est pas mis à jour automatiquement. Pour afficher l'état actuel, cliquez surle bouton Actualiser.

Dissocier un référentiel de CodeGuru ReviewerUtilisez la console AWS CodeCommit pour dissocier rapidement un référentiel de CodeGuru Reviewer.Pour obtenir d'autres méthodes, veuillez consulter Guide de l'utilisateur Amazon CodeGuru Reviewer.

1. Ouvrez la console CodeCommit à l'adresse https://console.aws.amazon.com/codesuite/codecommit/home.

2. Dans Repositories (Référentiels), sélectionnez le nom du référentiel à dissocier de CodeGuruReviewer.

3. Choisissez Settings (Paramètres), puis Amazon CodeGuru Reviewer.4. Choisissez Disassociate repository (Dissocier le référentiel).

Vue CodeCommit détails du référentielVous pouvez utiliser la console AWS CodeCommit ou l'AWS CLI, ou Git à partir d'un rapport local connectéau Référentiel CodeCommit pour afficher les informations sur les référentiels disponibles.

Avant de suivre ces instructions, exécutez les étapes décrites dans Configuration de (p. 7).

Version de l'API 2015-04-13139

Page 149: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAfficher les détails du référentiel (console)

Rubriques• Afficher les détails du référentiel (console) (p. 140)• Vue CodeCommit détails du référentiel (Git) (p. 140)• Vue CodeCommit détails du référentiel (AWS CLI) (p. 141)

Afficher les détails du référentiel (console)Utilisez la console AWS CodeCommit pour afficher rapidement tous les référentiels créés avec votrecompte AWS.

1. Ouvrez la console CodeCommit à l'adresse https://console.aws.amazon.com/codesuite/codecommit/home.

2. Dans Repositories (Référentiels), sélectionnez le nom du référentiel.3. Procédez de l'une des façons suivantes :

• Pour afficher l'URL permettant de cloner le référentiel, choisissez Clone URL (URL de clonage), puischoisissez le protocole que vous souhaitez utiliser lors du clonage du référentiel. Cette opérationcopie l'URL de clonage. Pour la vérifier, collez-la dans un éditeur de texte brut.

• Pour afficher les données configurables options pour le référentiel ainsi que des détails tels quel’ARN et l’ID du référentiel, dans le volet de navigation, choisissez Paramètres.

Note

Si vous êtes connecté en tant qu'utilisateur IAM, vous pouvez configurer et enregistrer vospréférences pour l'affichage du code, ainsi que pour d'autres paramètres de la console. Pour plusd'informations, consultez la section Utilisation des préférences utilisateur (p. 282).

Vue CodeCommit détails du référentiel (Git)Pour utiliser Git à partir d'un rapport local afin d'afficher des détails sur les référentiels CodeCommit,exécutez la commande git remote show.

Avant d'exécuter ces étapes, connectez le rapport local au Référentiel CodeCommit. Pour obtenir desinstructions, consultez Connexion à un référentiel (p. 99).

1. Exécutez le git remote show remote-name de commande, où remote-name est l’alias du RéférentielCodeCommit (par défaut, origin).

Tip

Pour obtenir une liste de Référentiel CodeCommit et leurs noms URLs, exécutez le git remote-v.

Par exemple, pour afficher des détails sur le Référentiel CodeCommit avec l'alias origin :

git remote show origin

2. Pour HTTPS :

* remote origin Fetch URL: https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo Push URL: https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo HEAD branch: (unknown)

Version de l'API 2015-04-13140

Page 150: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurVue CodeCommit détails du référentiel (AWS CLI)

Remote branches: MyNewBranch tracked master tracked Local ref configured for 'git pull': MyNewBranch merges with remote MyNewBranch (up to date) Local refs configured for 'git push': MyNewBranch pushes to MyNewBranch (up to date) master pushes to master (up to date)

Pour SSH :

* remote origin Fetch URL: ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo Push URL: ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo HEAD branch: (unknown) Remote branches: MyNewBranch tracked master tracked Local ref configured for 'git pull': MyNewBranch merges with remote MyNewBranch (up to date) Local refs configured for 'git push': MyNewBranch pushes to MyNewBranch (up to date) master pushes to master (up to date)

Tip

Pour rechercher l'ID de clé SSH pour votre utilisateur IAM, ouvrez la console IAM etdéveloppez Informations d'identification de sécurité sur la page de détails de l'utilisateur IAM.L'ID de clé SSH peut être trouvé dans Clés SSH pour AWS CodeCommit.

Pour plus d'options, consultez la documentation Git.

Vue CodeCommit détails du référentiel (AWS CLI)Pour utiliser les commandes de l'AWS CLI avec CodeCommit, installez l'AWS CLI. Pour de plus amplesinformations, veuillez consulter Référence des commandes en ligne (p. 437).

Pour utiliser l'AWS CLI afin d'afficher des détails de référentiel, exécutez les commandes suivantes :

• Pour afficher une liste de Référentiel CodeCommit et leurs noms correspondants IDs, exécuter list-repositories (p. 141).

• Pour afficher des informations sur un seul Référentiel CodeCommit, exécutez get-repository (p. 142).• Pour afficher des informations sur plusieurs référentiels dans CodeCommit, exécutez batch-get-

repositories (p. 143).

Pour afficher la liste des référentiels CodeCommit1. Exécutez la commande list-repositories :

aws codecommit list-repositories

Vous pouvez utiliser l'option --sort-by ou --order facultative pour modifier l'ordre des informationsrenvoyées.

2. En cas de réussite, cette commande génère un repositories objet qui contient les noms et IDs detous les référentiels dans CodeCommit associé au AWS compte.

Version de l'API 2015-04-13141

Page 151: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurVue CodeCommit détails du référentiel (AWS CLI)

Voici des exemples de sorties basés sur la commande précédente :

{ "repositories": [ { "repositoryName": "MyDemoRepo" "repositoryId": "f7579e13-b83e-4027-aaef-650c0EXAMPLE", }, { "repositoryName": "MyOtherDemoRepo" "repositoryId": "cfc29ac4-b0cb-44dc-9990-f6f51EXAMPLE" } ]}

Pour afficher les détails relatifs à un seul Référentiel CodeCommit1. Exécutez la commande get-repository en spécifiant le nom du Référentiel CodeCommit avec l'option

--repository-name.

Tip

Pour obtenir le nom du Référentiel CodeCommit, exécutez la commande list-repositories (p. 141).

Par exemple, pour afficher des détails sur un Référentiel CodeCommit nommé MyDemoRepo :

aws codecommit get-repository --repository-name MyDemoRepo

2. Si elle aboutit, cette commande renvoie un objet repositoryMetadata avec les informationssuivantes :

• Le nom du référentiel (repositoryName).• La description du référentiel (repositoryDescription).• L'ID unique du référentiel généré par le système (repositoryId).• L'ID du compte AWS associé au référentiel (accountId).

Voici des exemples de sorties basés sur l'exemple de commande précédent :

{ "repositoryMetadata": { "creationDate": 1429203623.625, "defaultBranch": "master", "repositoryName": "MyDemoRepo", "cloneUrlSsh": "ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo", "lastModifiedDate": 1430783812.0869999, "repositoryDescription": "My demonstration repository", "cloneUrlHttp": "https://codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo", "repositoryId": "f7579e13-b83e-4027-aaef-650c0EXAMPLE", "Arn": "arn:aws:codecommit:us-east-2:111111111111:MyDemoRepo" "accountId": "111111111111" }}

Version de l'API 2015-04-13142

Page 152: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurVue CodeCommit détails du référentiel (AWS CLI)

Pour afficher des informations sur plusieurs référentielsCodeCommit1. Exécutez la commande batch-get-repositories avec l'option --repository-names. Ajoutez un

espace entre chaque nom de Référentiel CodeCommit.

Tip

Pour obtenir les noms des référentiels dans CodeCommit, exécutez la commande list-repositories (p. 141).

Par exemple, pour afficher des détails sur deux référentiels CodeCommit nommés MyDemoRepo etMyOtherDemoRepo :

aws codecommit batch-get-repositories --repository-names MyDemoRepo MyOtherDemoRepo

2. Si elle aboutit, cette commande renvoie un objet avec les informations suivantes :

• Une liste de tous les référentiels CodeCommit qui n'ont pas pu être trouvés(repositoriesNotFound).

• Une liste des référentiels CodeCommit (repositories). Chaque nom de Référentiel CodeCommitest suivi par :• La description du référentiel (repositoryDescription).• L'ID unique du référentiel généré par le système (repositoryId).• L'ID du compte AWS associé au référentiel (accountId).

Voici des exemples de sorties basés sur l'exemple de commande précédent :

{ "repositoriesNotFound": [], "repositories": [ { "creationDate": 1429203623.625, "defaultBranch": "master", "repositoryName": "MyDemoRepo", "cloneUrlSsh": "ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo", "lastModifiedDate": 1430783812.0869999, "repositoryDescription": "My demonstration repository", "cloneUrlHttp": "https://codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo", "repositoryId": "f7579e13-b83e-4027-aaef-650c0EXAMPLE", "Arn": "arn:aws:codecommit:us-east-2:111111111111:MyDemoRepo" "accountId": "111111111111" }, { "creationDate": 1429203623.627, "defaultBranch": "master", "repositoryName": "MyOtherDemoRepo", "cloneUrlSsh": "ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyOtherDemoRepo", "lastModifiedDate": 1430783812.0889999, "repositoryDescription": "My other demonstration repository", "cloneUrlHttp": "https://codecommit.us-east-2.amazonaws.com/v1/repos/MyOtherDemoRepo", "repositoryId": "cfc29ac4-b0cb-44dc-9990-f6f51EXAMPLE", "Arn": "arn:aws:codecommit:us-east-2:111111111111:MyOtherDemoRepo" "accountId": "111111111111" }

Version de l'API 2015-04-13143

Page 153: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurModifier les paramètres du référentiel

], "repositoriesNotFound": [] }

Modifier AWS CodeCommit paramètres duréférentiel

Vous pouvez utiliser AWS CLI et la console AWS CodeCommit pour modifier les paramètres d'unRéférentiel CodeCommit, par exemple sa description ou son nom.

Important

La modification du nom d'un référentiel peut rompre tout référentiel local qui utilise l'ancien nomdans son URL distante. Exécutez la commande git remote set-url pour mettre à jour l'URL distanteafin d'utiliser le nouveau nom du référentiel.

Rubriques• Modifier les paramètres du référentiel (console) (p. 144)• Modifier AWS CodeCommit paramètres du référentiel (AWS CLI) (p. 145)

Modifier les paramètres du référentiel (console)Pour utiliser la console AWS CodeCommit afin de modifier des paramètres d'un Référentiel CodeCommitdans AWS CodeCommit, procédez comme suit.

1. Ouvrez la console CodeCommit à l'adresse https://console.aws.amazon.com/codesuite/codecommit/home.

2. Dans Référentiels, sélectionnez le nom du référentiel dans lequel vous souhaitez modifier lesparamètres.

3. Dans le panneau de navigation, choisissez Settings.4. Pour modifier le nom du référentiel dans Nom du référentiel, saisissez un nouveau nom dans la zone

de texte Nom, puis choisissez Enregistrer. Vérifiez vos choix lorsque vous y êtes invité.

Important

Modification du nom du AWS CodeCommit va modifier le SSH et le HTTPS URLs que lesutilisateurs doivent se connecter au référentiel. Les utilisateurs ne pourront pas se connecterà ce référentiel tant qu'ils n'auront pas mis à jour leurs paramètres de connexion. En outre,comme l'ARN du référentiel changera, la modification du nom du référentiel invalidera lesstratégies utilisateur IAM basées sur l'ARN de ce référentiel.Pour se connecter au référentiel après que le nom a été modifié, chaque utilisateur doitutiliser la commande git remote set-url et spécifier la nouvelle URL à utiliser. Par exemple,si vous avez modifié le nom du référentiel de MyDemoRepo en MyRenamedDemoRepo,les utilisateurs qui utilisent HTTPS pour se connecter au référentiel doivent exécuter lacommande Git suivante :

git remote set-url origin https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyRenamedDemoRepo

Les utilisateurs qui utilisent SSH pour se connecter au référentiel doivent exécuter lacommande Git suivante :

Version de l'API 2015-04-13144

Page 154: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurModifier AWS CodeCommit

paramètres du référentiel (AWS CLI)

git remote set-url origin ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyRenamedDemoRepo

Pour plus d'options, consultez la documentation Git.5. Pour modifier la description du référentiel, changez le texte de la zone de texte Description, puis

sélectionnez Enregistrer les modifications.

Note

Le champ de description affiche Markdown dans la console et accepte tous les caractèresHTML et les caractères Unicode valides. Si vous êtes un développeur d'application qui utiliseles API GetRepository ou BatchGetRepositories et si vous envisagez d'afficher lechamp de description d'un référentiel dans un navigateur web, consultez la référence d'APICodeCommit.

6. Pour modifier la branche par défaut, dans Branche par défaut, choisissez une autre branche dans laliste déroulante des branches. Choisissez Save.

7. Pour supprimer le référentiel, choisissez Supprimer le référentiel. Dans la zone en regard de Tapez lenom du référentiel pour confirmer la suppression, saisissez delete, puis choisissez Supprimer.

Important

Une fois que vous aurez supprimé ce référentiel dans AWS CodeCommit, vous ne pourrezplus le cloner dans un rapport local ou référentiel partagé. Vous ne pourrez plus non plusextraire ou transmettre des données depuis ou vers celui-ci à partir d'un rapport local ouréférentiel partagé. Cette action ne peut pas être annulée.

Modifier AWS CodeCommit paramètres du référentiel(AWS CLI)Pour utiliser les commandes de l'AWS CLI avec CodeCommit, installez l'AWS CLI. Pour de plus amplesinformations, veuillez consulter Référence des commandes en ligne (p. 437).

Pour utiliser l'AWS CLI afin de modifier des paramètres d'un Référentiel CodeCommit dans AWSCodeCommit, exécutez une ou plusieurs des commandes suivantes :

• update-repository-description (p. 145) pour modifier la description d'un Référentiel CodeCommit.• update-repository-name (p. 146) pour modifier le nom d'un Référentiel CodeCommit.

Pour modifier la description d'un Référentiel CodeCommit1. Exécutez la commande update-repository-description en indiquant :

• Nom du Référentiel CodeCommit (avec l'option --repository-name).

Tip

Pour obtenir le nom du Référentiel CodeCommit, exécutez la commande list-repositories (p. 141).

• La description du nouveau référentiel (avec l'option --repository-description).

Note

Le champ de description affiche Markdown dans la console et accepte tous les caractèresHTML et les caractères Unicode valides. Si vous êtes un développeur d'application qui

Version de l'API 2015-04-13145

Page 155: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurSynchroniser les modifications entre les référentiels

utilise les API GetRepository ou BatchGetRepositories et si vous envisagezd'afficher le champ de description d'un référentiel dans un navigateur web, consultez laréférence d'API CodeCommit.

Par exemple, pour modifier la description du Référentiel CodeCommit nommé MyDemoRepo en Thisdescription was changed :

aws codecommit update-repository-description --repository-name MyDemoRepo --repository-description "This description was changed"

Cette commande génère une sortie uniquement en cas d'erreurs.2. Pour vérifier la description modifiée, exécutez la commande get-repository en spécifiant le nom du

Référentiel CodeCommit dont vous avez modifié la description avec l'option --repository-name.

La sortie de la commande affiche le texte modifié dans repositoryDescription.

Pour modifier le nom d'un Référentiel CodeCommit1. Exécutez la commande update-repository-name en indiquant :

• Le nom actuel du Référentiel CodeCommit (avec l'option --old-name).

Tip

Pour obtenir le nom du Référentiel CodeCommit, exécutez la commande list-repositories (p. 141).

• Le nouveau nom du Référentiel CodeCommit (avec l'option --new-name).

Par exemple, pour modifier le référentiel nommé MyDemoRepo en MyRenamedDemoRepo :

aws codecommit update-repository-name --old-name MyDemoRepo --new-name MyRenamedDemoRepo

Cette commande génère une sortie uniquement en cas d'erreurs.

Important

Modification du nom du AWS CodeCommit du référentiel modifie les protocoles SSH etHTTPS URLs que les utilisateurs doivent se connecter au référentiel. Les utilisateurs nepeuvent pas se connecter à ce référentiel tant qu'ils n'ont pas mis pas à jour leurs paramètresde connexion. En outre, comme l'ARN du référentiel change, la modification du nom duréférentiel invalide les stratégies utilisateur IAM basées sur l'ARN de ce référentiel.

2. Pour vérifier le nom modifié, exécutez la commande list-repositories et consultez la liste des noms deréférentiel.

Synchroniser les modifications entre un référentiellocal et un AWS CodeCommit référentiel

Vous utilisez Git pour synchroniser les modifications entre un rapport local et le Référentiel CodeCommitconnecté au rapport local.

Version de l'API 2015-04-13146

Page 156: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurEnvoi des validations vers deux référentiels

Pour transmettre des modifications depuis le rapport local vers le Référentiel CodeCommit, exécutez gitpush remote-name branch-name.

Pour extraire des modifications vers le rapport local depuis le Référentiel CodeCommit, exécutez git pullremote-name branch-name.

Pour pousser et tirer, remote-name est le surnom du rapport local utilise pour le Référentiel CodeCommit.branch-name est le nom de la branche sur le Référentiel CodeCommit pour pousser vers ou extraire de.

Tip

Pour obtenir le surnom du rapport local utilise pour le Référentiel CodeCommit, exécuter gitremote. Pour obtenir une liste des noms de branche, exécutez git branch. Un astérisque (*)apparaît à côté du nom de la branche actuelle. (Vous pouvez également exécuter git status pourafficher le nom de la branche actuelle.)

Note

Si vous avez cloné le référentiel, du point de vue du rapport local, remote-name n’est pas lenom du Référentiel CodeCommit. Lorsque vous clonez un référentiel, remote-name est définiautomatiquement sur origin.

Par exemple, pour transmettre des modifications depuis le rapport local vers la branche master duRéférentiel CodeCommit avec le pseudonyme origin :

git push origin master

De même, pour extraire des modifications vers le rapport local depuis la branche master du RéférentielCodeCommit avec le pseudonyme origin :

git pull origin master

Tip

Si vous ajoutez l'option -u à git push, vous définissez des informations de suivi en amont. Parexemple, si vous exécutez git push -u origin master), à l’avenir, vous pourrez exécuter git pushet git pull sans remote-name branch-name. Pour obtenir des informations de suivi en amont,exécutez git remote show remote-name (par exemple, git remote show origin).

Pour plus d'options, consultez la documentation Git.

Envoi des validations vers un référentiel Gitsupplémentaire

Vous pouvez configurer votre référentiel local pour transmettre des modifications vers deux référentielsdistants. Par exemple, vous souhaiterez peut-être continuer à utiliser votre solution de référentielGit existante tout en essayant AWS CodeCommit. Suivez ces étapes de base pour transmettre desmodifications de votre référentiel local vers CodeCommit et un référentiel Git distinct.

Tip

Si vous ne disposez pas d'un référentiel Git, vous pouvez en créer un vide sur un service autrequ'CodeCommit, puis migrer votre référentiel CodeCommit vers celui-ci. Vous devez suivre desétapes similaires à celles de Migration vers CodeCommit (p. 283).

Version de l'API 2015-04-13147

Page 157: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurEnvoi des validations vers deux référentiels

1. Depuis l'invite de commande ou le terminal, basculez vers le répertoire de votre référentiel local etexécutez la commande git remote -v. Vous devez voir des résultats similaires à ce qui suit :

Pour HTTPS :

origin https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo (fetch)origin https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo (push)

Pour SSH :

origin ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo (fetch)origin ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo (push)

2. Exécutez le git remote set-url --add --push origin git-repository-name de commande où git-repository-name est l’URL et le nom du référentiel Git dans lequel vous souhaitez héberger votrecode. Cette commande modifie la destination de la transmission d'origin en ce référentiel Git.

Note

git remote set-url --add --push remplace l'URL par défaut pour les transmissions. Vous devezdonc exécuter cette commande deux fois, comme illustré dans les étapes ultérieures.

Par exemple, la commande suivante modifie la transmission de l’origine à some-URL/MyDestinationRepo:

git remote set-url --add --push origin some-URL/MyDestinationRepo

Cette commande ne donne aucun résultat.

Tip

Si vous transmettez vers un référentiel Git qui nécessite des informations d’identification,assurez-vous de configurer ces informations d’identification dans un assistant d’informationsd’identification ou dans la configuration de l’ some-URL chaîne. Sinon, les transmissions versce référentiel échouent.

3. Exécutez à nouveau la commande git remote -v, ce qui doit créer une sortie similaire à ce qui suit :

Pour HTTPS :

origin https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo (fetch)origin some-URL/MyDestinationRepo (push)

Pour SSH :

origin ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo (fetch)origin some-URL/MyDestinationRepo (push)

4. A présent, ajoutez le référentiel CodeCommit. Exécutez à nouveau la commande git remote set-url --add --push origin, cette fois avec l'URL et le nom de votre référentiel CodeCommit.

Par exemple, la commande suivante ajoute la transmission d'origin vers https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo.

Pour HTTPS :

git remote set-url --add --push origin https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo

Version de l'API 2015-04-13148

Page 158: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurEnvoi des validations vers deux référentiels

Pour SSH :

git remote set-url --add --push origin ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo

Cette commande ne donne aucun résultat.5. Exécutez à nouveau la commande git remote -v, ce qui doit créer une sortie similaire à ce qui suit :

Pour HTTPS :

origin https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo (fetch)origin some-URL/MyDestinationRepo (push) origin https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo (push)

Pour SSH :

origin ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo (fetch)origin some-URL/MyDestinationRepo (push) origin ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo (push)

Vous avez maintenant deux référentiels Git comme destination pour vos transmissions, mais vostransmissions vont à some-URL/MyDestinationRepo en premier. Si la transmission vers ce référentieléchoue, vos validations ne sont transmises à aucun des deux référentiels.

Tip

Si l'autre référentiel nécessite des informations d'identification que vous voulez entrermanuellement, pensez à modifier l'ordre des transmissions, pour effectuer d'abord latransmission vers CodeCommit. Exécutez git remote set-url --delete pour supprimer leréférentiel qui est la première cible de la transmission, puis exécutez git remote set-url --addpour l'ajouter à nouveau afin qu'il devienne la deuxième cible de la transmission.Pour plus d'options, consultez la documentation Git.

6. Pour vérifier que les transmissions sont maintenant effectuées vers les deux référentiels distants,utilisez un éditeur de texte pour créer le fichier texte suivant dans votre référentiel local :

bees.txt-------Bees are flying insects closely related to wasps and ants, and are known for their role in pollination and for producing honey and beeswax.

7. Exécutez git add pour effectuer une copie intermédiaire de la modification dans votre référentiel local :

git add bees.txt

8. Exécutez git commit pour valider la modification dans votre référentiel local :

git commit -m "Added bees.txt"

9. Pour transmettre la validation du référentiel local à vos référentiels distants, exécutez git push -uremote-name branch-name où remote-name est le pseudonyme utilisé par le référentiel local pourles référentiels distants et branch-name est le nom de la branche à transmettre au référentiel.

Tip

Vous n'avez à utiliser l'option -u que la première fois que vous effectuez une transmission.Ensuite, les informations de suivi en amont sont définies.

Version de l'API 2015-04-13149

Page 159: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurConfigurer l’accès entre comptesà un référentiel à l’aide de rôles

Par exemple, l'exécution de git push -u origin master montre que la transmission a été effectuée versles deux référentiels distants dans les branches attendues, avec une sortie similaire à ce qui suit :

Pour HTTPS :

Counting objects: 5, done.Delta compression using up to 4 threads.Compressing objects: 100% (3/3), done.Writing objects: 100% (3/3), 5.61 KiB | 0 bytes/s, done.Total 3 (delta 1), reused 0 (delta 0)To some-URL/MyDestinationRepo a5ba4ed..250f6c3 master -> masterCounting objects: 5, done.Delta compression using up to 4 threads.Compressing objects: 100% (3/3), done.Writing objects: 100% (3/3), 5.61 KiB | 0 bytes/s, done.Total 3 (delta 1), reused 0 (delta 0)remote:To https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo a5ba4ed..250f6c3 master -> master

Pour SSH :

Counting objects: 5, done.Delta compression using up to 4 threads.Compressing objects: 100% (3/3), done.Writing objects: 100% (3/3), 5.61 KiB | 0 bytes/s, done.Total 3 (delta 1), reused 0 (delta 0)To some-URL/MyDestinationRepo a5ba4ed..250f6c3 master -> masterCounting objects: 5, done.Delta compression using up to 4 threads.Compressing objects: 100% (3/3), done.Writing objects: 100% (3/3), 5.61 KiB | 0 bytes/s, done.Total 3 (delta 1), reused 0 (delta 0)remote:To ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo a5ba4ed..250f6c3 master -> master

Pour plus d'options, consultez la documentation Git.

Configurer l’accès entre comptes à un AWSCodeCommit du référentiel à l’aide de rôles

Vous pouvez configurer l'accès aux référentiels CodeCommit pour des utilisateurs et groupesIAM figurant dans un autre compte AWS. Ce processus est souvent appelé accès entre comptes.Cette section fournit des exemples et des instructions étape par étape pour configurer l’accès entrecomptes pour un référentiel nommé MySharedDemoRepo dans le USA Est (Ohio) Région dans unAWS compte (appelé AccountA) à IAM utilisateurs qui appartiennent à un IAM du groupe nomméDevelopersWithCrossAccountRepositoryAccess dans un autre AWS compte (appelé AccountB).

Cette section est divisée en trois parties :

• Actions pour l’administrateur dans AccountA.• Actions pour l’administrateur dans AccountB.

Version de l'API 2015-04-13150

Page 160: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAccès au référentiel entre comptes : Actions

pour l’administrateur dans AccountA

• Actions pour l’utilisateur du référentiel dans AccountB.

Pour configurer l'accès entre comptes :

• L’administrateur dans AccountA se connecte en tant que IAM utilisateur disposant des autorisationsrequises pour créer et gérer des référentiels dans CodeCommit et créer des rôles dans IAM. Si vousutilisez des stratégies gérées par , appliquez IAMFullAccess et AWSCodeCommitFullAccess à ce IAMutilisateur.

L’exemple d’ID de compte pour AccountA est 111122223333.• L’administrateur dans AccountB se connecte en tant que IAM avec les autorisations requises pour créer

et gérer IAM les utilisateurs et les groupes, et pour configurer des stratégies pour les utilisateurs et lesgroupes. Si vous utilisez des stratégies gérées par , appliquez IAMFullAccess à ce IAM utilisateur.

L’exemple d’ID de compte pour AccountB est 888888888888.• L’utilisateur du référentiel dans AccountBpour émuler les activités d’un développeur, se connecte en tant

que IAM qui est membre du IAM créé pour autoriser l’accès au CodeCommit référentiel dans AccountA.Ce compte doit être configuré avec :• Accès à AWS Management Console.• Une clé d’accès et une clé secrète à utiliser lors de la connexion aux ressources AWS et l’ARN du rôle

à assumer lors de l’accès aux référentiels dans AccountA.• Utilitaire git-remote-codecommit sur l'ordinateur local sur lequel le référentiel est cloné. Cet utilitaire

nécessite Python et son programme d'installation, pip. Vous pouvez télécharger l'utilitaire à partir degit-remote-codecommit sur le site web Python Package Index.

Pour plus d'informations, consultez Étapes de configuration pour les connexions HTTPS à AWSCodeCommit avec git-remote-codecommit (p. 15) et Utilisateurs IAM.

Rubriques• Accès au référentiel entre comptes : Actions pour l’administrateur dans AccountA (p. 151)• Accès au référentiel entre comptes : Actions pour l’administrateur dans AccountB (p. 154)• Accès au référentiel entre comptes : Actions pour l’utilisateur du référentiel dans AccountB (p. 155)

Accès au référentiel entre comptes : Actions pourl’administrateur dans AccountAPour autoriser des utilisateurs ou des groupes dans AccountB pour accéder à un référentiel dansAccountA, un AccountA l’administrateur doit :

• Créer une stratégie dans AccountA qui accorde l’accès au référentiel.• Créez un rôle dans AccountA qui peut être assumée par IAM utilisateurs et groupes dans AccountB.• Attachez la stratégie au rôle.

Les sections suivantes fournissent les étapes et des exemples.

Rubriques• Étape 1 : Créez une stratégie pour l’accès au référentiel dans AccountA (p. 152)• Étape 2 : Créez un rôle pour l’accès au référentiel dans AccountA (p. 153)

Version de l'API 2015-04-13151

Page 161: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAccès au référentiel entre comptes : Actions

pour l’administrateur dans AccountA

Étape 1 : Créez une stratégie pour l’accès au référentiel dansAccountAVous pouvez créer une stratégie dans AccountA qui accorde l’accès au référentiel dans AccountB. Enfonction du niveau d’accès que vous souhaitez autoriser, effectuez l’une des opérations suivantes :

• Configurer la stratégie pour autoriser AccountB les utilisateurs accèdent à un référentiel spécifique, maisne les autorisent pas à afficher une liste de tous les référentiels dans AccountA.

• Configurer un accès supplémentaire pour autoriser AccountB pour choisir le référentiel dans une liste detous les référentiels dans AccountA.

Pour créer une stratégie pour l'accès au référentiel

1. Connectez-vous au AWS Console de gestion en tant que IAM utilisateur avec des autorisations pourcréer des stratégies dans AccountA.

2. Ouvrez la console IAM à l'adresse https://console.aws.amazon.com/iam/.3. Dans le volet de navigation, choisissez Policies (Stratégies).4. Choisissez Create policy (Créer une stratégie).5. Choisissez l'onglet JSON et collez le document de stratégie JSON suivant dans la zone de texte

JSON. Remplacez us-east-2 avec la région AWS pour le référentiel, 111122223333 avec l’ID decompte pour AccountA, et MySharedDemoRepo avec le nom de votre CodeCommit référentiel dansAccountA:

{"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 voulez que les utilisateurs qui endossent ce rôle soient en mesure d'afficher la liste desréférentiels sur la page d'accueil de la console CodeCommit, ajoutez une déclaration supplémentaire àla stratégie, comme suit :

{ "Version": "2012-10-17", "Statement": [

Version de l'API 2015-04-13152

Page 162: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAccès au référentiel entre comptes : Actions

pour l’administrateur dans AccountA

{ "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érentielauquel ils ont accès. Ils peuvent choisir le nom du référentiel dans la liste et être dirigés vers la paged'accueil du référentiel partagé (Code). Les utilisateurs ne peuvent pas accéder aux autres référentielsqu’ils voient dans la liste, mais ils peuvent afficher les référentiels dans AccountA sur le Tableau debord page.

Si vous ne souhaitez pas autoriser les utilisateurs qui assument le rôle à afficher une liste de tous lesréférentiels dans AccountAutilisez le premier exemple de stratégie, mais assurez-vous d’envoyer à cesutilisateurs un lien direct vers la page d’accueil du référentiel partagé dans le CodeCommit console.

6. Choisissez Examiner une stratégie. Le validateur de stratégie signale les erreurs de syntaxe (parexemple, si vous oubliez de remplacer l'exemple d'ID de compte AWS et le nom du référentiel parvotre ID de compte AWS et le nom du référentiel).

7. Sur la page Examiner la politique saisissez un nom pour la stratégie (par exemple,CrossAccountAccessForMySharedDemoRepo). Vous pouvez également fournir une descriptionfacultative de cette stratégie. Choisissez Create policy (Créer une stratégie).

Étape 2 : Créez un rôle pour l’accès au référentiel dans AccountAUne fois que vous avez configuré une stratégie, créez un rôle qui IAM utilisateurs et groupes dansAccountB peut assumer et attacher la stratégie à ce rôle.

Pour créer un rôle pour l'accès au référentiel

1. Dans la console IAM, choisissez Rôles.2. Sélectionnez Créer un rôle.3. Choisissez Autre compte AWS.4. dans ID de compte, saisissez le AWS ID de compte pour AccountB (par exemple, 888888888888).

Choisir Suivant : Autorisations.

Version de l'API 2015-04-13153

Page 163: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAccès au référentiel entre comptes : Actions

pour l’administrateur dans AccountB

5. dans Attacher des stratégies d’autorisations, sélectionnez la stratégie que vous avez créée dans laprocédure précédente (CrossAccountAccessForMySharedDemoRepo). Choisir Suivant : à revoir.

6. dans Nom du rôle, entrez un nom pour le rôle (par exemple,MyCrossAccountRepositoryContributorRole). Vous pouvez également saisir une descriptionfacultative pour aider les autres à comprendre l’objectif du rôle.

7. Sélectionnez Créer un rôle.8. Ouvrez le rôle que vous venez de créer et copiez l'ARN de rôle (par exemple,

arn:aws:iam::111122223333:role/MyCrossAccountRepositoryContributorRole). Vousdevez fournir cet ARN au AccountB de l’administrateur.

Accès au référentiel entre comptes : Actions pourl’administrateur dans AccountBPour autoriser des utilisateurs ou des groupes dans AccountB pour accéder à un référentiel dansAccountA, le AccountB doit créer un groupe dans AccountB. Ce groupe doit être configuré avec unestratégie qui autorise les membres du groupe à assumer le rôle créé par le AccountA de l’administrateur.

Les sections suivantes fournissent les étapes et des exemples.

Rubriques• Étape 1 : Créez un IAM groupe pour l’accès au référentiel pour AccountB utilisateurs (p. 154)• Étape 2 : Créez une stratégie et ajoutez des utilisateurs à IAM groupe (p. 154)

Étape 1 : Créez un IAM groupe pour l’accès au référentiel pourAccountB utilisateursLe moyen le plus simple de gérer IAM utilisateurs dans AccountB peut accéder au AccountA pour créer unréférentiel IAM groupe dans AccountB qui a l’autorisation d’assumer le rôle dans AccountA, puis ajoutez leIAM utilisateurs à ce groupe.

Pour créer un groupe pour l'accès entre comptes au référentiel

1. Connectez-vous au AWS Console de gestion en tant que IAM avec les autorisations requises pourcréer IAM de groupes et de politiques et gérer IAM utilisateurs dans AccountB.

2. Ouvrez la console IAM à l'adresse https://console.aws.amazon.com/iam/.3. Dans la console IAM, choisissez Groupes.4. Choisissez Créer un groupe.5. dans Nom du groupe, saisissez un nom pour le groupe (par exemple,

DevelopersWithCrossAccountRepositoryAccess). Choisir Étape suivante.6. Dans Attacher la stratégie, choisissez Étape suivante. Vous créez la stratégie entre comptes dans la

procédure suivante. Terminez la création du groupe.

Étape 2 : Créez une stratégie et ajoutez des utilisateurs à IAMgroupeMaintenant que vous avez un groupe, créez la stratégie qui permet aux membres de ce groupe d’assumerle rôle qui leur donne accès au référentiel dans AccountA. Puis ajoutez au groupe le IAM utilisateurs dansAccountB que vous voulez autoriser l’accès dans AccountA.

Version de l'API 2015-04-13154

Page 164: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAccès au référentiel entre comptes : Actions

pour l’utilisateur du référentiel dans AccountB

Pour créer une stratégie pour le groupe et y ajouter des utilisateurs

1. Dans le IAM de la console, choisissez Groupes, puis choisissez le nom du groupe que vous venez decréer (par exemple, DevelopersWithCrossAccountRepositoryAccess).

2. Choisissez l'onglet Autorisations. Développez Stratégies en ligne, puis choisissez le lien pour créerune stratégie en ligne. (Si vous configurez un groupe qui possède déjà une stratégie en ligne,choisissez Créer une stratégie de groupe.)

3. Choisissez Stratégie personnalisée, puis Sélectionner.4. dans Nom de la politique, saisissez un nom pour la stratégie (par exemple,

AccessPolicyForSharedRepository).5. Dans Document de stratégie, collez la stratégie suivante. dans Resource, remplacez l’ARN par l’ARN

de la stratégie créée par l’administrateur dans AccountA (par exemple, arn :aws :iam :111122223333:rôle/MyCrossAccountRepositoryContributorRole), puis choisissez Appliquer la politique. Pourplus d’informations sur la stratégie créée par l’administrateur dans AccountA, voir Étape 1 : Créez unestratégie pour l’accès au référentiel dans AccountA (p. 152).

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::111122223333:role/MyCrossAccountRepositoryContributorRole" }}

6. Choisissez l'onglet Utilisateurs. Choisir Ajouter des utilisateurs au groupe, puis ajoutez le AccountBIAM utilisateurs. Par exemple, vous pouvez ajouter un IAM utilisateur avec le nom d’utilisateurSaanvi_Sarkar au groupe.

Note

Utilisateurs dans AccountB doit avoir un accès par programmation, y compris une cléd’accès et une clé secrète, pour configurer leurs ordinateurs locaux pour accéder au partagéCodeCommit du référentiel. Si vous créez des utilisateurs IAM, veillez à enregistrer la cléd'accès et la clé secrète. Pour garantir la sécurité de votre compte AWS, la clé d'accèssecrète est accessible uniquement au moment de sa création.

Accès au référentiel entre comptes : Actions pourl’utilisateur du référentiel dans AccountBPour accéder au référentiel dans AccountA, utilisateurs dans le AccountB doit configurer leurs ordinateurslocaux pour l’accès au référentiel. Les sections suivantes fournissent les étapes et des exemples.

Rubriques• Étape 1 : Configurer le AWS CLI et Git pour un AccountB pour accéder au référentiel dans

AccountA (p. 156)• Étape 2 : Clonez et accédez au CodeCommit référentiel dans AccountA (p. 158)

Version de l'API 2015-04-13155

Page 165: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAccès au référentiel entre comptes : Actions

pour l’utilisateur du référentiel dans AccountB

Étape 1 : Configurer le AWS CLI et Git pour un AccountB pouraccéder au référentiel dans AccountAVous ne pouvez pas utiliser les clés SSH ni les informations d'identification Git pour accéder auxréférentiels dans un autre compte AWS. AccountB les utilisateurs doivent configurer leurs ordinateurs pourutiliser git-remote-codecommit (recommandé) ou l’assistant d’informations d’identification pour accéder aupartagé CodeCommit référentiel dans AccountA. Cependant, vous pouvez continuer à utiliser des clés SSHou des informations d’identification Git lorsque vous accédez aux référentiels dans AccountB.

Suivez ces étapes pour configurer l’accès à l’aide de git-remote-codecommit. Si vous n’avez pas encoreinstallé git-remote-codecommit, téléchargez-le à partir de git-remote-codecommit sur le site web de PythonPackage Index.

Pour configurer l'AWS CLI et Git pour l'accès entre comptes

1. Installez l'AWS CLI sur l'ordinateur local. Consultez les instructions fournies pour votre systèmed'exploitation dans Installation de l'AWS CLI.

2. Installez Git sur l'ordinateur local. Pour installer Git, nous vous recommandons des sites web tels queTéléchargements Git ou Git pour Windows.

Note

CodeCommit prend en charge les versions Git 1.7.9 et version ultérieure. Nous vousrecommandons d'utiliser une version récente de Git. Git est une plateforme en constanteévolution et régulièrement mise à jour. Parfois, la modification d'une fonctionnalité peutaffecter la façon dont elle fonctionne avec CodeCommit. Si vous rencontrez des problèmesavec une version spécifique de Git et CodeCommit, consultez les informations dansDépannage (p. 401).

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 nomd'utilisateur et l'adresse e-mail pour les validations que vous effectuerez pour le référentiel. Exemple :

git config --local user.name "Saanvi Sarkar"git config --local user.email [email protected]

Ces commandes ne renvoient rien, mais l’e-mail et le nom d’utilisateur que vous spécifiez sontassociés aux validations que vous effectuez dans le référentiel dans AccountA.

4. Exécutez le aws configure --profile pour configurer un profil par défaut à utiliser lors de la connexionaux ressources dans AccountB. Lorsque vous y êtes invité, fournissez la clé d’accès et la clé secrètede votre IAM utilisateur.

Note

Si vous avez déjà installé et configuré l'AWS CLI et configuré un profil, vous pouvez ignorercette étape.

Par exemple, exécutez la commande suivante pour créer une valeur par défaut AWS CLI que vousutilisez pour accéder AWS ressources dans AccountB dans USA Est (Ohio) (us-east-2) :

aws configure

Lorsque vous y êtes invité, fournissez les informations suivantes :

AWS Access Key ID [None]: Your-IAM-User-Access-KeyAWS Secret Access Key ID [None]: Your-IAM-User-Secret-Access-KeyDefault region name ID [None]: us-east-2

Version de l'API 2015-04-13156

Page 166: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAccès au référentiel entre comptes : Actions

pour l’utilisateur du référentiel dans AccountB

Default output format [None]: json

5. Exécutez le aws configure --profile pour configurer un profil nommé à utiliser lors de la connexionau référentiel dans AccountA. Lorsque vous y êtes invité, fournissez la clé d’accès et la clé secrètepour votre IAM utilisateur. Par exemple, exécutez la commande suivante pour créer un AWS CLI nomdu profil MyCrossAccountAccessProfile que vous utilisez pour accéder à un référentiel dansAccountA dans USA Est (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-KeyAWS Secret Access Key ID [None]: Your-IAM-User-Secret-Access-KeyDefault region name ID [None]: us-east-2Default output format [None]: json

6. Dans un éditeur de texte brut, ouvrez le fichier config, également connu sous le nom defichier de configuration de AWS CLI. Selon votre système d’exploitation, ce fichier peut setrouver à l’emplacement ~/.aws/config sur Linux, macOS, or Unix, ou à drive: \Utilisateurs\USERNAME\.aws \config sur Windows.

7. Dans le fichier , recherchez l’entrée qui correspond au profil par défaut que vous avez configuré pourl’accès aux référentiels dans AccountB. Il doit ressembler à ce qui suit :

[default]region = us-east-2output = json

Ajoutez account à la configuration du profil. Fournissez l’ID de compte AWS de AccountB. Parexemple :

[default]account = 888888888888region = us-east-2output = json

8. Dans le fichier , recherchez l’entrée qui correspond à la MyCrossAccountAccessProfile profil quevous venez de créer. Il doit ressembler à l'exemple ci-dessous.

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

Ajoutez account, role_arn et source_profile à la configuration du profil. Fournissez l’IDde compte AWS de AccountA, ARN du rôle dans AccountA que vous supposez pour accéder auréférentiel dans l’autre compte, et le nom de votre par défaut AWS CLI profil dans AccountB. Parexemple :

[profile MyCrossAccountAccessProfile]region = us-east-2account = 111122223333role_arn = arn:aws:iam::111122223333:role/MyCrossAccountRepositoryContributorRolesource_profile = defaultoutput = json

Enregistrez les modifications, puis fermez l'éditeur de texte brut.Version de l'API 2015-04-13

157

Page 167: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAccès au référentiel entre comptes : Actions

pour l’utilisateur du référentiel dans AccountB

Étape 2 : Clonez et accédez au CodeCommit référentiel dansAccountAExécutez git clone, git push, et git pull pour cloner, transférer et extraire le référentiel CodeCommit entrecomptes. Vous pouvez également vous connecter à AWS Management Console, changer de rôle et utiliserla console CodeCommit pour interagir avec le référentiel dans l'autre compte.

Note

En fonction de la façon dont le rôle IAM a été configuré, vous pouvez afficher les référentiels surla page par défaut pour CodeCommit. Si vous ne pouvez pas consulter les référentiels, demandezà l'administrateur en charge de vous envoyer par e-mail un lien URL vers la page Code pour leréférentiel partagé dans la console CodeCommit. 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. Dans la ligne de commande ou le terminal, dans le répertoire dans lequel vous souhaitez cloner leréférentiel, exécutez le git clone avec le protocole HTTPS (GRC) cloner l’URL. 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êmenom 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. Parexemple, vous pouvez ajouter un fichier nommé NewFile.txt.

3. Ajoutez le fichier pour le suivi des modifications pour le dépôt local, validez la modification, puistransmettez (push) le fichier au référentiel CodeCommit. Exemple :

git add NewFile.txtgit commit -m "Added a file to test cross-account access to this repository"git push

Pour plus d'informations, consultez la section Mise en route avec Git et AWS CodeCommit (p. 74).

Maintenant que vous avez ajouté un fichier, accédez à la console CodeCommit pour afficher votrevalidation, passez en revue les modifications apportées au dépôt par les autres utilisateurs, participez auxdemandes d'extraction, etc.

Pour accéder au référentiel entre comptes dans la console CodeCommit

1. Connectez-vous au AWS Management Console dans AccountB (888888888888) en tant que IAMutilisateur qui s’est vu accorder l’accès entre comptes au référentiel dans AccountA.

2. Choisissez votre nom d'utilisateur dans la barre de navigation, puis, dans la liste déroulante, choisissezChanger de rôle.

Note

Si c'est la première fois que vous avez sélectionné cette option, consultez les informationsdans 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 Compte, saisissez l’ID de compte pour AccountA (par exemple, 111122223333).

Version de l'API 2015-04-13158

Page 168: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurSupprimer un référentiel

• dans Rôle, saisissez le nom du rôle que vous souhaitez assumer pour accéder au référentiel dansAccountA (par exemple, MyCrossAccountRepositoryContributorRole).

• Dans Nom complet, saisissez un nom convivial pour ce rôle. Ce nom apparaît dans la consolelorsque vous endossez ce rôle. Il apparaîtra également dans la liste des rôles endossés la prochainefois 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 console CodeCommit à l'adresse https://console.aws.amazon.com/codesuite/codecommit/

home.

Si le rôle assumé a l’autorisation d’afficher les noms des référentiels dans AccountA, vous voyez uneliste de référentiels et un message d’erreur qui vous informe que vous n’êtes pas autorisé à afficherleur statut. Ce comportement est normal. Choisissez le nom du référentiel partagé dans cette liste.

Si le rôle assumé n’est pas autorisé à afficher les noms des référentiels dans AccountA, vous voyez unmessage d’erreur et une liste vide sans référentiels. Collez le lien URL vers le référentiel ou modifiezle 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 etcommencez à utiliser ses fonctions.

Pour plus d'informations, consultez la section Démarrez avec AWS CodeCommit (p. 60).

Supprimer un AWS CodeCommit référentielVous pouvez utiliser la console CodeCommit ou l'AWS CLI pour supprimer un Référentiel CodeCommit.

Note

La suppression d'un référentiel ne supprime pas les copies locales de ce référentiel (référentielslocaux). Pour supprimer un rapport local, utilisez les outils de gestion de répertoires et de fichiersde votre ordinateur local.

Rubriques• Supprimer un CodeCommit référentiel (console) (p. 159)• Supprimer un référentiel local (p. 160)• Supprimer un CodeCommit du référentiel (AWS CLI) (p. 160)

Supprimer un CodeCommit référentiel (console)Pour utiliser la console CodeCommit afin de supprimer un Référentiel CodeCommit, procédez comme suit.

Important

Une fois que vous avez supprimé un Référentiel CodeCommit, vous ne pouvez plus le cloner dansun rapport local ou un référentiel partagé. Vous ne pouvez plus non plus extraire ou transmettredes données depuis ou vers celui-ci à partir d'un rapport local ou référentiel partagé. Cette actionne peut pas être annulée.

1. Ouvrez la console CodeCommit à l'adresse https://console.aws.amazon.com/codesuite/codecommit/home.

Version de l'API 2015-04-13159

Page 169: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurSupprimer un référentiel local

2. Dans Repositories (Référentiels), sélectionnez le nom du référentiel que vous voulez supprimer.3. Dans le panneau de navigation, choisissez Settings.4. Sur la page Généralités de l’onglet, en Supprimer le référentiel, choisissez Supprimer le référentiel.

Entrez delete, puis choisissez Supprimer. Le référentiel est définitivement supprimé.

Note

La suppression du référentiel dans CodeCommit ne supprime pas les référentiels locaux.

Supprimer un référentiel localUtilisez les outils de gestion de répertoires et de fichiers de votre ordinateur local pour supprimer lerépertoire qui contient le rapport local.

La suppression d'un rapport local ne supprime pas un Référentiel CodeCommit auquel celui-ci peut êtreconnecté.

Supprimer un CodeCommit du référentiel (AWS CLI)Pour utiliser les commandes de l'AWS CLI avec CodeCommit, installez l'AWS CLI. Pour de plus amplesinformations, veuillez consulter Référence des commandes en ligne (p. 437).

Pour utiliser l'AWS CLI afin de supprimer un Référentiel CodeCommit, exécutez la commande delete-repository en spécifiant le nom du Référentiel CodeCommit à supprimer (avec l'option --repository-name).

Important

Une fois que vous avez supprimé un Référentiel CodeCommit, vous ne pouvez plus le cloner dansun rapport local ou un référentiel partagé. Vous ne pouvez plus non plus extraire ou transmettredes données depuis ou vers celui-ci à partir d'un rapport local ou référentiel partagé. Cette actionne peut pas être annulée.

Tip

Pour obtenir le nom du Référentiel CodeCommit, exécutez la commande list-repositories (p. 141).

Par exemple, pour supprimer un référentiel nommé MyDemoRepo :

aws codecommit delete-repository --repository-name MyDemoRepo

Si la commande aboutit, l'ID du Référentiel CodeCommit qui a été supprimé définitivement apparaît dans lasortie :

{ "repositoryId": "f7579e13-b83e-4027-aaef-650c0EXAMPLE"}

La suppression d'un Référentiel CodeCommit ne supprime pas les éventuels référentiels locaux quipourraient lui être connectés.

Version de l'API 2015-04-13160

Page 170: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateur

Utilisation des fichiers dans AWSCodeCommit référentiels

Dans CodeCommit, un fichier est un élément d'information autonome, sous contrôle de version, à votredisposition et à celle des autres utilisateurs du référentiel et de la branche où le fichier est stocké. Vouspouvez organiser vos fichiers de référentiel à l'aide d'une structure de répertoires, comme vous le feriez surun ordinateur. Contrairement à votre ordinateur, CodeCommit effectue automatiquement le suivi de chaquemodification de fichier. Vous pouvez comparer les versions d'un fichier et stocker les différentes versionsd'un fichier dans différentes branches du référentiel.

Pour ajouter un ou modifier un fichier dans un référentiel, vous pouvez utiliser un client Git. Vous pouvezégalement utiliser la console CodeCommit, l'AWS CLI ou l'API CodeCommit.

Pour obtenir des informations sur l'utilisation des autres aspects de votre référentiel dans CodeCommit,consultez Utilisation des référentiels (p. 95), Utilisation des demandes d'extraction (p. 169),Utilisation de branches (p. 266) , Utilisation des validations (p. 231) et Utilisation des préférencesutilisateur (p. 282).

Rubriques• Parcourir les fichiers dans un AWS CodeCommit référentiel (p. 162)• Créez ou ajoutez un fichier à un AWS CodeCommit référentiel (p. 163)• Modifier le contenu d’un fichier dans un AWS CodeCommit référentiel (p. 166)

Version de l'API 2015-04-13161

Page 171: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurParcourir les fichiers dans un référentiel

Parcourir les fichiers dans un AWS CodeCommitréférentiel

Une fois que vous êtes connecté à un référentiel CodeCommit, vous pouvez le cloner dans un référentiellocal ou utiliser la console CodeCommit pour parcourir son contenu. Cette rubrique décrit comment utiliserla console CodeCommit pour parcourir le contenu d'un référentiel CodeCommit.

Note

Pour les utilisateurs CodeCommit actifs, aucun frais ne s'applique à la navigation dans le code àpartir de la console CodeCommit. Pour obtenir des informations sur les conditions dans lesquellesdes frais supplémentaires peuvent s'appliquer, consultez Tarification.

Parcourir un CodeCommit référentielVous pouvez utiliser la console CodeCommit pour consulter les fichiers contenus dans un référentiel ou lirerapidement le contenu d'un fichier.

Pour parcourir le contenu d'un référentiel

1. Ouvrez la console CodeCommit à l'adresse https://console.aws.amazon.com/codesuite/codecommit/home.

2. Sur la page Référentiels, dans la liste des référentiels, sélectionnez le référentiel que vous souhaitezparcourir.

3. Dans la vue Code, parcourez le contenu de la branche par défaut pour votre référentiel.

Pour modifier la vue afin d'accéder à une autre branche ou balise, cliquez sur le bouton de sélectionde vue. Choisissez un nom de branche ou de balise dans la liste déroulante, ou dans la zone de filtre,saisissez le nom de la branche ou de la balise, puis sélectionnez-le dans la liste.

4. Procédez de l'une des façons suivantes :

• Pour afficher le contenu d'un répertoire, sélectionnez ce dernier dans la liste. Vous pouvez choisirtout répertoire dans la liste de navigation pour revenir à la vue de ce répertoire. Vous pouvezégalement utiliser la flèche vers le haut en haut de la liste de répertoires.

Version de l'API 2015-04-13162

Page 172: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurCréer ou ajouter un fichier

• Pour afficher le contenu d'un fichier, sélectionnez ce dernier dans la liste. Si la taille du fichierdépasse la limite d'objet de validation, celui-ci ne peut pas être affiché dans la console et doitêtre consulté dans un dépôt local à la place. Pour plus d'informations, consultez la sectionQuotas (p. 432). Pour quitter la vue de fichier, dans la barre de navigation du code, sélectionnez lerépertoire que vous souhaitez afficher.

Note

Si vous choisissez un fichier binaire, un message d'avertissement s'affiche, vous demandantde confirmer que vous souhaitez en afficher le contenu. Pour afficher le fichier, choisissezAfficher le contenu du fichier. Si vous ne souhaitez pas afficher le fichier, dans la barre denavigation du code, sélectionnez le répertoire que vous souhaitez afficher.Si vous choisissez un fichier Markdown (.md), utilisez les boutons Markdown affiché et SourceMarkdown pour basculer entre les vues de rendu et de syntaxe.

Créez ou ajoutez un fichier à un AWS CodeCommitréférentiel

Vous pouvez utiliser la console CodeCommit, l'AWS CLI ou un client Git pour ajouter un fichier dans unréférentiel. Vous pouvez charger un fichier à partir de votre ordinateur local dans le référentiel, ou vouspouvez utiliser l'éditeur de code dans la console pour créer le fichier. L'éditeur constitue un moyen simple etrapide d'ajouter un fichier simple, tel qu'un fichier readme.md, dans une branche d'un référentiel.

Rubriques• Créer ou charger un fichier (console) (p. 164)• Ajouter un fichier (AWS CLI) (p. 164)• Ajouter un fichier (Git) (p. 165)

Version de l'API 2015-04-13163

Page 173: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurCréer ou charger un fichier (console)

Créer ou charger un fichier (console)Vous pouvez utiliser la console CodeCommit pour créer un fichier et l'ajouter à une branche dans unréférentiel CodeCommit. Dans le cadre de la création du fichier, vous pouvez fournir votre nom d'utilisateuret une adresse e-mail. Vous pouvez également ajouter un message de validation pour informer les autresutilisateurs sur la personne qui a ajouté le fichier et ses motivations. Vous pouvez également télécharger unfichier directement à partir de votre ordinateur local vers une branche d'un référentiel.

Pour ajouter un fichier dans un référentiel

1. Ouvrez la console CodeCommit à l'adresse https://console.aws.amazon.com/codesuite/codecommit/home.

2. Dans Repositories (Référentiels), choisissez le référentiel dans lequel vous souhaitez ajouter unfichier.

3. Dans la vue Code, choisissez la branche dans laquelle vous souhaitez ajouter le fichier. Par défaut, lecontenu de la branche par défaut s'affiche lorsque vous ouvrez la vue Code.

Pour afficher la vue d'une autre branche, choisissez le bouton de sélection de vue. Choisissez un nomde branche dans la liste déroulante ou, dans la zone de filtre, saisissez le nom de la branche, puissélectionnez-la dans la liste.

4. Choisissez Add file (Ajouter un fichier), puis choisissez l'une des options suivantes :

• Pour utiliser l'éditeur de code pour créer le contenu d'un fichier et l'ajouter dans le référentiel,choisissez Create file (Créer un fichier).

• Pour charger un fichier à partir de votre ordinateur local dans le référentiel, choisissez Upload file(Charger le fichier).

5. Fournissez des informations aux autres utilisateurs sur la personne qui a ajouté ce fichier dans leréférentiel et ses motivations.

• Dans Nom de l'auteur, saisissez votre nom. Ce nom est utilisé à la fois comme nom de l'auteur etnom de l'utilisateur procédant à la soumission dans les informations de validation. CodeCommitutilise par défaut votre nom d'utilisateur IAM ou une dérivation de votre identifiant de connexioncomme nom de l'auteur.

• Dans Adresse e-mail, saisissez une adresse e-mail afin que les autres utilisateurs du référentielpuissent vous contacter au sujet de cette modification.

• Dans Message de validation, saisissez une brève description. Cette étape est facultative, maisvivement recommandée. Dans le cas contraire, un message de validation par défaut est utilisé.

6. Procédez de l'une des façons suivantes :

• Si vous chargez un fichier, choisissez le fichier à partir de votre ordinateur local.• Si vous créez un fichier, saisissez le contenu que vous souhaitez ajouter dans l'éditeur de code et

nommez le fichier.7. Choisissez Valider les modifications.

Ajouter un fichier (AWS CLI)Vous pouvez utiliser l'AWS CLI et la commande put-file pour ajouter un fichier dans un référentielCodeCommit. Vous pouvez également utiliser la commande put-file pour ajouter un répertoire ou unestructure de dossiers pour le fichier.

Note

Pour utiliser les commandes de l'AWS CLI avec CodeCommit, installez l'AWS CLI. Pour de plusamples informations, veuillez consulter Référence des commandes en ligne (p. 437).

Version de l'API 2015-04-13164

Page 174: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAjouter un fichier (Git)

Pour ajouter un fichier dans un référentiel

1. Sur votre ordinateur local, créez le fichier que vous souhaitez ajouter dans le référentiel CodeCommit.2. Depuis le terminal ou la ligne de commande, exécutez la commande put-file, en spécifiant :

• Le référentiel dans lequel vous souhaitez ajouter le fichier.• La branche dans laquelle vous souhaitez ajouter le fichier.• L'ID de validation complet de la validation la plus récente effectuée dans cette branche, également

connue sous le nom de validation de tête.• L'emplacement local du fichier. La syntaxe utilisée pour cet emplacement varie en fonction de votre

système d'exploitation local.• Le nom du fichier que vous souhaitez ajouter, y compris le chemin où le fichier mis à jour est stocké

dans le référentiel, le cas échéant.• Le nom d'utilisateur et l'adresse e-mail que vous voulez associer à ce fichier.• Un message de validation qui explique pourquoi vous avez ajouté ce fichier.

Le nom d'utilisateur, l'adresse e-mail et le message de validation sont facultatifs mais aident les autresutilisateurs à savoir qui a effectué la modification et pourquoi. Si vous ne fournissez pas de nomd'utilisateur, CodeCommit utilise par défaut votre nom d'utilisateur IAM ou une dérivation de votreidentifiant de connexion comme nom de l'auteur.

Par exemple, pour ajouter un fichier nommé ExampleSolution.py vers un référentiel nomméMyDemoRepo vers une branche nommée feature-randomizationfeature dont la validation laplus récente a un ID de 4c925148EXAMPLE:

aws codecommit put-file --repository-name MyDemoRepo --branch-name feature-randomizationfeature --file-content file://MyDirectory/ExampleSolution.py --file-path /solutions/ExampleSolution.py --parent-commit-id 4c925148EXAMPLE --name "María García" --email "maría_garcí[email protected]" --commit-message "I added a third randomization routine."

Note

Lorsque vous ajoutez des fichiers binaires, veillez à utiliser fileb:// pour spécifierl'emplacement local du fichier.

Si elle aboutit, cette commande renvoie une sortie similaire à ce qui suit :

{ "blobId": "2eb4af3bEXAMPLE", "commitId": "317f8570EXAMPLE", "treeId": "347a3408EXAMPLE"}

Ajouter un fichier (Git)Vous pouvez ajouter des fichiers dans un référentiel local et transmettre (push) vos modifications vers unréférentiel CodeCommit. Pour plus d'informations, consultez la section Mise en route avec Git et AWSCodeCommit (p. 74).

Version de l'API 2015-04-13165

Page 175: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurModifier le contenu d’un fichier

Modifier le contenu d’un fichier dans un AWSCodeCommit référentiel

Vous pouvez utiliser la console CodeCommit, l'AWS CLI ou un client Git pour modifier le contenu d'unfichier dans un référentiel CodeCommit.

Rubriques• Modifier un fichier (console) (p. 166)• Edit ou supprimer un fichier (AWS CLI) (p. 167)• Modifier un fichier (Git) (p. 168)

Modifier un fichier (console)Vous pouvez utiliser la console CodeCommit pour modifier un fichier qui a été ajouté à une branche dansun référentiel CodeCommit. Dans le cadre de la modification du fichier, vous pouvez fournir votre nomd'utilisateur et une adresse e-mail. Vous pouvez également ajouter un message de validation pour informerles autres utilisateurs sur la personne qui a effectué la modification et ses motivations.

Pour modifier un fichier dans un référentiel

1. Ouvrez la console CodeCommit à l'adresse https://console.aws.amazon.com/codesuite/codecommit/home.

2. Dans Repositories (Référentiels), choisissez le référentiel dans lequel vous souhaitez modifier unfichier.

3. Dans la vue Code, choisissez la branche dans laquelle vous souhaitez modifier le fichier. Par défaut, lecontenu de la branche par défaut s'affiche lorsque vous ouvrez la vue Code.

Version de l'API 2015-04-13166

Page 176: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurEdit ou supprimer un fichier (AWS CLI)

Pour afficher la vue d'une autre branche, choisissez le bouton de sélection de vue. Choisissez un nomde branche dans la liste déroulante ou, dans la zone de filtre, saisissez le nom de la branche, puissélectionnez-la dans la liste.

4. Parcourez le contenu de la branche et choisissez le fichier que vous souhaitez modifier. Dans la vuede fichier, choisissez Modifier.

Note

Si vous choisissez un fichier binaire, un message d'avertissement s'affiche vous demandantde confirmer que vous souhaitez en afficher le contenu. Vous ne devez pas utiliser la consoleCodeCommit pour modifier des fichiers binaires.

5. Modifiez le fichier et fournissez des informations aux autres utilisateurs sur la personne qui a effectuécette modification et ses motivations.

• Dans Nom de l'auteur, saisissez votre nom. Ce nom est utilisé à la fois comme nom de l'auteur etnom de l'utilisateur procédant à la soumission dans les informations de validation. CodeCommitutilise par défaut votre nom d'utilisateur IAM ou une dérivation de votre identifiant de connexioncomme nom de l'auteur.

• Dans Adresse e-mail, saisissez une adresse e-mail afin que les autres utilisateurs du référentielpuissent vous contacter au sujet de cette modification.

• Dans Message de validation, saisissez une brève description des modifications que vous avezapportées.

6. Choisissez Valider les modifications pour enregistrer vos modifications dans le fichier et valider lesmodifications dans le référentiel.

Edit ou supprimer un fichier (AWS CLI)Vous pouvez utiliser l'AWS CLI et la commande put-file pour apporter des modifications à un fichier dansun référentiel CodeCommit. Vous pouvez également utiliser la commande put-file pour ajouter un répertoireou une structure de dossiers pour le fichier modifié, si vous souhaitez stocker le fichier modifié dans unemplacement différent de l'original. Si vous souhaitez supprimer entièrement un fichier, vous pouvez utiliserla commande delete-file.

Note

Pour utiliser les commandes de l'AWS CLI avec CodeCommit, installez l'AWS CLI. Pour de plusamples informations, veuillez consulter Référence des commandes en ligne (p. 437).

Pour modifier un fichier dans un référentiel

1. À l'aide d'une copie locale du fichier, apportez les modifications que vous souhaitez ajouter auréférentiel CodeCommit.

2. Depuis le terminal ou la ligne de commande, exécutez la commande put-file, en spécifiant :

• Le référentiel dans lequel vous souhaitez ajouter le fichier modifié.• La branche dans laquelle vous souhaitez ajouter le fichier modifié.• L'ID de validation complet de la validation la plus récente effectuée dans cette branche, également

connue sous le nom de validation de tête.• L'emplacement local du fichier.• Le nom du fichier mis à jour que vous souhaitez ajouter, y compris le chemin où le fichier mis à jour

est stocké dans le référentiel, le cas échéant.• Le nom d'utilisateur et l'adresse e-mail que vous voulez associer à cette modification de fichier.• Un message de validation qui explique la modification que vous avez effectuée.

Version de l'API 2015-04-13167

Page 177: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurModifier un fichier (Git)

Le nom d'utilisateur, l'adresse e-mail et le message de validation sont facultatifs mais aident les autresutilisateurs à savoir qui a effectué la modification et pourquoi. Si vous ne fournissez pas de nomd'utilisateur, CodeCommit utilise par défaut votre nom d'utilisateur IAM ou une dérivation de votreidentifiant de connexion.

Par exemple, pour ajouter des modifications apportées à un fichier nommé ExampleSolution.pyvers un référentiel nommé MyDemoRepo vers une branche nommée feature-randomizationfeature dont la validation la plus récente a un ID de 4c925148EXAMPLE:

aws codecommit put-file --repository-name MyDemoRepo --branch-name feature-randomizationfeature --file-content file://MyDirectory/ExampleSolution.py --file-path /solutions/ExampleSolution.py --parent-commit-id 4c925148EXAMPLE --name "María García" --email "maría_garcí[email protected]" --commit-message "I fixed the bug Mary found."

Note

Si vous souhaitez ajouter un fichier binaire modifié, veillez à utiliser --file-content avecla notation fileb://MyDirectory/MyFile.raw.

Si elle aboutit, cette commande renvoie une sortie similaire à ce qui suit :

{ "blobId": "2eb4af3bEXAMPLE", "commitId": "317f8570EXAMPLE", "treeId": "347a3408EXAMPLE"}

Pour supprimer un fichier, utilisez la commande delete-file. Par exemple, pour supprimer un fichiernommé README.md dans une branche nommée master avec un ID de validation le plus récent dec5709475EXAMPLE dans un référentiel nommé MyDemoRepo:

aws codecommit delete-file --repository-name MyDemoRepo --branch-name master --file-path README.md --parent-commit-id c5709475EXAMPLE

Si elle aboutit, cette commande renvoie une sortie similaire à ce qui suit :

{ "blobId":"559b44fEXAMPLE", "commitId":"353cf655EXAMPLE", "filePath":"README.md", "treeId":"6bc824cEXAMPLE"}

Modifier un fichier (Git)Vous pouvez modifier des fichiers dans un référentiel local et transmettre (push) vos modifications versun référentiel CodeCommit. Pour plus d'informations, consultez la section Mise en route avec Git et AWSCodeCommit (p. 74).

Version de l'API 2015-04-13168

Page 178: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateur

Utilisation des demandes d’extractiondans AWS CodeCommit référentiels

Une demande d'extraction est le principal moyen dont les autres utilisateurs de votre référentiel et vous-même disposez pour vérifier, commenter et fusionner les modifications apportées au code d'une brancheà une autre. Vous pouvez utiliser des demandes d'extraction pour vérifier, de manière collaborative, lesmodifications de code associées aux corrections mineures, ainsi qu'aux ajouts de fonctions majeures ouaux nouvelles versions d'un logiciel. Voici un exemple de flux de travail pour une demande d'extraction :

Annie est une développeuse qui utilise le référentiel MyDemoRepo pour travailler sur une nouvelle fonctionpour une prochaine version d'un produit. Pour garder son travail séparé du code prêt pour la production,elle crée une branche à partir de la branche par défaut et la nomme feature-randomizationfeature.Elle écrit du code, effectue des validations et transmet le nouveau code de fonctionnalité dans cettebranche. Elle veut que d'autres utilisateurs du référentiel vérifient la qualité du code avant de fusionnerses modifications dans la branche par défaut. Pour ce faire, elle crée une demande d'extraction. Cettedemande contient la comparaison entre sa branche de travail et la branche du code dans laquelle elleenvisage de fusionner ses modifications (dans ce cas, la branche par défaut). Elle peut également créerune règle d'approbation qui requiert un nombre spécifique d'utilisateurs pour approuver sa demanded'extraction. Elle peut même spécifier un groupe d'utilisateurs d'approbation. D'autres utilisateurs vérifientson code et ses modifications, puis ajoutent des commentaires et des suggestions. Elle peut mettre à joursa branche de travail plusieurs fois avec les modifications du code en réponse aux commentaires. Sesmodifications sont intégrées dans la demande d'extraction chaque fois qu'elle les transmet à cette branchedans CodeCommit. Elle peut également intégrer les modifications qui ont été apportées dans la branche dedestination prévue pendant que la demande d'extraction est ouverte. De cette manière, les utilisateurs sontassurés de vérifier toutes les modifications proposées dans le contexte. Lorsqu'elle-même ainsi que sesréviseurs sont satisfaits et que les conditions applicables aux règles d'approbation (le cas échéant) sontremplies, elle ou l'un de ses évaluateurs fusionne son code et ferme la demande d'extraction.

Version de l'API 2015-04-13169

Page 179: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateur

Les demandes d'extraction nécessitent deux branches : une branche source qui contient le code quevous voulez faire vérifier et une branche de destination dans laquelle vous fusionnez le code vérifié. Labranche source contient l'APRÈS-validation, qui est la validation qui contient les modifications que voussouhaitez fusionner dans la branche de destination. La brande de destination contient l'AVANT-validation,qui représente l'état du code avant que la branche de la demande d'extraction ne soit fusionnée dans labranche de destination. Le choix de la stratégie de fusion affecte les détails de la façon dont les validationssont fusionnées entre les branches source et de destination dans la console CodeCommit. Pour plusd'informations sur les stratégies de fusion dans CodeCommit, consultez Fusion d’une demande d’extraction(console) (p. 199).

La demande d'extraction affiche les différences entre la pointe de la branche source et la dernièrevalidation sur la branche de destination lorsque la demande d'extraction est créée afin que les utilisateurspuissent vérifier et commenter les modifications. Vous pouvez mettre à jour la demande d'extraction enréponse aux commentaires en validant et en envoyant les modifications apportées à la branche source.

Lorsque votre code a été révisé et que les exigences de la règle d'approbation (le cas échéant) ont étésatisfaites, vous pouvez fermer la demande d'extraction de l'une des manières suivantes :

Version de l'API 2015-04-13170

Page 180: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurCréer une demande d'extraction

• Fusionnez les branches en local et transmettez vos modifications. Cette opération fermeautomatiquement la demande d'extraction.

• Utilisez la console AWS CodeCommit pour fermer la demande d'extraction sans procéder à une fusion,résoudre les conflits dans une fusion ou, en l'absence de conflit, fermer et fusionner les branches enutilisant une des stratégies de fusion disponibles.

• Utilisez l'AWS CLI.

Avant de créer une demande d'extraction :

• Assurez-vous que vous avez validé et transmis les modifications de code que vous voulez faire vérifierdans une branche (la branche source).

• Configurez les notifications pour le référentiel afin de permettre aux autres utilisateurs d'êtreautomatiquement informés de la demande d'extraction et des modifications qui lui sont apportées. (Cetteétape est facultative, mais recommandée).

• Créez et associez des modèles de règles d'approbation à votre référentiel, afin que des règlesd'approbation soient automatiquement créées pour les demandes d'extraction et garantissent laqualité du code. Pour plus d'informations, consultez la section Utilisation des modèles de règlesd'approbation (p. 217).

Les demandes d'extraction sont plus efficaces lorsque vous avez configuré les utilisateurs IAM de votreréférentiel dans votre compte AWS. Il est plus facile d'identifier quel utilisateur a fait quel commentaire.L'autre avantage est que les utilisateurs IAM peuvent utiliser les informations d'identification Git pourl'accès au référentiel. Pour plus d'informations, consultez la section Étape 1 : Configuration initiale pourCodeCommit (p. 10). Vous pouvez utiliser les demandes d'extraction avec d'autres types d'utilisateurs, ycompris les utilisateurs à accès fédéré.

Pour de plus amples informations sur l'utilisation des autres aspects de votre référentiel dansCodeCommit, veuillez consulter Utilisation des référentiels (p. 95), Utilisation des modèles de règlesd'approbation (p. 217), Utilisation des fichiers (p. 161), Utilisation des validations (p. 231), Utilisation debranches (p. 266) et Utilisation des préférences utilisateur (p. 282).

Rubriques• Créer une demande d'extraction (p. 171)• Créer une règle d’approbation pour une demande d’extraction (p. 174)• Afficher les demandes d’extraction dans un AWS CodeCommit référentiel (p. 178)• Réviser une demande d'extraction (p. 182)• Mise à jour d’une demande d'extraction (p. 191)• Modifier ou supprimer une règle d’approbation pour une demande d’extraction (p. 193)• Remplacer les règles d’approbation sur une demande d’extraction (p. 197)• Fusionner une demande d’extraction dans un AWS CodeCommit référentiel (p. 199)• Résoudre les conflits dans une demande d’extraction dans un AWS CodeCommit référentiel (p. 206)• Clôturer une demande d’extraction dans un AWS CodeCommit référentiel (p. 214)

Créer une demande d'extractionLa création de demandes d'extraction permet aux autres utilisateurs de voir et de vérifier vos modificationsde code avant de les fusionner dans une autre branche. Tout d'abord, vous devez créer une branchepour vos modifications de code. C'est ce que l'on appelle la branche source d'une demande d'extraction.Une fois que vous avez validé et envoyé ces modifications dans le référentiel, vous pouvez créer une

Version de l'API 2015-04-13171

Page 181: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurCréer une demande d’extraction (console)

demande d'extraction qui compare le contenu de cette branche (branche source) à la branche danslaquelle vous souhaitez fusionner vos modifications après la fermeture de la demande d'extraction (branchede destination).

Vous pouvez utiliser la console AWS CodeCommit ou l'AWS CLI pour créer les demandes d'extraction pourvotre référentiel.

Rubriques• Créer une demande d’extraction (console) (p. 172)• Créez une demande d’extraction (AWS CLI) (p. 173)

Créer une demande d’extraction (console)Vous pouvez utiliser la console CodeCommit pour créer une demande d'extraction dans un RéférentielCodeCommit. Si votre référentiel est configuré avec des notifications (p. 106), les utilisateurs abonnésreçoivent un e-mail lorsque vous créez une demande d'extraction.

1. Ouvrez la console CodeCommit à l'adresse https://console.aws.amazon.com/codesuite/codecommit/home.

2. Dans Repositories (Référentiels), sélectionnez le nom du référentiel dans lequel vous voulez créer unedemande d'extraction.

3. Dans le volet de navigation, choisissez Pull Requests.

Tip

Vous pouvez également créer des demandes d'extractions depuis Branches et Code.4. Choisissez Create pull request.

5. Dans la section Source de Create pull request, recherchez la branche qui contient les modificationsque vous voulez faire vérifier.

6. Dans Destination, choisissez la branche dans laquelle vous prévoyez de fusionner vos modificationsde code lorsque la demande d'extraction est fermée.

7. Choisissez Comparer. Une comparaison s'exécute sur les deux branches et les différences entre elless'affichent. Une analyse est également effectuée pour déterminer si les deux branches peuvent êtrefusionnées automatiquement lors de la fermeture de la demande d'extraction.

8. Passez en revue les détails de la comparaison et les modifications pour vous assurer que la demanded'extraction contient les modifications et les validations que vous voulez faire vérifier. Si tel n'est pas lecas, ajustez vos choix pour les branches source et de destination, et choisissez Compare à nouveau.

9. Lorsque vous êtes satisfait des résultats de comparaison de la demande d'extraction, dans Titre,saisissez un titre court mais descriptif pour cette révision. Il s'agit du titre qui s'affiche dans la liste desdemandes d'extraction pour le référentiel.

Version de l'API 2015-04-13172

Page 182: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurCréez une demande d’extraction (AWS CLI)

10. (Facultatif) Dans Description, saisissez les détails relatifs à la révision et toutes les autres informationsutiles pour les réviseurs.

11. Sélectionnez Create.

Votre demande d'extraction s'affiche dans la liste des demandes d'extraction du référentiel. Si vousavez configuré les notifications (p. 106), les abonnés à la rubrique Amazon SNS reçoivent un e-mail lesinformant de la nouvelle demande d'extraction.

Créez une demande d’extraction (AWS CLI)Pour utiliser les commandes de l'AWS CLI avec CodeCommit, installez l'AWS CLI. Pour de plus amplesinformations, veuillez consulter Référence des commandes en ligne (p. 437).

Pour utiliser le AWS CLI pour créer une demande d’extraction dans un Référentiel CodeCommit

1. Exécutez la commande create-pull-request en indiquant :

• Le nom de la demande d'extraction (avec l'option --title).• La description de la demande d'extraction (avec l'option --description).• Une liste des cibles pour la commande create-pull-request, y compris :

• Le nom du Référentiel CodeCommit dans lequel la demande d'extraction est créée (avec l'attributrepositoryName).

• Le nom de la branche qui contient les modifications de code que vous voulez faire vérifier,également connue sous le nom de branche source (avec l'attribut sourceReference).

• (Facultatif) Le nom de la branche dans laquelle vous prévoyez de fusionner vos modifications decode, également connue sous le nom de branche de destination, si vous ne souhaitez pas lesfusionner dans la branche par défaut (avec l'attribut destinationReference).

• Un jeton d'idempotence unique généré par le client (avec l'option --client-request-token).

Cet exemple crée une demande d’extraction nommée Pronunciation difficulty analyzeravec une description de Please review these changes by Tuesday qui cible le jane-branchbranche source. La demande d’extraction doit être fusionnée dans la branche par défaut master dansun Référentiel CodeCommit nommé MyDemoRepo:

Version de l'API 2015-04-13173

Page 183: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurCréer une règle d'approbation

aws codecommit create-pull-request --title "Pronunciation difficulty analyzer" --description "Please review these changes by Tuesday" --client-request-token 123Example --targets repositoryName=MyDemoRepo,sourceReference=jane-branch

2. Si elle aboutit, cette commande produit une sortie similaire à ce qui suit :

{ "pullRequest": { "approvalRules": [ { "approvalRuleContent": "{\"Version\": \"2018-11-08\",\"DestinationReferences\": [\"refs/heads/master\"],\"Statements\": [{\"Type\": \"Approvers\",\"NumberOfApprovalsNeeded\": 2,\"ApprovalPoolMembers\": [\"arn:aws:sts::123456789012:assumed-role/CodeCommitReview/*\"]}]}", "approvalRuleId": "dd8b17fe-EXAMPLE", "approvalRuleName": "2-approver-rule-for-master", "creationDate": 1571356106.936, "lastModifiedDate": 571356106.936, "lastModifiedUser": "arn:aws:iam::123456789012:user/Mary_Major", "originApprovalRuleTemplate": { "approvalRuleTemplateId": "dd3d22fe-EXAMPLE", "approvalRuleTemplateName": "2-approver-rule-for-master" }, "ruleContentSha256": "4711b576EXAMPLE" } ], "authorArn": "arn:aws:iam::111111111111:user/Jane_Doe", "description": "Please review these changes by Tuesday", "title": "Pronunciation difficulty analyzer", "pullRequestTargets": [ { "destinationCommit": "5d036259EXAMPLE", "destinationReference": "refs/heads/master", "repositoryName": "MyDemoRepo", "sourceCommit": "317f8570EXAMPLE", "sourceReference": "refs/heads/jane-branch", "mergeMetadata": { "isMerged": false } } ], "lastActivityDate": 1508962823.285, "pullRequestId": "42", "clientRequestToken": "123Example", "pullRequestStatus": "OPEN", "creationDate": 1508962823.285 }}

Créer une règle d’approbation pour une demanded’extraction

La création de règles d'approbation pour vos demandes d'extraction permet d'assurer la qualité de votrecode en exigeant que les utilisateurs approuvent la demande d'extraction pour que le code puisse êtrefusionné dans la branche de destination. Vous pouvez spécifier le nombre d'utilisateurs devant approuverune demande d'extraction. Vous pouvez également spécifier un groupe d'utilisateurs d'approbation pourla règle. Dans ce cas, seules les approbations de ces utilisateurs sont comptabilisées dans le nombred'approbations requises pour la règle.

Version de l'API 2015-04-13174

Page 184: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurCréer une règle d’approbation pourune demande d’extraction (console)

Note

Vous pouvez également créer des modèles de règles d'approbation, ce qui peut vous aider àautomatiser la création de règles d'approbation entre les référentiels. Pour plus d'informations,consultez la section Utilisation des modèles de règles d'approbation (p. 217).

Vous pouvez utiliser la console AWS CodeCommit ou l'AWS CLI pour créer des règles d'approbation pourvotre référentiel.

Rubriques• Créer une règle d’approbation pour une demande d’extraction (console) (p. 175)• Créez une règle d’approbation pour une demande d’extraction (AWS CLI) (p. 177)

Créer une règle d’approbation pour une demanded’extraction (console)Vous pouvez utiliser la console CodeCommit pour créer une règle d'approbation pour une demanded'extraction dans un Référentiel CodeCommit.

1. Ouvrez la console CodeCommit à l'adresse https://console.aws.amazon.com/codesuite/codecommit/home.

2. Dans Repositories (Référentiels), choisissez le nom du référentiel dans lequel vous souhaitez créerune règle d'approbation pour une demande d'extraction.

3. Dans le volet de navigation, choisissez Pull Requests.4. Choisissez la demande d'extraction pour laquelle vous souhaitez créer une règle d'approbation dans

la liste. Vous pouvez uniquement créer des règles d'approbation pour les demandes d'extractionouvertes.

5. Dans la demande d'extraction, choisissez Approvals (Approbations), puis Create approval rule (Créerune règle d'approbation).

6. Dans Rule name (Nom de la règle), donnez un nom descriptif à la règle afin que vous sachiez quel estson rôle. Par exemple, si vous souhaitez que deux personnes approuvent une demande d'extractionpour qu'elle puisse être fusionnée, vous pouvez nommer la règle Require two approvalsbefore merge.

Note

Vous ne pouvez pas modifier le nom d'une règle d'approbation après sa création.

Dans Number of approvals needed (Nombre d'approbations nécessaires), entrez le nombre souhaité.La valeur par défaut est1.

Version de l'API 2015-04-13175

Page 185: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurCréer une règle d’approbation pourune demande d’extraction (console)

7. (Facultatif) Si vous souhaitez que les approbations d'une demande d'extraction proviennent d'ungroupe d'utilisateurs spécifique, dans Approval rule members (Membres de règle d'approbation),choisissez Add (Ajouter). Dans Approver type (Type d'approbateur), choisissez l'une des optionssuivantes :

• IAM nom d’utilisateur ou rôle assumé: Cette option préremplit le AWS ID de compte avec le compteque vous avez utilisé pour vous connecter et nécessite uniquement un nom. Elle peut être utiliséeà la fois pour les utilisateurs IAM et les utilisateurs d'accès fédérés dont le nom correspond au nomfourni. C'est une option très puissante qui offre beaucoup de flexibilité. Par exemple, si vous êtesconnecté avec le compte AWS 123456789012 et que vous choisissez cette option, si vous spécifiezMary_Major, tous les éléments suivants sont comptés comme des approbations provenant de cetutilisateur :• Un utilisateur IAM dans le compte (arn:aws:iam::123456789012:user/Mary_Major)• Un utilisateur fédéré identifié dans IAM comme Mary_Major

(arn:aws:sts::123456789012:federated-user/Mary_Major)

Cette option ne reconnaît pas une session active d'une personne assumantle rôle CodeCommitReview avec le nom de session de rôle Mary_Major(arn:aws:sts::123456789012:assumed-role/CodeCommitReview/Mary_Major),sauf si vous incluez un caractère générique (*Mary_Major). Vous pouvez également spécifierexplicitement le nom du rôle (CodeCommitReview/Mary_Major).

• Entièrement qualifié ARN: Cette option vous permet de spécifier l’Amazon Resource Name (ARN)complet du IAM utilisateur ou rôle. Cette option prend également en charge les rôles assumésutilisés par d'autres services AWS, comme AWS Lambda et AWS CodeBuild. Pour les rôlesassumés, le format de l'ARN doit être arn:aws:sts::AccountID:assumed-role/RoleNamepour les rôles et arn:aws:sts::AccountID:assumed-role/FunctionName pour les fonctions.

Si vous avez choisi IAM user name or assumed role (Nom d'utilisateur IAM ou rôle assumé) commetype d'approbateur, dans Value (Valeur), entrez le nom de l'utilisateur ou du rôle IAM ou l'ARN completde l'utilisateur ou du rôle. Choisissez à nouveau Add (Ajouter) pour ajouter d'autres utilisateurs ourôles, jusqu'à ce que vous ayez ajouté tous les utilisateurs ou rôles dont les approbations comptentdans le nombre d'approbations requises.

Les deux types d'approbateur vous permettent d'utiliser des caractères génériques (*) dans leursvaleurs. Par exemple, si vous choisissez l'option IAM user name or assumed role (Nom d'utilisateur

Version de l'API 2015-04-13176

Page 186: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurCréez une règle d’approbation pour

une demande d’extraction (AWS CLI)

IAM ou rôle assumé) et que vous spécifiez CodeCommitReview/*, tous les utilisateurs qui assumentle rôle CodeCommitReview sont comptés dans le groupe d'approbation. Leurs noms de session derôle individuels sont pris en compte dans le nombre requis d'approbateurs. De cette façon, Mary_Majoret Li_Juan sont comptés comme des approbations lorsqu’ils sont connectés et assument le rôle deCodeCommitReview. Pour plus d’informations sur IAM ARNs, caractères génériques et formats, voirIAM Identificateurs.

Note

Les règles d'approbation ne prennent pas en charge les approbations entre comptes.8. Lorsque vous avez terminé de configurer la règle d'approbation, choisissez Submit (Envoyer).

Créez une règle d’approbation pour une demanded’extraction (AWS CLI)Pour utiliser les commandes de l'AWS CLI avec CodeCommit, installez l'AWS CLI. Pour de plus amplesinformations, veuillez consulter Référence des commandes en ligne (p. 437).

Pour créer une règle d'approbation pour une demande d'extraction dans un RéférentielCodeCommit

1. Exécutez la commande create-pull-request-approval-rule en indiquant :

• L'ID de la demande d'extraction (avec l'option --id).• Le nom de la règle d'approbation (avec l'option --approval-rule-name).• Le contenu de la règle d'approbation (avec l'option --approval-rule-content).

Lorsque vous créez la règle d'approbation, vous pouvez spécifier des approbateurs dans un grouped'approbation de l'une des deux manières suivantes :

• CodeCommitApprovers: Cette option ne nécessite qu’un AWS et une ressource. Elle peut êtreutilisée à la fois pour les utilisateurs IAM et les utilisateurs d'accès fédérés dont le nom correspondau nom de ressource fourni. C'est une option très puissante qui offre beaucoup de flexibilité. Parexemple, si vous spécifiez le compte AWS 123456789012 et Mary_Major, tous les élémentssuivants sont comptés comme approbations provenant de cet utilisateur :• Un utilisateur IAM dans le compte (arn:aws:iam::123456789012:user/Mary_Major)• Un utilisateur fédéré identifié dans IAM comme Mary_Major

(arn:aws:sts::123456789012:federated-user/Mary_Major)

Cette option ne reconnaît pas une session active d'une personne assumantle rôle CodeCommitReview avec le nom de session de rôle Mary_Major(arn:aws:sts::123456789012:assumed-role/CodeCommitReview/Mary_Major), sauf sivous incluez un caractère générique (*Mary_Major).

• Entièrement qualifié ARN: Cette option vous permet de spécifier l’Amazon Resource Name (ARN)complet du IAM utilisateur ou rôle.

Pour plus d’informations sur IAM ARNs, caractères génériques et formats, voir IAM Identificateurs.

L’exemple suivant crée une règle d’approbation nommée Require two approved approverspour une demande d’extraction avec l’ID de 27. La règle spécifie que deux approbations sont requisesà partir d’un pool d’approbations. Le groupe inclut tous les utilisateurs qui accèdent à CodeCommit etassument le rôle CodeCommitReview dans le compte 123456789012 AWS. Il comprend égalementun IAM utilisateur ou utilisateur fédéré nommé Nikhil_Jayashankar dans le même AWS compte :

Version de l'API 2015-04-13177

Page 187: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAfficher des demandes d'extraction

aws codecommit create-pull-request-approval-rule --pull-request-id 27 --approval-rule-name "Require two approved approvers" --approval-rule-content "{\"Version\": \"2018-11-08\",\"Statements\": [{\"Type\": \"Approvers\",\"NumberOfApprovalsNeeded\": 2,\"ApprovalPoolMembers\": [\"CodeCommitApprovers:123456789012:Nikhil_Jayashankar\", \"arn:aws:sts::123456789012:assumed-role/CodeCommitReview/*\"]}]}"

2. Si elle aboutit, cette commande produit une sortie similaire à ce qui suit :

{ "approvalRule": { "approvalRuleName": "Require two approved approvers", "lastModifiedDate": 1570752871.932, "ruleContentSha256": "7c44e6ebEXAMPLE", "creationDate": 1570752871.932, "approvalRuleId": "aac33506-EXAMPLE", "approvalRuleContent": "{\"Version\": \"2018-11-08\",\"Statements\": [{\"Type\": \"Approvers\",\"NumberOfApprovalsNeeded\": 2,\"ApprovalPoolMembers\": [\"CodeCommitApprovers:123456789012:Nikhil_Jayashankar\", \"arn:aws:sts::123456789012:assumed-role/CodeCommitReview/*\"]}]}", "lastModifiedUser": "arn:aws:iam::123456789012:user/Mary_Major" }}

Afficher les demandes d’extraction dans un AWSCodeCommit référentiel

Vous pouvez utiliser la console AWS CodeCommit ou l'AWS CLI pour afficher les demandes d'extractionde votre référentiel. Par défaut, vous voyez uniquement les demandes d'extraction ouvertes mais vouspouvez modifier le filtre pour afficher toutes les demandes d'extraction, uniquement les demandes fermées,uniquement les demandes que vous avez créées, etc.

Rubriques• Afficher les demandes d’extraction (console) (p. 178)• Afficher les demandes d’extraction (AWS CLI) (p. 179)

Afficher les demandes d’extraction (console)Vous pouvez utiliser la console AWS CodeCommit pour afficher une liste des demandes d'extraction dansun Référentiel CodeCommit. En changeant le filtre, vous pouvez modifier la liste pour n'afficher qu'uncertain type de demandes d'extraction. Par exemple, vous pouvez choisir d'afficher une liste des demandesd'extraction que vous avez créées et dont le statut indique Open. Vous pouvez également choisir un autrefiltre et consulter les demandes d'extraction que vous avez créées et dont le statut indique Closed.

1. Ouvrez la console CodeCommit à l'adresse https://console.aws.amazon.com/codesuite/codecommit/home.

2. Dans Repositories (Référentiels), sélectionnez le nom du référentiel dans lequel vous voulez afficherles demandes d'extraction.

3. Dans le volet de navigation, choisissez Pull Requests.4. Par défaut, une liste de toutes les demandes d'extraction ouvertes s'affiche.

Version de l'API 2015-04-13178

Page 188: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAfficher les demandes d’extraction (AWS CLI)

5. Pour modifier le filtre d'affichage, choisissez-le dans la liste des filtres disponibles :

• Demandes d’extraction ouvertes (par défaut) : Affiche toutes les demandes d’extraction ayant l’étatOuvert.

• Toutes les demandes d’extraction: Affiche toutes les demandes d’extraction.• Demandes d’extraction fermées: Affiche toutes les demandes d’extraction ayant l’état Fermé.• Mes demandes d’extraction: Affiche toutes les demandes d’extraction que vous avez créées, quel

que soit le statut. Elle n'affiche pas les vérifications que vous avez commentées ou auxquels vousavez participé d'une quelconque manière.

• Mes demandes d’extraction ouvertes: Affiche toutes les demandes d’extraction que vous avezcréées avec le statut Ouvert.

• Mes demandes d’extraction fermées: Affiche toutes les demandes d’extraction que vous avez crééesavec le statut Fermé.

6. Lorsque vous trouvez dans la liste une demande d'extraction que vous souhaitez afficher, choisissez-la.

Afficher les demandes d’extraction (AWS CLI)Pour utiliser les commandes de l'AWS CLI avec CodeCommit, installez l'AWS CLI. Pour de plus amplesinformations, veuillez consulter Référence des commandes en ligne (p. 437).

Pour utiliser l'AWS CLI afin d'afficher les demandes d'extraction dans un Référentiel CodeCommit,procédez comme suit.

1. Pour afficher une liste des demandes d’extraction dans un référentiel, exécutez l’ list-pull-requestscommande, spécification :

• Le nom du Référentiel CodeCommit dont vous souhaitez afficher les demandes d'extraction (avecl'option --repository-name).

• (Facultatif) Le statut de la demande d'extraction (avec l'option --pull-request-status).• (Facultatif) L'Amazon Resource Name (ARN) de l'utilisateur IAM qui a créé la demande d'extraction

(avec l'option --author-arn).• (Facultatif) Un jeton d'énumération qui peut être utilisé pour renvoyer des lots de résultats (avec

l'option --next-token).• (Facultatif) Une limite du nombre de résultats renvoyés par demande (avec l'option --max-results).

Par exemple, pour répertorier les demandes d’extraction créées par un IAM utilisateur avec l’ARNarn:aws:iam::111111111111:user/Li_Juan et le statut de CLOSED dans un RéférentielCodeCommit nommé MyDemoRepo:

Version de l'API 2015-04-13179

Page 189: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAfficher les demandes d’extraction (AWS CLI)

aws codecommit list-pull-requests --author-arn arn:aws:iam::111111111111:user/Li_Juan --pull-request-status CLOSED --repository-name MyDemoRepo

Si elle aboutit, cette commande produit une sortie similaire à ce qui suit :

{ "nextToken": "", "pullRequestIds": ["2","12","16","22","23","35","30","39","47"]}

Demande d’extraction IDs sont affichés dans l’ordre de l’activité la plus récente.2. Pour afficher les détails d’une demande d’extraction, exécutez le get-pull-request avec la commande

--pull-request-id , en spécifiant l’ID de la demande d’extraction. Par exemple, pour afficher desinformations sur une demande d’extraction avec l’ID 27:

aws codecommit get-pull-request --pull-request-id 27

Si elle aboutit, cette commande produit une sortie similaire à ce qui suit :

{ "pullRequest": { "approvalRules": [ { "approvalRuleContent": "{\"Version\": \"2018-11-08\",\"Statements\": [{\"Type\": \"Approvers\",\"NumberOfApprovalsNeeded\": 2,\"ApprovalPoolMembers\": [\"arn:aws:sts::123456789012:assumed-role/CodeCommitReview/*\"]}]}", "approvalRuleId": "dd8b17fe-EXAMPLE", "approvalRuleName": "2-approver-rule-for-master", "creationDate": 1571356106.936, "lastModifiedDate": 571356106.936, "lastModifiedUser": "arn:aws:iam::123456789012:user/Mary_Major", "ruleContentSha256": "4711b576EXAMPLE" } ], "lastActivityDate": 1562619583.565, "pullRequestTargets": [ { "sourceCommit": "ca45e279EXAMPLE", "sourceReference": "refs/heads/bugfix-1234", "mergeBase": "a99f5ddbEXAMPLE", "destinationReference": "refs/heads/master", "mergeMetadata": { "isMerged": false }, "destinationCommit": "2abfc6beEXAMPLE", "repositoryName": "MyDemoRepo" } ], "revisionId": "e47def21EXAMPLE", "title": "Quick fix for bug 1234", "authorArn": "arn:aws:iam::123456789012:user/Nikhil_Jayashankar", "clientRequestToken": "d8d7612e-EXAMPLE", "creationDate": 1562619583.565, "pullRequestId": "27", "pullRequestStatus": "OPEN" }}

3.

Version de l'API 2015-04-13180

Page 190: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAfficher les demandes d’extraction (AWS CLI)

Pour afficher les approbations sur une demande d'extraction, exécutez la commande get-pull-request-approval-state, en spécifiant :

• L'ID de la demande d'extraction (avec l'option --pull-request-id).• ID de révision de la demande d’extraction (à l’aide de l’ --revision-id option). Vous pouvez obtenir l’ID

de révision actuel pour une demande d’extraction à l’aide de l’ demande-obtenir-tirer (p. 180).

Par exemple, pour afficher les approbations sur une demande d’extraction avec l’ID 8 et un ID derévision de 9f29d167EXAMPLE:

aws codecommit get-pull-request-approval-state --pull-request-id 8 --revision-id 9f29d167EXAMPLE

Si elle aboutit, cette commande produit une sortie similaire à ce qui suit :

{ "approvals": [ { "userArn": "arn:aws:iam::123456789012:user/Mary_Major", "approvalState": "APPROVE" } ]}

4. Pour afficher les événements d’une demande d’extraction, exécutez l’ describe-pull-request-eventsavec la commande --pull-request-id , en spécifiant l’ID de la demande d’extraction. Par exemple, pourafficher les événements d’une demande d’extraction avec l’ID 8:

aws codecommit describe-pull-request-events --pull-request-id 8

Si elle aboutit, cette commande produit une sortie similaire à ce qui suit :

{ "pullRequestEvents": [ { "pullRequestId": "8", "pullRequestEventType": "PULL_REQUEST_CREATED", "eventDate": 1510341779.53, "actor": "arn:aws:iam::111111111111:user/Zhang_Wei" }, { "pullRequestStatusChangedEventMetadata": { "pullRequestStatus": "CLOSED" }, "pullRequestId": "8", "pullRequestEventType": "PULL_REQUEST_STATUS_CHANGED", "eventDate": 1510341930.72, "actor": "arn:aws:iam::111111111111:user/Jane_Doe" } ]}

5. Pour voir s’il existe des conflits de fusion pour une demande d’extraction, exécutez le get-merge-conflicts commande, spécification :

• Nom du Référentiel CodeCommit (avec l'option --repository-name).

Version de l'API 2015-04-13181

Page 191: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurRéviser une demande d'extraction

• La branche, la balise, HEAD ou toute autre référence complète pour la source des modifications àutiliser dans la l'évaluation de la fusion (avec l'option --source-commit-specifier).

• La branche, la balise, HEAD ou toute autre référence complète pour la destination des modificationsà utiliser dans la l'évaluation de la fusion (avec l'option --destination-commit-specifier).

• L'option de fusion à utiliser (avec l'option --merge-option).

Par exemple, pour voir s’il existe des conflits de fusion entre l’extrémité d’une branche source nomméemy-feature-branch et une branche de destination nommée master dans un référentiel nomméMyDemoRepo:

aws codecommit get-merge-conflicts --repository-name MyDemoRepo --source-commit-specifier my-feature-branch --destination-commit-specifier master --merge-option FAST_FORWARD_MERGE

Si elle aboutit, cette commande renvoie une sortie similaire à ce qui suit :

{ "destinationCommitId": "fac04518EXAMPLE", "mergeable": false, "sourceCommitId": "16d097f03EXAMPLE"}

Réviser une demande d'extractionVous pouvez utiliser la console AWS CodeCommit pour réviser les modifications incluses dans unedemande d'extraction. Vous pouvez ajouter des commentaires à la demande, aux fichiers et à des lignesde code spécifiques. Vous pouvez également répondre aux commentaires écrits par d'autres personnes.Si votre référentiel est configuré avec des notifications (p. 106), vous recevez des e-mails lorsque lesutilisateurs répondent à vos commentaires ou lorsqu'ils commentent une demande d'extraction.

Vous pouvez utiliser l'AWS CLI pour commenter une demande d'extraction et répondre aux commentaires.Pour consulter les modifications, vous devez utiliser la console CodeCommit, la commande git diff ou unoutil de comparaison.

Rubriques• Vérification d’une demande d’extraction (console) (p. 182)• Examiner les demandes d’extraction (AWS CLI) (p. 187)

Vérification d’une demande d’extraction (console)Vous pouvez utiliser la console CodeCommit pour vérifier une demande d'extraction dans un RéférentielCodeCommit.

1. Ouvrez la console CodeCommit à l'adresse https://console.aws.amazon.com/codesuite/codecommit/home.

2. Dans Repositories (Référentiels), sélectionnez le nom du référentiel.3. Dans le volet de navigation, choisissez Demandes d'extraction.4. Par défaut, une liste de toutes les demandes d'extraction ouvertes s'affiche. Choisissez la demande

d'extraction ouverte que vous souhaitez vérifier.

Version de l'API 2015-04-13182

Page 192: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurVérification d’une demande d’extraction (console)

Note

Vous pouvez commenter une demande d'extraction fermée ou fusionnée, mais vous nepouvez pas la fusionner ou la rouvrir.

5. Dans la demande d'extraction, choisissez Modifications.6. Procédez de l'une des façons suivantes :

• Pour ajouter un commentaire général à la totalité d'une demande d'extraction, dans Comments onchanges (Commentaires sur les modifications), choisissez New comment (Nouveau commentaire),saisissez un commentaire, puis sélectionnez Save (Enregistrer). Vous pouvez utiliser Markdown ousaisir le commentaire en texte brut.

• Pour ajouter un commentaire à un fichier dans la validation, dans Modifications, recherchez le nom

du fichier. Choisissez l’icône de commentaire qui apparaît à côté du nom du fichier, entrez uncommentaire, puis choisissez Économiser.

Version de l'API 2015-04-13183

Page 193: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurVérification d’une demande d’extraction (console)

• Pour ajouter un commentaire à une ligne modifiée dans la demande d'extraction, dans Modifications,accédez à la ligne pour laquelle vous souhaitez laisser un commentaire. Choisissez l’icône

de commentaire qui apparaît pour cette ligne, entrez un commentaire, puis choisissezÉconomiser.

7. Pour répondre aux commentaires sur une validation, dans Modifications ou Activité, choisissezRépondre. Vous pouvez répondre avec du texte et des emojis.

Version de l'API 2015-04-13184

Page 194: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurVérification d’une demande d’extraction (console)

Vous pouvez afficher les noms des personnes qui ont répondu avec une réponse de réaction emojiparticulière en la choisissant. Pour afficher toutes les réactions et informations sur les emojis qui ontrépondu avec quels emojis, choisissez Voir toutes les réactions. Si vous avez répondu avec un emoji àun commentaire, votre réponse s’affiche dans l’icône du bouton de réaction emoji.

Note

Les nombres de réactions affichés dans la console sont exacts au moment où la page a étéchargée. Pour obtenir les informations les plus récentes sur le nombre de réactions émoji,actualisez la page ou choisissez Voir toutes les réactions.

8. (Facultatif) Pour répondre à une recommandation créée par Amazon CodeGuru Reviewer, notammenten fournissant des commentaires sur la qualité de la recommandation, choisissez Reply (Répondre).Utilisez les boutons de réaction pour fournir des informations générales indiquant si vous approuvezou désapprouvez la recommandation. Utilisez le champ de commentaire pour fournir des détailssupplémentaires sur votre réaction.

Version de l'API 2015-04-13185

Page 195: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurVérification d’une demande d’extraction (console)

Note

Amazon CodeGuru Reviewer est un service de révision de code automatisé qui utilisel'analyse de programme et le Machine Learning pour détecter les problèmes courants etrecommander des correctifs dans votre code Java.

• Vous ne voyez les commentaires Amazon CodeGuru Reviewer que si vous avez associéle référentiel à Amazon CodeGuru Reviewer, si l'analyse est terminée et si le codede la demande d'extraction est du code Java. Pour plus d'informations, consultez lasection Associer ou dissocier un AWS CodeCommit référentiel avec Amazon CodeGuruReviewer (p. 137).

• Amazon CodeGuru Reviewer les commentaires n’apparaissent que dans le Modificationssi les commentaires ont été faits sur la révision la plus récente de la demande d’extraction.Elles apparaissent toujours dans le Activité de l’onglet.

• Alors que vous pouvez répondre avec l’une des réactions emoji disponibles à AmazonCodeGuru Reviewer des recommandations, seules les réactions d’emoji de pouce vers lehaut et de pouce vers le bas sont utilisées pour évaluer l’utilité de la recommandation.

9. Pour approuver les modifications apportées dans une demande d'extraction, choisissez Approve(Approuver).

Note

Vous ne pouvez pas approuver une demande d'extraction que vous avez créée.

Vous pouvez afficher les approbations, les règles d'approbation pour une demande d'extraction et lesrègles d'approbation créées par les modèles de règles d'approbation dans Approvals (Approbations).

Version de l'API 2015-04-13186

Page 196: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurExaminer les demandes d’extraction (AWS CLI)

Si vous décidez finalement de ne pas approuver la demande d'extraction, vous pouvez choisir Revokeapproval (Annuler l'approbation).

Note

Vous ne pouvez approuver ou annuler l'approbation que pour une demande d'extractionouverte. Vous ne pouvez pas approuver ou annuler l'approbation d'une demande d'extractiondont le statut est Merged (Fusionné) ou Closed (Fermé).

Examiner les demandes d’extraction (AWS CLI)Pour utiliser les commandes de l'AWS CLI avec CodeCommit, installez l'AWS CLI. Pour de plus amplesinformations, veuillez consulter Référence des commandes en ligne (p. 437).

Vous pouvez examiner les demandes d’extraction avec les éléments suivants AWS CLI commandes :

• post-comment-for-pull-request (p. 190), pour ajouter un commentaire à une demande d’extraction• get-comments-for-pull-request (p. 189), pour afficher les commentaires laissés sur une demande

d’extraction• update-pull-request-approval-state (p. 190), pour approuver ou révoquer l’approbation d’une demande

d’extraction• post-comment-reply (p. 190)pour répondre à un commentaire dans une demande d’extraction

Vous pouvez également utiliser des emojis avec des commentaires dans une demande d’extraction avecles commandes suivantes :

• Pour répondre à un commentaire avec un emoji, exécutez put-comment-reaction (p. 260).• Pour afficher les réactions emoji à un commentaire, exécutez get-comment-reactions (p. 260).

Version de l'API 2015-04-13187

Page 197: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurExaminer les demandes d’extraction (AWS CLI)

Pour utiliser le AWS CLI pour examiner les demandes d’extraction dans un Référentiel CodeCommit

1. Pour ajouter un commentaire à une demande d’extraction dans un référentiel, exécutez le post-comment-for-pull-request commande, spécification :

• L'ID de la demande d'extraction (avec l'option --pull-request-id).• Le nom du référentiel qui contient la demande d'extraction (avec l'option --repository-name).• L'ID de validation complet de la validation dans la branche de destination dans laquelle la demande

d'extraction est fusionnée (avec l'option --before-commit-id).• L'ID de validation complet de la validation dans la branche source qui correspond à la pointe actuelle

de la branche associée à la demande d'extraction lorsque vous postez le commentaire (avec l'option--after-commit-id).

• Un jeton d'idempotence unique généré par le client (avec l'option --client-request-token).• Le contenu de votre commentaire (avec l'option --content).• Une liste d'informations concernant l'emplacement de ce commentaire, y compris :

• Le nom du fichier en cours de comparaison, y compris son extension et le sous-répertoire, le caséchéant (avec l'attribut filePath).

• Le numéro de ligne de la modification dans un fichier de comparaison (avec l'attribut filePosition).• Une mention indiquant si le commentaire sur la modification se situe « avant » ou « après » dans

la comparaison entre les branches source et de destination (avec l'attribut relativeFileVersion).

Par exemple, utilisez cette commande pour ajouter le commentaire "These don't appear tobe used anywhere. Can we remove them?" sur le passage à la ahs_count.py dans unedemande d’extraction avec l’ID de 47 dans un référentiel nommé MyDemoRepo.

aws codecommit post-comment-for-pull-request --pull-request-id "47" --repository-name MyDemoRepo --before-commit-id 317f8570EXAMPLE --after-commit-id 5d036259EXAMPLE --client-request-token 123Example --content "These don't appear to be used anywhere. Can we remove them?" --location filePath=ahs_count.py,filePosition=367,relativeFileVersion=AFTER

Si elle aboutit, cette commande produit une sortie similaire à ce qui suit.

{ "afterBlobId": "1f330709EXAMPLE", "afterCommitId": "5d036259EXAMPLE", "beforeBlobId": "80906a4cEXAMPLE", "beforeCommitId": "317f8570EXAMPLE", "comment": { "authorArn": "arn:aws:iam::111111111111:user/Saanvi_Sarkar", "clientRequestToken": "123Example", "commentId": "abcd1234EXAMPLEb5678efgh", "content": "These don't appear to be used anywhere. Can we remove them?", "creationDate": 1508369622.123, "deleted": false, "lastModifiedDate": 1508369622.123, "callerReactions": [], "reactionCounts": [] } "location": { "filePath": "ahs_count.py", "filePosition": 367, "relativeFileVersion": "AFTER" }, "repositoryName": "MyDemoRepo", "pullRequestId": "47"

Version de l'API 2015-04-13188

Page 198: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurExaminer les demandes d’extraction (AWS CLI)

}

2. Pour afficher les commentaires d’une demande d’extraction, exécutez le get-comments-for-pull-requestcommande, spécification :

• Nom du Référentiel CodeCommit (avec l'option --repository-name).• L'ID généré par le système pour la demande d'extraction (avec l'option --pull-request-id).• (Facultatif) Un jeton d'énumération pour renvoyer le prochain lot de résultats (avec l'option --next-token).

• (Facultatif) Un entier non négatif pour limiter le nombre de résultats renvoyés (avec l'option --max-results).

Par exemple, utilisez cette commande pour afficher les commentaires concernant une demanded'extraction dont l'ID est 42.

aws codecommit get-comments-for-pull-request --pull-request-id 42

Si elle aboutit, cette commande produit une sortie similaire à ce qui suit.

{ "commentsForPullRequestData": [ { "afterBlobId": "1f330709EXAMPLE", "afterCommitId": "5d036259EXAMPLE", "beforeBlobId": "80906a4cEXAMPLE", "beforeCommitId": "317f8570EXAMPLE", "comments": [ { "authorArn": "arn:aws:iam::111111111111:user/Saanvi_Sarkar", "clientRequestToken": "", "commentId": "abcd1234EXAMPLEb5678efgh", "content": "These don't appear to be used anywhere. Can we remove them?", "creationDate": 1508369622.123, "deleted": false, "lastModifiedDate": 1508369622.123, "callerReactions": [], "reactionCounts": { "THUMBSUP" : 6, "CONFUSED" : 1 } }, { "authorArn": "arn:aws:iam::111111111111:user/Li_Juan", "clientRequestToken": "", "commentId": "442b498bEXAMPLE5756813", "content": "Good catch. I'll remove them.", "creationDate": 1508369829.104, "deleted": false, "lastModifiedDate": 150836912.273, "callerReactions": ["THUMBSUP"] "reactionCounts": { "THUMBSUP" : 14 } } ], "location": { "filePath": "ahs_count.py",

Version de l'API 2015-04-13189

Page 199: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurExaminer les demandes d’extraction (AWS CLI)

"filePosition": 367, "relativeFileVersion": "AFTER" }, "repositoryName": "MyDemoRepo", "pullRequestId": "42" } ], "nextToken": "exampleToken"}

3.Pour approuver ou annuler l'approbation d'une demande d'extraction, exécutez la commande update-pull-request-approval-state en spécifiant :

• L'ID de la demande d'extraction (avec l'option --pull-request-id).• ID de révision de la demande d’extraction (à l’aide de l’ --revision-id option). Vous pouvez obtenir l’ID

de révision actuel pour une demande d’extraction à l’aide de l’ demande-obtenir-tirer (p. 180).• L'état d'approbation que vous souhaitez appliquer (avec l'option --approval-state). Les états

d'approbation valides comprennent APPROVE et REVOKE.

Par exemple, utilisez cette commande pour approuver une demande d’extraction avec l’ID 27 et un IDde révision de 9f29d167EXAMPLE.

aws codecommit update-pull-request-approval-state --pull-request-id 27 --revision-id 9f29d167EXAMPLE --approval-state "APPROVE"

Si elle aboutit, cette commande ne renvoie rien.4. Pour publier une réponse à un commentaire dans une demande d'extraction, exécutez la commande

post-comment-reply, en spécifiant les éléments suivants :

• L'ID, généré par le système, du commentaire auquel vous souhaitez répondre (avec l'option --in-reply-to).

• Un jeton d'idempotence unique généré par le client (avec l'option --client-request-token).• Le contenu de votre réponse (avec l'option--content).

Par exemple, utilisez cette commande pour ajouter la réponse "Good catch. I'll removethem." au commentaire avec l’ID généré par le système de abcd1234EXAMPLEb5678efgh.

aws codecommit post-comment-reply --in-reply-to abcd1234EXAMPLEb5678efgh --content "Good catch. I'll remove them." --client-request-token 123Example

Si elle aboutit, cette commande produit une sortie similaire à ce qui suit.

{ "comment": { "authorArn": "arn:aws:iam::111111111111:user/Li_Juan", "clientRequestToken": "123Example", "commentId": "442b498bEXAMPLE5756813", "content": "Good catch. I'll remove them.", "creationDate": 1508369829.136, "deleted": false, "lastModifiedDate": 150836912.221, "callerReactions": [], "reactionCounts": [] } }

Version de l'API 2015-04-13190

Page 200: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurMise à jour d’une demande d'extraction

Mise à jour d’une demande d'extractionVous pouvez utiliser la console AWS CodeCommit ou l'AWS CLI pour mettre à jour le titre ou la descriptiond'une demande d'extraction. Vous pouvez souhaiter mettre à jour la demande d'extraction pour les raisonssuivantes :

• Le autres utilisateurs ne comprennent pas la description ou le titre d'origine est trompeur.• Vous souhaitez que le titre ou la description reflète les modifications apportées à la branche source d'une

demande d'extraction ouverte.

Mettre à jour une demande d’extraction (console)Vous pouvez utiliser la console CodeCommit pour mettre à jour le titre et la description d'une demanded'extraction dans un Référentiel CodeCommit.

1. Ouvrez la console CodeCommit à l'adresse https://console.aws.amazon.com/codesuite/codecommit/home.

2. Dans Repositories (Référentiels), sélectionnez le nom du référentiel dans lequel vous voulez mettre àjour une demande d'extraction.

3. Dans le volet de navigation, choisissez Demandes d'extraction.4. Par défaut, une liste de toutes les demandes d'extraction ouvertes s'affiche. Choisissez la demande

d'extraction ouverte que vous souhaitez mettre à jour.5. Dans la demande d'extraction, choisissez Details (Détails), puis choisissez Edit details (Modifier les

détails) pour modifier le titre ou la description.

Note

Vous ne pouvez pas mettre à jour le titre ou la description d'une demande d'extraction ferméeou fusionnée.

Mettre à jour les demandes d’extraction (AWS CLI)Pour utiliser les commandes de l'AWS CLI avec CodeCommit, installez l'AWS CLI. Pour de plus amplesinformations, veuillez consulter Référence des commandes en ligne (p. 437).

Vous pourriez également être intéressé par les commandes suivantes :

• update-pull-request-approval-state (p. 190), pour approuver ou annuler l'approbation d'une demanded'extraction.

• create-pull-request-approval-rule (p. 177), pour créer une règle d'approbation pour une demanded'extraction.

• delete-pull-request-approval-rule (p. 196), pour supprimer une règle d'approbation pour une demanded'extraction.

Pour utiliser le AWS CLI pour mettre à jour les demandes d’extraction dans un Référentiel CodeCommit

1. Pour mettre à jour le titre d’une demande d’extraction dans un référentiel, exécutez le update-pull-request-title commande, spécification :

• L'ID de la demande d'extraction (avec l'option --pull-request-id).• Le titre de la demande d'extraction (avec l'option --title).

Version de l'API 2015-04-13191

Page 201: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurMettre à jour les demandes d’extraction (AWS CLI)

Par exemple, pour mettre à jour le titre d’une demande d’extraction avec l’ID 47:

aws codecommit update-pull-request-title --pull-request-id 47 --title "Consolidation of global variables - updated review"

Si elle aboutit, cette commande produit une sortie similaire à ce qui suit :

{ "pullRequest": { "approvalRules": [ { "approvalRuleContent": "{\"Version\": \"2018-11-08\",\"DestinationReferences\": [\"refs/heads/master\"],\"Statements\": [{\"Type\": \"Approvers\",\"NumberOfApprovalsNeeded\": 2,\"ApprovalPoolMembers\": [\"arn:aws:sts::123456789012:assumed-role/CodeCommitReview/*\"]}]}", "approvalRuleId": "dd8b17fe-EXAMPLE", "approvalRuleName": "2-approver-rule-for-master", "creationDate": 1571356106.936, "lastModifiedDate": 571356106.936, "lastModifiedUser": "arn:aws:iam::123456789012:user/Mary_Major", "originApprovalRuleTemplate": { "approvalRuleTemplateId": "dd8b26gr-EXAMPLE", "approvalRuleTemplateName": "2-approver-rule-for-master" }, "ruleContentSha256": "4711b576EXAMPLE" } ], "authorArn": "arn:aws:iam::123456789012:user/Li_Juan", "clientRequestToken": "", "creationDate": 1508530823.12, "description": "Review the latest changes and updates to the global variables. I have updated this request with some changes, including removing some unused variables.", "lastActivityDate": 1508372657.188, "pullRequestId": "47", "pullRequestStatus": "OPEN", "pullRequestTargets": [ { "destinationCommit": "9f31c968EXAMPLE", "destinationReference": "refs/heads/master", "mergeMetadata": { "isMerged": false, }, "repositoryName": "MyDemoRepo", "sourceCommit": "99132ab0EXAMPLE", "sourceReference": "refs/heads/variables-branch" } ], "title": "Consolidation of global variables - updated review" }}

2. Pour mettre à jour la description d’une demande d’extraction, exécutez l’ update-pull-request-description commande, spécification :

• L'ID de la demande d'extraction (avec l'option --pull-request-id).• La description (avec l'option --description).

Par exemple, pour mettre à jour la description d’une demande d’extraction avec l’ID de 47 :

Version de l'API 2015-04-13192

Page 202: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurModifier ou supprimer une règle d'approbation

aws codecommit update-pull-request-description --pull-request-id 47 --description "Updated the pull request to remove unused global variable."

Si elle aboutit, cette commande produit une sortie similaire à ce qui suit :

{ "pullRequest": { "authorArn": "arn:aws:iam::111111111111:user/Li_Juan", "clientRequestToken": "", "creationDate": 1508530823.155, "description": "Updated the pull request to remove unused global variable.", "lastActivityDate": 1508372423.204, "pullRequestId": "47", "pullRequestStatus": "OPEN", "pullRequestTargets": [ { "destinationCommit": "9f31c968EXAMPLE", "destinationReference": "refs/heads/master", "mergeMetadata": { "isMerged": false, }, "repositoryName": "MyDemoRepo", "sourceCommit": "99132ab0EXAMPLE", "sourceReference": "refs/heads/variables-branch" } ], "title": "Consolidation of global variables" }}

Modifier ou supprimer une règle d’approbation pourune demande d’extraction

Lorsqu'il existe une règle d'approbation sur une demande d'extraction, vous ne pouvez pas fusionnercette demande d'extraction tant que ses conditions n'ont pas été satisfaites. Vous pouvez modifier lesrègles d'approbation des demandes d'extraction afin de faciliter la satisfaction de leurs conditions oud'augmenter la rigueur des révisions. Vous pouvez modifier le nombre d'utilisateurs devant approuver unedemande d'extraction. Vous pouvez également ajouter, supprimer ou modifier l'appartenance à un grouped'utilisateurs d'approbation pour la règle. Enfin, si vous ne souhaitez plus utiliser une règle d'approbationpour une demande d'extraction, vous pouvez la supprimer.

Note

Vous pouvez également outrepasser les règles d'approbation d'une demande d'extraction. Pourplus d'informations, consultez la section Remplacer les règles d’approbation sur une demanded’extraction (p. 197).

Vous pouvez utiliser la console AWS CodeCommit ou l'AWS CLI pour modifier et supprimer les règlesd'approbation de votre référentiel.

Rubriques• Modifier ou supprimer une règle d’approbation pour une demande d’extraction (console) (p. 194)• Modifier ou supprimer une règle d’approbation pour une demande d’extraction (AWS CLI) (p. 195)

Version de l'API 2015-04-13193

Page 203: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurModifier ou supprimer une règle d’approbation

pour une demande d’extraction (console)

Modifier ou supprimer une règle d’approbation pourune demande d’extraction (console)Vous pouvez utiliser la console CodeCommit pour modifier ou supprimer une règle d'approbation pour unedemande d'extraction dans un Référentiel CodeCommit.

1. Ouvrez la console CodeCommit à l'adresse https://console.aws.amazon.com/codesuite/codecommit/home.

2. Dans Repositories (Référentiels), choisissez le nom du référentiel dans lequel vous souhaitez modifierou supprimer une règle d'approbation pour une demande d'extraction.

3. Dans le volet de navigation, choisissez Pull Requests.4. Choisissez la demande d'extraction dans laquelle vous souhaitez modifier ou supprimer une règle

d'approbation. Vous pouvez uniquement modifier et supprimer les règles d'approbation des demandesd'extraction ouvertes.

5. Dans la demande d'extraction, choisissez Approvals (Approbations), puis choisissez la règle que voussouhaitez modifier ou supprimer dans la liste. Procédez de l'une des façons suivantes :

• Si vous souhaitez modifier la règle, choisissez Edit (Modifier).• Si vous souhaitez supprimer la règle, choisissez Delete (Supprimer), puis suivez les instructions

pour vérifier la suppression de la règle.6. Dans Edit approval rule (Modifier la règle d'approbation), apportez les modifications souhaitées à la

règle, puis choisissez Submit (Envoyer).

Version de l'API 2015-04-13194

Page 204: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurModifier ou supprimer une règle d’approbation

pour une demande d’extraction (AWS CLI)

7. Lorsque vous avez terminé de configurer la règle d'approbation, choisissez Submit (Envoyer).

Modifier ou supprimer une règle d’approbation pourune demande d’extraction (AWS CLI)Pour utiliser les commandes de l'AWS CLI avec CodeCommit, installez l'AWS CLI. Pour de plus amplesinformations, veuillez consulter Référence des commandes en ligne (p. 437).

Vous pouvez utiliser l'AWS CLI pour modifier le contenu d'une règle d'approbation et pour supprimer unerègle d'approbation.

Note

Vous pourriez également être intéressé par les commandes suivantes :

• update-pull-request-approval-state (p. 190), pour approuver ou annuler l'approbation d'unedemande d'extraction.

• get-pull-request-approval-states (p. 180), pour afficher les approbations pour la demanded'extraction.

• evaluate-pull-request-approval-rules (p. 202), pour déterminer si les règles d'approbationd'une demande d'extraction ont été satisfaites.

Version de l'API 2015-04-13195

Page 205: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurModifier ou supprimer une règle d’approbation

pour une demande d’extraction (AWS CLI)

Pour utiliser le AWS CLI pour modifier ou supprimer une règle d’approbation pour une demanded’extraction dans un Référentiel CodeCommit

1. Pour modifier une règle d'approbation, exécutez la commande update-pull-request-approval-rule-content, en spécifiant :

• L'ID de la demande d'extraction (avec l'option --id).• Le nom de la règle d'approbation (avec l'option --approval-rule-name).• Le contenu de la règle d'approbation (avec l'option --approval-rule-content).

Cet exemple met à jour une règle d’approbation nommée Require two approved approverspour une demande d’extraction avec l’ID de 27. La règle nécessite l’approbation d’un utilisateur à partird’un pool d’approbation qui inclut IAM utilisateur dans le 123456789012 AWS compte :

aws codecommit update-pull-request-approval-rule-content --pull-request-id 27 --approval-rule-name "Require two approved approvers" --approval-rule-content "{Version: 2018-11-08, Statements: [{Type: \"Approvers\", NumberOfApprovalsNeeded: 1, ApprovalPoolMembers:[\"CodeCommitApprovers:123456789012:user/*\"]}]}}"

2. Si elle aboutit, cette commande produit une sortie similaire à ce qui suit :

{ "approvalRule": { "approvalRuleContent": "{Version: 2018-11-08, Statements: [{Type: \"Approvers\", NumberOfApprovalsNeeded: 1, ApprovalPoolMembers:[\"CodeCommitApprovers:123456789012:user/*\"]}]}}", "approvalRuleId": "aac33506-EXAMPLE", "originApprovalRuleTemplate": {}, "creationDate": 1570752871.932, "lastModifiedDate": 1570754058.333, "approvalRuleName": Require two approved approvers", "lastModifiedUser": "arn:aws:iam::123456789012:user/Mary_Major", "ruleContentSha256": "cd93921cEXAMPLE", }}

3.Pour supprimer une règle d'approbation, exécutez la commande delete-pull-request-approval-rule, enspécifiant :

• L'ID de la demande d'extraction (avec l'option --id).• Le nom de la règle d'approbation (avec l'option --approval-rule-name).

Par exemple, pour supprimer une règle d’approbation portant le nom My Approval Rule pour unedemande d’extraction avec l’ID de 15:

aws codecommit delete-pull-request-approval-rule --pull-request-id 15 --approval-rule-name "My Approval Rule"

Si elle aboutit, cette commande renvoie une sortie similaire à ce qui suit :

{ "approvalRuleId": "077d8e8a8-EXAMPLE"}

Version de l'API 2015-04-13196

Page 206: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurRemplacer les règles d’approbation

sur une demande d’extraction

Remplacer les règles d’approbation sur unedemande d’extraction

Dans le cours normal du développement, vous souhaitez que les utilisateurs respectent les conditions desrègles d'approbation avant de fusionner les demandes d'extraction. Cependant, il peut arriver que vousdeviez accélérer la fusion d'une demande d'extraction. Par exemple, il peut arriver que vous souhaitiezmettre un correctif de bogue en production, mais que personne dans le groupe d'approbation ne soitdisponible pour approuver la demande d'extraction. Dans de tels cas, vous pouvez choisir d'outrepasserles règles d'approbation pour une demande d'extraction. Vous pouvez outrepasser toutes les règlesd'approbation d'une demande d'extraction, y compris celles créées spécifiquement pour cette dernièreet générées à partir d'un modèle de règle d'approbation. Vous ne pouvez pas outrepasser de manièresélective une seule règle d'approbation ; vous ne pouvez que toutes les outrepasser. Après avoir mis decôté les exigences de règle d'approbation en outrepassant les règles, vous pouvez fusionner la demanded'extraction vers sa branche de destination.

Lorsque vous outrepassez les règles d'approbation pour une demande d'extraction, les informations surl'utilisateur auteur de cette opération sont enregistrées dans l'activité de la demande d'extraction. Celavous permet de revenir dans l'historique d'une demande d'extraction et de vérifier qui a outrepassé lesrègles. Vous pouvez également choisir d'annuler le contournement des règles si la demande d'extractionest toujours ouverte. Une fois la demande d'extraction fusionnée, vous ne pouvez plus annuler lecontournement.

Rubriques• Remplacer les règles d’approbation (console) (p. 197)• Remplacer les règles d’approbation (AWS CLI) (p. 197)

Remplacer les règles d’approbation (console)Vous pouvez outrepasser les exigences de règles d'approbation pour une demande d'extraction dans laconsole, dans le cadre de l'examen d'une demande d'extraction. Si vous changez d'avis, vous pouvezannuler ce contournement. Les exigences de la règle d'approbation sont alors de nouveau appliquées.Vous ne pouvez outrepasser les règles d'approbation ou annuler leur contournement que si la demanded'extraction est toujours ouverte. Si elle est fusionnée ou fermée, vous ne pouvez pas modifier son état decontournement.

1. Ouvrez la console CodeCommit à l'adresse https://console.aws.amazon.com/codesuite/codecommit/home.

2. Dans Repositories (Référentiels), sélectionnez le nom du référentiel.3. Dans le volet de navigation, choisissez Demandes d'extraction. Choisissez la demande d'extraction

pour laquelle vous souhaitez outrepasser les exigences des règles d'approbation ou annuler leurcontournement.

4. Sous l'onglet Approvals (Approbations), choisissez Override approval rules (Outrepasser les règlesd'approbation). Les exigences sont mises de côté et le texte du bouton devient Revoke override(Annuler le contournement). Pour réappliquer les exigences de la règle d'approbation, choisissezRevoke override (Annuler le contournement).

Remplacer les règles d’approbation (AWS CLI)Vous pouvez utiliser l'AWS CLI pour outrepasser les exigences des règles d'approbation. Vous pouvezégalement l'utiliser pour afficher le statut de contournement d'une demande d'extraction.

Version de l'API 2015-04-13197

Page 207: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurRemplacer les règles d’approbation (AWS CLI)

Pour outrepasser les exigences des règles d'approbation pour une demande d'extraction

1. Depuis le terminal ou la ligne de commande, exécutez la commande override-pull-request-approval-rules, en spécifiant :

• L'ID généré par le système pour la demande d'extraction.• L'ID de révision le plus récent de la demande d'extraction. Pour afficher ces informations, utilisez

get-pull-request.• Le statut que vous souhaitez pour le remplacement, OVERRIDE ou REVOKE. Le REVOKE supprime le

statut OVERRIDE mais n’est pas enregistré.

Par exemple, pour outrepasser les règles d'approbation d'une demande d'extraction ayant l'ID 34 etl'ID de révision 927df8d8EXAMPLE :

aws codecommit override-pull-request-approval-rules --pull-request-id 34 --revision-id 927df8d8dEXAMPLE --override-status OVERRIDE

2. Si elle aboutit, cette commande ne renvoie rien.3. Pour annuler le contournement pour une demande d'extraction ayant l'ID 34 et l'ID de révision

927df8d8EXAMPLE :

aws codecommit override-pull-request-approval-rules --pull-request-id 34 --revision-id 927df8d8dEXAMPLE --override-status REVOKE

Pour obtenir des informations sur le statut de contournement d'une demande d'extraction

1. Depuis le terminal ou la ligne de commande, exécutez la commande get-pull-request-override-state, enspécifiant :

• L'ID généré par le système pour la demande d'extraction.• L'ID de révision le plus récent de la demande d'extraction. Pour afficher ces informations, utilisez

get-pull-request.

Par exemple, pour afficher le statut de contournement d'une demande d'extraction ayant l'ID 34 et l'IDde révision 927df8d8EXAMPLE :

aws codecommit get-pull-request-override-state --pull-request-id 34 --revision-id 927df8d8dEXAMPLE

2. Si elle aboutit, cette commande produit une sortie similaire à ce qui suit :

{ "overridden": true, "overrider": "arn:aws:iam::123456789012:user/Mary_Major"}

Version de l'API 2015-04-13198

Page 208: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurFusionner une demande d'extraction

Fusionner une demande d’extraction dans un AWSCodeCommit référentiel

Une fois que votre code a été révisé et que toutes les règles d'approbation (le cas échéant) de la demanded'extraction ont été satisfaites, vous pouvez fusionner une demande d'extraction de l'une des manièressuivantes :

•Vous pouvez utiliser la console pour fusionner votre branche source dans la branche de destination àl'aide d'une des stratégies de fusion disponibles, ce qui ferme automatiquement la demande d'extraction.Vous pouvez également résoudre les conflits de fusion dans la console. La console affiche un messageindiquant si la demande d'extraction peut être fusionnée ou si des conflits doivent être résolus. Lorsquetous les conflits sont résolus et que vous choisissez Merge (Fusionner), la fusion est effectuée à l'aidede la stratégie de fusion que vous choisissez. La fusion rapide (fast-forward) est la stratégie de fusionpar défaut, qui est l'option par défaut pour Git. En fonction de l'état du code dans les branches sourceet de destination, cette stratégie peut ne pas être disponible, mais d'autres le sont, comme la fusion parécrasement ou la fusion tripartite.

• Vous pouvez utiliser l'AWS CLI pour fusionner et fermer la demande d'extraction à l'aide de la stratégiede fusion rapide (fast-forward), de la stratégie d'écrasement (squash) ou de la stratégie tripartite (3-way).

•Sur votre ordinateur local, vous pouvez utiliser la commande git merge pour fusionner la branche sourcedans la branche de destination, puis transmettre le code fusionné à la branche de destination. Cetteapproche a des inconvénients que vous devez examiner attentivement. Elle fusionne la demanded'extraction, que les exigences relatives aux règles d'approbation de la demande d'extraction aient étésatisfaites ou non, en contournant ces contrôles. La fusion et le transfert de la branche de destinationferme également automatiquement la demande d'extraction si cette dernière est fusionnée à l'aide de lastratégie de fusion rapide. L'un des avantages de cette approche est que la commande git merge vouspermet de choisir des options ou des stratégies de fusion qui ne sont pas disponibles dans la consoleCodeCommit. Pour en savoir plus sur git merge et les options de fusion, consultez git-merge ou votredocumentation Git.

CodeCommit ferme automatiquement une demande d'extraction si la branche source ou de destination dela demande d'extraction est supprimée.

Rubriques• Fusion d’une demande d’extraction (console) (p. 199)• Fusionner une demande d’extraction (AWS CLI) (p. 202)

Fusion d’une demande d’extraction (console)Vous pouvez utiliser la console CodeCommit pour fusionner une demande d'extraction dans un RéférentielCodeCommit. Lorsque le statut d'une demande d'extraction passe à Merged (Fusionnée), celle-ci nes'affiche plus dans la liste des demandes d'extraction ouvertes. Une demande d'extraction fusionnéeest classée comme fermée. Le statut Open (Ouverte) ne peut pas lui être de nouveau affecté, mais lesutilisateurs peuvent continuer à commenter les modifications et à répondre aux commentaires. Aprèsla fusion ou la fermeture d'une demande d'extraction, vous ne pouvez plus l'approuver, annuler sonapprobation ou remplacer les règles d'approbation qui s'appliquent à cette demande.

1. Ouvrez la console CodeCommit à l'adresse https://console.aws.amazon.com/codesuite/codecommit/home.

2. Dans Repositories (Référentiels), sélectionnez le nom du référentiel.3. Dans le volet de navigation, choisissez Demandes d'extraction.

Version de l'API 2015-04-13199

Page 209: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurFusion d’une demande d’extraction (console)

4. Par défaut, une liste de toutes les demandes d'extraction ouvertes s'affiche. Choisissez la demanded'extraction ouverte que vous souhaitez fusionner.

5. Dans la demande d'extraction, choisissez Approvals (Approbations). Examinez la liste desapprobateurs et vérifiez que toutes les règles d'approbation (le cas échéant) ont été satisfaites. Vousne pouvez pas fusionner une demande d'extraction si une ou plusieurs règles d'approbation ont lestatut Rule not satisfied (Règle non satisfaite). Si personne n'a approuvé la demande d'extraction,voyez si vous souhaitez la fusionner ou si vous souhaitez attendre les approbations.

Note

Si une règle d'approbation a été créée pour une demande d'extraction, vous pouvez lamodifier ou la supprimer pour débloquer la fusion. Si la règle d'approbation a été créée avecun modèle de règle d'approbation, vous ne pouvez pas la modifier ou la supprimer. Vouspouvez uniquement choisir de contourner les exigences. Pour plus d'informations, consultezla section Remplacer les règles d’approbation sur une demande d’extraction (p. 197).

6. Choisissez Merge (Fusionner).7. Dans la demande d'extraction, choisissez entre les stratégies de fusion disponibles. Les stratégies de

fusion qui ne peuvent pas être appliquées apparaissent en grisé. Si aucune stratégie de fusion n’estdisponible, vous pouvez choisir de résoudre les conflits manuellement dans la console CodeCommitou de les résoudre localement à l'aide de votre client Git. Pour plus d'informations, consultez la sectionRésoudre les conflits dans une demande d’extraction dans un AWS CodeCommit référentiel (p. 206).

Version de l'API 2015-04-13200

Page 210: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurFusion d’une demande d’extraction (console)

• Un fusion rapide transmet la référence de la branche de destination à la validation la plus récentede la branche source. Il s'agit du comportement par défaut de Git lorsque cela est possible.Aucune validation de fusion n'est créée, mais l'historique de validation à partir de la branchesource est conservé comme s'il s'était déroulé dans la branche de destination. Les fusions rapidesn'apparaissent pas comme une fusion de branche dans la vue du visualiseur de validation del'historique de la branche de destination, car aucune validation de fusion n'est créée. La pointe de labranche source est déplacée rapidement vers la pointe de la branche de destination.

• Une fusion par écrasement crée une validation contenant les modifications dans la branche sourceet applique cette validation par écrasement unique à la branche de destination. Par défaut, lemessage de validation pour cette validation par écrasement contient tous les messages de validationdes modifications apportées à la branche source. Aucun historique de validation individuelle desmodifications de branche n'est conservé. Cela peut vous aider à simplifier votre historique deréférentiel tout en conservant une représentation graphique de la fusion dans la vue de visualisationde la validation de l’historique de la branche de destination.

• Une fusion tripartite crée une validation de fusion pour la fusion dans la branche de destination, maisconserve également les validations individuelles effectuées dans la branche source dans le cadre del'historique de la branche de destination. Cela peut vous aider à conserver un historique complet desmodifications apportées à votre référentiel.

Version de l'API 2015-04-13201

Page 211: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurFusionner une demande d’extraction (AWS CLI)

8. Si vous choisissez la stratégie de fusion par écrasement ou tripartite, vérifiez le message de validationgénéré automatiquement et modifiez-le si vous souhaitez modifier les informations. Ajoutez votre nomet votre adresse e-mail pour l'historique des validations.

9. (Facultatif) Désélectionnez cette option pour supprimer la branche source dans le cadre de la fusion.L'option par défaut consiste à supprimer la branche source lorsqu'une demande d'extraction estfusionnée.

10. Choisissez Merge pull request (Fusionner la demande d'extraction) pour terminer la fusion.

Fusionner une demande d’extraction (AWS CLI)Pour utiliser les commandes de l'AWS CLI avec CodeCommit, installez l'AWS CLI. Pour de plus amplesinformations, veuillez consulter Référence des commandes en ligne (p. 437).

Pour utiliser le AWS CLI pour fusionner les demandes d’extraction dans un Référentiel CodeCommit

1.Pour savoir si toutes ses règles d'approbation d'une demande d'extraction ont été satisfaites et si lademande est prête à être fusionnée, exécutez la commande evaluate-pull-request-approval-rules enspécifiant :

• L'ID de la demande d'extraction (avec l'option --pull-request-id).• ID de révision de la demande d’extraction (à l’aide de l’ --revision-id option). Vous pouvez obtenir l’ID

de révision actuel pour une demande d’extraction à l’aide de l’ get-pull-request (p. 180).

Par exemple, pour évaluer l’état des règles d’approbation sur une demande d’extraction avec l’ID 27 etun ID de révision de 9f29d167EXAMPLE:

aws codecommit evaluate-pull-request-approval-rules --pull-request-id 27 --revision-id 9f29d167EXAMPLE

Si elle aboutit, cette commande produit une sortie similaire à ce qui suit :

{ "evaluation": { "approved": false, "approvalRulesNotSatisfied": [ "Require two approved approvers" ], "overridden": false, "approvalRulesSatisfied": [] }}

Note

Ce résultat indique qu'une demande d'extraction n'est pas fusionnable, car les conditionsd'une règle d'approbation n'ont pas été satisfaites. Pour fusionner cette demande d'extraction,vous pouvez demander aux réviseurs de l'approuver pour qu'elle respecte les conditions dela règle. Selon vos autorisations et la façon dont la règle a été créée, vous pouvez égalementmodifier, contourner ou supprimer la règle. Pour plus d'informations, consultez Réviser unedemande d'extraction (p. 182), Remplacer les règles d’approbation sur une demanded’extraction (p. 197) et Modifier ou supprimer une règle d’approbation pour une demanded’extraction (p. 193).

2. Pour fusionner et fermer une demande d’extraction à l’aide de la stratégie de fusion rapide, exécutez lemerge-pull-request-by-fast-forward commande, spécification :

Version de l'API 2015-04-13202

Page 212: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurFusionner une demande d’extraction (AWS CLI)

• L'ID de la demande d'extraction (avec l'option --pull-request-id).• L'ID de validation complet de la pointe de la branche source (avec l'option--source-commit-id).• Le nom du référentiel (avec l'option --repository-name).

Par exemple, pour fusionner et fermer une demande d’extraction avec l’ID de 47 et un ID de validationsource de 99132ab0EXAMPLE dans un référentiel nommé MyDemoRepo:

aws codecommit merge-pull-request-by-fast-forward --pull-request-id 47 --source-commit-id 99132ab0EXAMPLE --repository-name MyDemoRepo

Si elle aboutit, cette commande produit une sortie similaire à ce qui suit :

{ "pullRequest": { "approvalRules": [ { "approvalRuleContent": "{\"Version\": \"2018-11-08\",\"Statements\": [{\"Type\": \"Approvers\",\"NumberOfApprovalsNeeded\": 1,\"ApprovalPoolMembers\": [\"arn:aws:sts::123456789012:assumed-role/CodeCommitReview/*\"]}]}", "approvalRuleId": "dd8b17fe-EXAMPLE", "approvalRuleName": "I want one approver for this pull request", "creationDate": 1571356106.936, "lastModifiedDate": 571356106.936, "lastModifiedUser": "arn:aws:iam::123456789012:user/Mary_Major", "ruleContentSha256": "4711b576EXAMPLE" } ], "authorArn": "arn:aws:iam::123456789012:user/Li_Juan", "clientRequestToken": "", "creationDate": 1508530823.142, "description": "Review the latest changes and updates to the global variables", "lastActivityDate": 1508887223.155, "pullRequestId": "47", "pullRequestStatus": "CLOSED", "pullRequestTargets": [ { "destinationCommit": "9f31c968EXAMPLE", "destinationReference": "refs/heads/master", "mergeMetadata": { "isMerged": true, "mergedBy": "arn:aws:iam::123456789012:user/Mary_Major" }, "repositoryName": "MyDemoRepo", "sourceCommit": "99132ab0EXAMPLE", "sourceReference": "refs/heads/variables-branch" } ], "title": "Consolidation of global variables" }}

3. Pour fusionner et fermer une demande d’extraction à l’aide de la stratégie de fusion de l’écrasement,exécutez le merge-pull-request-by-squash commande, spécification :

• L'ID de la demande d'extraction (avec l'option --pull-request-id).• L'ID de validation complet de la pointe de la branche source (avec l'option--source-commit-id).• Le nom du référentiel (avec l'option --repository-name).• Le niveau de détails de conflit que vous souhaitez utiliser (avec l'option --conflict-detail-level). Si

vous ne spécifiez rien, la valeur par défaut FILE_LEVEL est utilisée.

Version de l'API 2015-04-13203

Page 213: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurFusionner une demande d’extraction (AWS CLI)

• La stratégie de résolution des conflits que vous souhaitez utiliser (avec l'option --conflict-resolution-strategy). Si vous ne spécifiez rien, la valeur par défaut NONE est utilisée et les conflits doivent êtrerésolus manuellement.

• Le message de validation à inclure (avec l'option --commit-message).• Le nom à utiliser pour la validation (avec l'option --name).• L'adresse e-mail à utiliser pour la validation (avec l'option --email).• Si les dossiers vides doivent être conservés (avec l'option --keep-empty-folders).

L’exemple suivant fusionne et ferme une demande d’extraction avec l’ID de 47 et un ID de validationsource de 99132ab0EXAMPLE dans un référentiel nommé MyDemoRepo. Il utilise le détail du conflit deLINE_LEVEL et la stratégie de résolution des conflits de ACCEPT_SOURCE:

aws codecommit merge-pull-request-by-squash --pull-request-id 47 --source-commit-id 99132ab0EXAMPLE --repository-name MyDemoRepo --conflict-detail-level LINE_LEVEL --conflict-resolution-strategy ACCEPT_SOURCE --name "Jorge Souza" --email "[email protected]" --commit-message "Merging pull request 47 by squash and accepting source in merge conflicts"

Si elle aboutit, cette commande produit le même type de sortie qu’une fusion rapide, semblable à cequi suit :

{ "pullRequest": { "approvalRules": [ { "approvalRuleContent": "{\"Version\": \"2018-11-08\",\"DestinationReferences\": [\"refs/heads/master\"],\"Statements\": [{\"Type\": \"Approvers\",\"NumberOfApprovalsNeeded\": 2,\"ApprovalPoolMembers\": [\"arn:aws:sts::123456789012:assumed-role/CodeCommitReview/*\"]}]}", "approvalRuleId": "dd8b17fe-EXAMPLE", "approvalRuleName": "2-approver-rule-for-master", "creationDate": 1571356106.936, "lastModifiedDate": 571356106.936, "lastModifiedUser": "arn:aws:iam::123456789012:user/Mary_Major", "originApprovalRuleTemplate": { "approvalRuleTemplateId": "dd8b17fe-EXAMPLE", "approvalRuleTemplateName": "2-approver-rule-for-master" }, "ruleContentSha256": "4711b576EXAMPLE" } ], "authorArn": "arn:aws:iam::123456789012:user/Li_Juan", "clientRequestToken": "", "creationDate": 1508530823.142, "description": "Review the latest changes and updates to the global variables", "lastActivityDate": 1508887223.155, "pullRequestId": "47", "pullRequestStatus": "CLOSED", "pullRequestTargets": [ { "destinationCommit": "9f31c968EXAMPLE", "destinationReference": "refs/heads/master", "mergeMetadata": { "isMerged": true, "mergedBy": "arn:aws:iam::123456789012:user/Mary_Major" }, "repositoryName": "MyDemoRepo", "sourceCommit": "99132ab0EXAMPLE", "sourceReference": "refs/heads/variables-branch" }

Version de l'API 2015-04-13204

Page 214: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurFusionner une demande d’extraction (AWS CLI)

], "title": "Consolidation of global variables" }}

4. Pour fusionner et fermer une demande d’extraction à l’aide de la stratégie de fusion à trois voies,exécutez le merge-pull-request-by-three-way commande, spécification :

• L'ID de la demande d'extraction (avec l'option --pull-request-id).• L'ID de validation complet de la pointe de la branche source (avec l'option--source-commit-id).• Le nom du référentiel (avec l'option --repository-name).• Le niveau de détails de conflit que vous souhaitez utiliser (avec l'option --conflict-detail-level). Si

vous ne spécifiez rien, la valeur par défaut FILE_LEVEL est utilisée.• La stratégie de résolution des conflits que vous souhaitez utiliser (avec l'option --conflict-resolution-

strategy). Si vous ne spécifiez rien, la valeur par défaut NONE est utilisée et les conflits doivent êtrerésolus manuellement.

• Le message de validation à inclure (avec l'option --commit-message).• Le nom à utiliser pour la validation (avec l'option --name).• L'adresse e-mail à utiliser pour la validation (avec l'option --email).• Si les dossiers vides doivent être conservés (avec l'option --keep-empty-folders).

L’exemple suivant fusionne et ferme une demande d’extraction avec l’ID de 47 et un ID de validationsource de 99132ab0EXAMPLE dans un référentiel nommé MyDemoRepo. Il utilise les options pardéfaut pour les détails des conflits et la stratégie de résolution des conflits :

aws codecommit merge-pull-request-by-fast-forward --pull-request-id 47 --source-commit-id 99132ab0EXAMPLE --repository-name MyDemoRepo --name "Maria Garcia" --email "[email protected]" --commit-message "Merging pull request 47 by three-way with default options"

Si elle aboutit, cette commande produit le même type de sortie qu’une fusion rapide, similaire à ce quisuit :

{ "pullRequest": { "approvalRules": [ { "approvalRuleContent": "{\"Version\": \"2018-11-08\",\"DestinationReferences\": [\"refs/heads/master\"],\"Statements\": [{\"Type\": \"Approvers\",\"NumberOfApprovalsNeeded\": 2,\"ApprovalPoolMembers\": [\"arn:aws:sts::123456789012:assumed-role/CodeCommitReview/*\"]}]}", "approvalRuleId": "dd8b17fe-EXAMPLE", "approvalRuleName": "2-approver-rule-for-master", "creationDate": 1571356106.936, "lastModifiedDate": 571356106.936, "lastModifiedUser": "arn:aws:iam::123456789012:user/Mary_Major", "originApprovalRuleTemplate": { "approvalRuleTemplateId": "dd8b17fe-EXAMPLE", "approvalRuleTemplateName": "2-approver-rule-for-master" }, "ruleContentSha256": "4711b576EXAMPLE" } ], "authorArn": "arn:aws:iam::123456789012:user/Li_Juan", "clientRequestToken": "", "creationDate": 1508530823.142, "description": "Review the latest changes and updates to the global variables", "lastActivityDate": 1508887223.155,

Version de l'API 2015-04-13205

Page 215: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurRésoudre les conflits dans une demande d’extraction

"pullRequestId": "47", "pullRequestStatus": "CLOSED", "pullRequestTargets": [ { "destinationCommit": "9f31c968EXAMPLE", "destinationReference": "refs/heads/master", "mergeMetadata": { "isMerged": true, "mergedBy": "arn:aws:iam::123456789012:user/Mary_Major" }, "repositoryName": "MyDemoRepo", "sourceCommit": "99132ab0EXAMPLE", "sourceReference": "refs/heads/variables-branch" } ], "title": "Consolidation of global variables" }}

Résoudre les conflits dans une demanded’extraction dans un AWS CodeCommit référentiel

Si votre demande d'extraction présente des conflits et ne peut pas être fusionnée, vous pouvez essayer derésoudre les conflits de diverses manières :

• Sur votre ordinateur local, vous pouvez utiliser la commande git diff pour rechercher les conflits entreles deux branches et apporter des modifications afin de les résoudre. Vous pouvez également utiliserun outil de recherche de différences ou un autre logiciel pour vous aider à trouver et à résoudre lesdifférences. Une fois les différences résolues, vous pouvez transmettre votre branche source avec lesmodifications contenant les conflits résolus, ce qui mettra à jour la demande d'extraction. Pour plusd'informations sur git diff et git difftool, consultez la documentation Git.

• Dans la console, vous pouvez choisir Resolve conflicts (Résoudre les conflits). Cette option permetd'ouvrir un éditeur de texte brut qui affiche les conflits de la même manière que la commande gitdiff. Vous pouvez examiner manuellement les conflits dans chaque fichier concerné, apporter desmodifications, puis mettre à jour la demande d'extraction avec vos modifications.

• Dans l’AWS CLI, vous pouvez utiliser l’AWS CLI pour obtenir des informations sur les conflits de fusion etcréer une validation de fusion non référencée à des fins de test.

Rubriques• Résoudre les conflits dans une demande d’extraction (console) (p. 206)• Résoudre les conflits dans une demande d’extraction (AWS CLI) (p. 209)

Résoudre les conflits dans une demande d’extraction(console)Vous pouvez utiliser la console CodeCommit pour résoudre les conflits dans une demande d'extractiondans un Référentiel CodeCommit.

1. Ouvrez la console CodeCommit à l'adresse https://console.aws.amazon.com/codesuite/codecommit/home.

2. Dans Repositories (Référentiels), sélectionnez le nom du référentiel.

Version de l'API 2015-04-13206

Page 216: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurRésoudre les conflits dans unedemande d’extraction (console)

3. Dans le volet de navigation, choisissez Demandes d'extraction.4. Par défaut, une liste de toutes les demandes d'extraction ouvertes s'affiche. Choisissez la demande

d'extraction ouverte que vous souhaitez fusionner, mais qui contient des conflits.5. Dans la demande d'extraction, choisissez Resolve conflicts (Résoudre les confits). Cette option

s'affiche uniquement s'il existe des conflits qui doivent être résolus avant que la demande d'extractionpuisse être fusionnée.

6. Une fenêtre de résolution des conflits s’ouvre et répertorie chaque fichier présentant des conflits quidoivent être résolus. Choisissez chaque fichier dans la liste pour examiner les conflits et apporteztoutes les modifications nécessaires jusqu'à ce que l’ensemble des conflits soient résolus.

Version de l'API 2015-04-13207

Page 217: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurRésoudre les conflits dans unedemande d’extraction (console)

• Vous pouvez choisir d'utiliser le contenu du fichier source, le contenu du fichier de destination ou,s’il ne s’agit pas d’un fichier binaire, de modifier manuellement le contenu d'un fichier de sorte qu’ilcontienne uniquement les modifications souhaitées. Des marqueurs de différence git standard sontutilisés pour indiquer les conflits entre les branches source et de destination (HEAD) dans le fichier.

• Dans le cas d’un fichier binaire, d’un sous-module Git ou d’un conflit de nom de fichier/dossier, vousdevez choisir d'utiliser le fichier source ou le fichier de destination pour résoudre le conflit. Vous nepouvez pas afficher ou modifier des fichiers binaires dans la console CodeCommit.

• En cas de conflit de mode de fichier, vous verrez l'option pour résoudre ce conflit en choisissantentre le mode de fichier du fichier source et le mode de fichier du fichier de destination.

• Si vous décidez d’annuler vos modifications pour un fichier et le restaurer à son état conflictuel,choisissez Reset file (Réinitialiser le fichier). Cela vous permet de résoudre les conflits de manièredifférente.

7. Lorsque vous êtes satisfait de vos modifications, choisissez Update pull request (Mettre à jour lademande d'extraction).

Note

Vous devez résoudre tous les conflits dans tous les fichiers avant de pouvoir mettre à jourcorrectement la demande d'extraction avec vos modifications.

8. La demande d'extraction est mise à jour avec vos modifications et peut être fusionnée. La pagepermettant de procéder à la fusion s’affichera. Vous pouvez choisir de fusionner la demanded'extraction à ce stade, ou vous pouvez revenir à la liste des demandes d'extraction.

Version de l'API 2015-04-13208

Page 218: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurRésoudre les conflits dans une

demande d’extraction (AWS CLI)

Résoudre les conflits dans une demande d’extraction(AWS CLI)Pour utiliser les commandes de l'AWS CLI avec CodeCommit, installez l'AWS CLI. Pour de plus amplesinformations, veuillez consulter Référence des commandes en ligne (p. 437).

Aucune commande AWS CLI unique ne vous permet de résoudre les conflits dans une demanded'extraction et de fusionner cette demande. Cependant, vous pouvez utiliser des commandes individuellespour détecter les conflits, essayez de les résoudre et tester si une demande d'extraction peut êtrefusionnée. Vous pouvez utiliser :

• get-merge-options, pour déterminer les options disponibles pour fusionner deux spécificateurs devalidation.

• get-merge-conflicts, pour renvoyer une liste de fichiers avec les conflits de fusion dans une fusion entredeux spécificateurs de validation.

• batch-describe-merge-conflicts, pour obtenir des informations sur tous les conflits de fusion de fichiersd’une fusion entre deux validations utilisant une stratégie de fusion spécifiée.

• describe-merge-conflicts, pour obtenir des informations détaillées sur les conflits de fusion pour un fichierspécifique entre deux validations utilisant une stratégie de fusion spécifiée.

• create-unreferenced-merge-commit, pour tester le résultat de la fusion de deux spécificateurs devalidation avec une stratégie de fusion spécifiée.

1.Pour découvrir les options de fusion disponibles pour une fusion entre deux spécificateurs devalidation, exécutez la commande get-merge-options, en spécifiant les éléments suivants :

• Un spécificateur de validation pour la source de la fusion (avec l' option --source-commit-specifier).• Un spécificateur de validation de la destination de la fusion (avec l'option --destination-commit-

specifier).• Le nom du référentiel (avec l'option --repository-name).• (Facultatif) Une stratégie de résolution des conflits à utiliser (avec l'option --conflict-resolution-

strategy).• (Facultatif) Le niveau de détails voulu sur les conflits (avec l'option --conflict-detail-level).

Par exemple, pour déterminer les stratégies de fusion disponibles pour fusionner une branche sourcenommée bugfix-1234 avec une branche de destination nommée master dans un référentielnommé MyDemoRepo:

aws codecommit get-merge-options --source-commit-specifier bugfix-1234 --destination-commit-specifier master --repository-name MyDemoRepo

Si elle aboutit, cette commande produit une sortie similaire à ce qui suit :

{ "mergeOptions": [ "FAST_FORWARD_MERGE", "SQUASH_MERGE", "THREE_WAY_MERGE" ], "sourceCommitId": "d49940adEXAMPLE", "destinationCommitId": "86958e0aEXAMPLE", "baseCommitId": "86958e0aEXAMPLE"}

Version de l'API 2015-04-13209

Page 219: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurRésoudre les conflits dans une

demande d’extraction (AWS CLI)

2.Pour obtenir une liste des fichiers contenant des conflits de fusion dans une fusion entre deuxspécificateurs de validation, exécutez la commande get-merge-conflicts, en spécifiant les élémentssuivants :

• Un spécificateur de validation pour la source de la fusion (avec l' option --source-commit-specifier).• Un spécificateur de validation de la destination de la fusion (avec l'option --destination-commit-

specifier).• Le nom du référentiel (avec l'option --repository-name).• L'option de fusion que vous souhaitez utiliser (avec l'option --merge-option).• (Facultatif) Le niveau de détails voulu sur les conflits (avec l'option --conflict-detail-level).• (Facultatif) Une stratégie de résolution des conflits à utiliser (avec l'option --conflict-resolution-

strategy).• (Facultatif) Le nombre maximum de fichiers contenant des conflits à renvoyer (avec l'option --max-

conflict-files).

Par exemple, pour obtenir une liste des fichiers qui contiennent des conflits dans une fusion entre unebranche source nommée feature-randomizationfeature et une branche de destination nommée masterà l’aide de la stratégie de fusion à trois voies dans un référentiel nommé MyDemoRepo:

aws codecommit get-merge-conflicts --source-commit-specifier feature-randomizationfeature --destination-commit-specifier master --merge-option THREE_WAY_MERGE --repository-name MyDemoRepo

Si elle aboutit, cette commande produit une sortie similaire à ce qui suit :

{ "mergeable": false, "destinationCommitId": "86958e0aEXAMPLE", "sourceCommitId": "6ccd57fdEXAMPLE", "baseCommitId": "767b6958EXAMPLE", "conflictMetadataList": [ { "filePath": "readme.md", "fileSizes": { "source": 139, "destination": 230, "base": 85 }, "fileModes": { "source": "NORMAL", "destination": "NORMAL", "base": "NORMAL" }, "objectTypes": { "source": "FILE", "destination": "FILE", "base": "FILE" }, "numberOfConflicts": 1, "isBinaryFile": { "source": false, "destination": false, "base": false }, "contentConflict": true, "fileModeConflict": false, "objectTypeConflict": false, "mergeOperations": {

Version de l'API 2015-04-13210

Page 220: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurRésoudre les conflits dans une

demande d’extraction (AWS CLI)

"source": "M", "destination": "M" } } ]}

3.Pour obtenir des informations sur les conflits de fusion dans tous les fichiers ou dans un sous-ensemble de fichiers d’une fusion entre deux spécificateurs de validation, exécutez la commandebatch-describe-merge-conflicts, en spécifiant les éléments suivants :

• Un spécificateur de validation pour la source de la fusion (avec l' option --source-commit-specifier).• Un spécificateur de validation de la destination de la fusion (avec l'option --destination-commit-

specifier).• L'option de fusion que vous souhaitez utiliser (avec l'option --merge-option).• Le nom du référentiel (avec l'option --repository-name).• (Facultatif) Une stratégie de résolution des conflits à utiliser (avec l'option --conflict-resolution-

strategy).• (Facultatif) Le niveau de détails voulu sur les conflits (avec l'option --conflict-detail-level).• (Facultatif) Le nombre maximum de morceaux de fusion à renvoyer (avec l'option --max-merge-

hunks).• (Facultatif) Le nombre maximum de fichiers contenant des conflits à renvoyer (avec l'option --max-

conflict-files).• (Facultatif) Le chemin de fichiers cibles à utiliser pour décrire les conflits (avec l'option --file-paths).

Par exemple, pour déterminer les conflits de fusion pour fusionner une branche source nomméefeature-randomizationfeature avec une branche de destination nommée master à l’aide de laTHREE_WAY_MERGE dans un référentiel nommé MyDemoRepo:

aws codecommit batch-describe-merge-conflicts --source-commit-specifier feature-randomizationfeature --destination-commit-specifier master --merge-option THREE_WAY_MERGE --repository-name MyDemoRepo

Si elle aboutit, cette commande produit une sortie similaire à ce qui suit :

{ "conflicts": [ { "conflictMetadata": { "filePath": "readme.md", "fileSizes": { "source": 139, "destination": 230, "base": 85 }, "fileModes": { "source": "NORMAL", "destination": "NORMAL", "base": "NORMAL" }, "objectTypes": { "source": "FILE", "destination": "FILE", "base": "FILE" }, "numberOfConflicts": 1, "isBinaryFile": {Version de l'API 2015-04-13

211

Page 221: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurRésoudre les conflits dans une

demande d’extraction (AWS CLI)

"source": false, "destination": false, "base": false }, "contentConflict": true, "fileModeConflict": false, "objectTypeConflict": false, "mergeOperations": { "source": "M", "destination": "M" } }, "mergeHunks": [ { "isConflict": true, "source": { "startLine": 0, "endLine": 3, "hunkContent": "VGhpcyBpEXAMPLE==" }, "destination": { "startLine": 0, "endLine": 1, "hunkContent": "VXNlIHRoEXAMPLE=" } } ] } ], "errors": [], "destinationCommitId": "86958e0aEXAMPLE", "sourceCommitId": "6ccd57fdEXAMPLE", "baseCommitId": "767b6958EXAMPLE"}

4.Pour obtenir des informations détaillées sur n'importe quel conflit de fusion pour un fichier spécifiquedans une fusion entre deux spécificateurs de validation, exécutez la commande describe-merge-conflicts, en spécifiant les éléments suivants :

• Un spécificateur de validation pour la source de la fusion (avec l' option --source-commit-specifier).• Un spécificateur de validation de la destination de la fusion (avec l'option --destination-commit-

specifier).• L'option de fusion que vous souhaitez utiliser (avec l'option --merge-option).• Le chemin du fichier cible à utiliser pour décrire les conflits (avec l'option --file-path).• Le nom du référentiel (avec l'option --repository-name).• (Facultatif) Une stratégie de résolution des conflits à utiliser (avec l'option --conflict-resolution-

strategy).• (Facultatif) Le niveau de détails voulu sur les conflits (avec l'option --conflict-detail-level).• (Facultatif) Le nombre maximum de morceaux de fusion à renvoyer (avec l'option --max-merge-

hunks).• (Facultatif) Le nombre maximum de fichiers contenant des conflits à renvoyer (avec l'option --max-

conflict-files).

Par exemple, pour déterminer les conflits de fusion pour un fichier nommé readme.md dans unebranche source nommée feature-randomizationfeature avec une branche de destinationnommée master à l’aide de la THREE_WAY_MERGE dans un référentiel nommé MyDemoRepo:

Version de l'API 2015-04-13212

Page 222: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurRésoudre les conflits dans une

demande d’extraction (AWS CLI)

aws codecommit describe-merge-conflicts --source-commit-specifier feature-randomizationfeature --destination-commit-specifier master --merge-option THREE_WAY_MERGE --file-path readme.md --repository-name MyDemoRepo

Si elle aboutit, cette commande produit une sortie similaire à ce qui suit :

{ "conflictMetadata": { "filePath": "readme.md", "fileSizes": { "source": 139, "destination": 230, "base": 85 }, "fileModes": { "source": "NORMAL", "destination": "NORMAL", "base": "NORMAL" }, "objectTypes": { "source": "FILE", "destination": "FILE", "base": "FILE" }, "numberOfConflicts": 1, "isBinaryFile": { "source": false, "destination": false, "base": false }, "contentConflict": true, "fileModeConflict": false, "objectTypeConflict": false, "mergeOperations": { "source": "M", "destination": "M" } }, "mergeHunks": [ { "isConflict": true, "source": { "startLine": 0, "endLine": 3, "hunkContent": "VGhpcyBpEXAMPLE==" }, "destination": { "startLine": 0, "endLine": 1, "hunkContent": "VXNlIHRoEXAMPLE=" } } ], "destinationCommitId": "86958e0aEXAMPLE", "sourceCommitId": "6ccd57fdEXAMPLE", "baseCommitId": "767b69580EXAMPLE"}

5.Pour créer une validation non référencée qui représente le résultat de la fusion de deux spécificateursde validation, exécutez la commande create-unreferenced-merge-commit, en spécifiant les élémentssuivants :

Version de l'API 2015-04-13213

Page 223: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurFermer une demande d'extraction

• Un spécificateur de validation pour la source de la fusion (avec l' option --source-commit-specifier).• Un spécificateur de validation de la destination de la fusion (avec l'option --destination-commit-

specifier).• L'option de fusion que vous souhaitez utiliser (avec l'option --merge-option).• Le nom du référentiel (avec l'option --repository-name).• (Facultatif) Une stratégie de résolution des conflits à utiliser (avec l'option --conflict-resolution-

strategy).• (Facultatif) Le niveau de détails voulu sur les conflits (avec l'option --conflict-detail-level).• (Facultatif) Le message de validation à inclure (avec l'option --commit-message).• (Facultatif) Le nom à utiliser pour la validation (avec l'option --name).• (Facultatif) L'adresse e-mail à utiliser pour la validation (avec l'option --email).• Si les dossiers vides doivent être conservés (avec l'option --keep-empty-folders).

Par exemple, pour déterminer les conflits de fusion pour fusionner une branche source nomméebugfix-1234 avec une branche de destination nommée master utilisation de la stratégieACCEPT_SOURCE dans un référentiel nommé MyDemoRepo:

aws codecommit create-unreferenced-merge-commit --source-commit-specifier bugfix-1234 --destination-commit-specifier master --merge-option THREE_WAY_MERGE --repository-name MyDemoRepo --name "Maria Garcia" --email "[email protected]" --commit-message "Testing the results of this merge."

Si elle aboutit, cette commande produit une sortie similaire à ce qui suit :

{ "commitId": "4f178133EXAMPLE", "treeId": "389765daEXAMPLE"}

Clôturer une demande d’extraction dans un AWSCodeCommit référentiel

Si vous souhaitez fermer une demande d'extraction sans fusionner le code, vous pouvez le faire dediverses manières :

• Dans la console, vous pouvez fermer une demande d'extraction sans fusionner le code. Cela peut êtreutile si vous souhaitez utiliser la commande git merge pour fusionner manuellement les branches ou sivous avez décidé de ne pas fusionner le code de la branche source de la demande d'extraction dans labranche de destination.

• Vous pouvez supprimer la branche source spécifiée dans la demande d'extraction. CodeCommit fermeautomatiquement une demande d'extraction si la branche source ou de destination de la demanded'extraction est supprimée.

• Dans le AWS CLI, vous pouvez mettre à jour le statut d’une demande d’extraction à partir de OPEN àCLOSED. Cela ferme la demande d’extraction sans fusionner le code.

Rubriques• Fermeture d’une demande d’extraction (console) (p. 215)• Fermer une demande d’extraction (AWS CLI) (p. 215)

Version de l'API 2015-04-13214

Page 224: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurFermeture d’une demande d’extraction (console)

Fermeture d’une demande d’extraction (console)Vous pouvez utiliser la console CodeCommit pour fermer une demande d'extraction dans un RéférentielCodeCommit. Une fois qu'une demande d'extraction est fermée, elle ne peut pas être rouverte, mais lesutilisateurs peuvent continuer à commenter les modifications et à répondre aux commentaires.

1. Ouvrez la console CodeCommit à l'adresse https://console.aws.amazon.com/codesuite/codecommit/home.

2. Dans Repositories (Référentiels), sélectionnez le nom du référentiel.3. Dans le volet de navigation, choisissez Demandes d'extraction.4. Par défaut, une liste de toutes les demandes d'extraction ouvertes s'affiche. Choisissez la demande

d'extraction ouverte que vous souhaitez fermer.

5. Dans la demande d'extraction, choisissez Close pull request (Fermer la demande d’extraction). Cetteoption permet de fermer la demande d'extraction sans essayer de fusionner la branche source dans labranche de destination. Cette option ne donne pas la possibilité de supprimer la branche source lorsde la fermeture de la demande d'extraction, mais vous pouvez le faire vous-même après la fermeturede la demande.

Fermer une demande d’extraction (AWS CLI)Pour utiliser les commandes de l'AWS CLI avec CodeCommit, installez l'AWS CLI. Pour de plus amplesinformations, veuillez consulter Référence des commandes en ligne (p. 437).

Pour utiliser le AWS CLI pour fermer les demandes d’extraction dans un Référentiel CodeCommit

• Pour mettre à jour le statut d’une demande d’extraction dans un référentiel à partir de OPEN à CLOSED,exécutez le update-pull-request-status commande, spécification :

• L'ID de la demande d'extraction (avec l'option --pull-request-id).• Le statut de la demande d'extraction (avec l'option --pull-request-status).

Par exemple, pour mettre à jour le statut d’une demande d’extraction avec l’ID 42 à un statut deCLOSED dans un Référentiel CodeCommit nommé MyDemoRepo:

aws codecommit update-pull-request-status --pull-request-id 42 --pull-request-status CLOSED

Si elle aboutit, cette commande produit une sortie similaire à ce qui suit :

Version de l'API 2015-04-13215

Page 225: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurFermer une demande d’extraction (AWS CLI)

{ "pullRequest": { "approvalRules": [ { "approvalRuleContent": "{\"Version\": \"2018-11-08\",\"Statements\": [{\"Type\": \"Approvers\",\"NumberOfApprovalsNeeded\": 2,\"ApprovalPoolMembers\": [\"arn:aws:sts::123456789012:assumed-role/CodeCommitReview/*\"]}]}", "approvalRuleId": "dd8b17fe-EXAMPLE", "approvalRuleName": "2-approvers-needed-for-this-change", "creationDate": 1571356106.936, "lastModifiedDate": 571356106.936, "lastModifiedUser": "arn:aws:iam::123456789012:user/Mary_Major", "ruleContentSha256": "4711b576EXAMPLE" } ], "authorArn": "arn:aws:iam::123456789012:user/Li_Juan", "clientRequestToken": "", "creationDate": 1508530823.165, "description": "Updated the pull request to remove unused global variable.", "lastActivityDate": 1508372423.12, "pullRequestId": "47", "pullRequestStatus": "CLOSED", "pullRequestTargets": [ { "destinationCommit": "9f31c968EXAMPLE", "destinationReference": "refs/heads/master", "mergeMetadata": { "isMerged": false, }, "repositoryName": "MyDemoRepo", "sourceCommit": "99132ab0EXAMPLE", "sourceReference": "refs/heads/variables-branch" } ], "title": "Consolidation of global variables" }}

Version de l'API 2015-04-13216

Page 226: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateur

Utilisation des modèles de règlesd'approbation

Vous pouvez créer des règles d'approbation pour les demandes d'extraction. Toutefois, si vous souhaitezappliquer automatiquement une ou plusieurs règles d'approbation à une partie ou à la totalité desdemandes d'extraction créées dans les référentiels, utilisez des modèles de règles d'approbation. Lesmodèles de règles d'approbation vous aident à personnaliser vos workflows de développement entreles référentiels afin que les différentes branches disposent des niveaux appropriés d'approbations et decontrôle. Vous pouvez définir différentes règles pour les branches de production et de développement. Cesrègles sont appliqué chaque fois qu’une demande d’extraction qui correspond aux conditions de la règle estcréée.

Un modèle de règle d'approbation peut être associé à un ou plusieurs référentiels dans la région AWSoù ils sont créés. Lorsqu'un modèle est associé à un référentiel, il crée automatiquement des règlesd'approbation pour les demandes d'extraction dans ce référentiel dans le cadre de la création de lademande d'extraction. Tout comme une règle d'approbation unique, un modèle de règle d'approbationdéfinit une structure de règle d'approbation, en particulier le nombre d'approbations requises et un grouped'utilisateurs facultatif dont les approbations doivent provenir. Contrairement à ce qu'il se passe avec unerègle d'approbation, vous pouvez également définir des références de destination (la ou les branches),également appelées filtres de branche. Si vous définissez des références de destination, des règles sontuniquement créées pour les demandes d'extraction dont les noms de branche de destination correspondentaux noms de branche spécifiés (références de destination) dans le modèle. Ainsi, par exemple, si vousspécifiez refs/heads/master comme référence de destination, la règle d'approbation définie dans lemodèle est appliquée uniquement aux demandes d'extraction si la branche de destination est master.

Version de l'API 2015-04-13217

Page 227: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateur

Rubriques• Créer un modèle de règle d'approbation (p. 219)• Associer un modèle de règle d’approbation à un référentiel (p. 223)• Gérer les modèles de règles d'approbation (p. 224)• Dissocier un modèle de règle d’approbation (p. 228)

Version de l'API 2015-04-13218

Page 228: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurCréer un modèle de règle d'approbation

• Supprimer un modèle de règle d’approbation (p. 229)

Créer un modèle de règle d'approbationVous pouvez créer un ou plusieurs modèles de règles d'approbation pour faciliter la personnalisationde vos workflows de développement entre les référentiels. En créant plusieurs modèles, vous pouvezconfigurer la création automatique des règles d'approbation de sorte que les différentes branches disposentdes niveaux appropriés d'approbations et de contrôle. Par exemple, vous pouvez créer différents modèlespour les branches de production et de développement, et appliquer ces modèles à un ou plusieursréférentiels. Lorsque les utilisateurs créent des demandes d'extraction dans ces référentiels, la demandeest évaluée par rapport à ces modèles. Si la demande correspond aux conditions des modèles appliqués,des règles d'approbation sont créées pour la demande d'extraction.

Vous pouvez utiliser la console ou l'AWS CLI pour créer des modèles de règles d'approbation.

Rubriques• Création d’un modèle de règle d’approbation (console) (p. 219)• Créer un modèle de règle d’approbation (AWS CLI) (p. 221)

Création d’un modèle de règle d’approbation (console)Par défaut, les modèles de règles d'approbation ne sont associés à aucun référentiel. Vous pouvez créerune association entre un modèle et un ou plusieurs référentiels lorsque vous créez le modèle, ou ajouterdes associations ultérieurement.

Pour créer un modèle de règle d’approbation

1. Ouvrez la console CodeCommit à l'adresse https://console.aws.amazon.com/codesuite/codecommit/home.

2. Choisissez Approval rule templates (Modèles de règles d'approbation), puis Create template (Créer unmodèle).

3. Dans Approval rule template name (Nom du modèle de règle d'approbation), donnez au modèle unnom descriptif afin de savoir quel est son rôle. Par exemple, si vous souhaitez qu'une personne faisantpartie d'un ensemble de développeurs seniors approuve une demande d'extraction pour qu'elle puisseêtre fusionnée, vous pouvez nommer la règle Require 1 approver from a senior developerfor master branch.

4. (Facultatif) Dans Description, fournissez une description de l'objet de ce modèle. Cela peut aiderd'autres personnes à déterminer si ce modèle convient à leurs référentiels.

5. Dans Number of approvals needed (Nombre d'approbations nécessaires), entrez le nombre souhaité.La valeur par défaut est1.

6. (Facultatif) Si vous souhaitez que les approbations d'une demande d'extraction proviennent d'ungroupe d'utilisateurs spécifique, dans Approval rule members (Membres de règle d'approbation),choisissez Add (Ajouter). Dans Approver type (Type d'approbateur), choisissez l'une des optionssuivantes :

• IAM nom d’utilisateur ou rôle assumé: Cette option préremplit le AWS ID de compte pour le compteque vous avez utilisé pour vous connecter et nécessite uniquement un nom. Elle peut être utiliséeà la fois pour les utilisateurs IAM et les utilisateurs d'accès fédérés dont le nom correspond aunom fourni. C'est une option très puissante qui offre beaucoup de flexibilité. Par exemple, sivous choisissez cette option et que vous êtes connecté avec le compte AWS 123456789012, sivous spécifiez Mary_Major, tous les éléments suivants sont comptés comme des approbationsprovenant de cet utilisateur :

Version de l'API 2015-04-13219

Page 229: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurCréation d’un modèle de règle d’approbation (console)

• Un utilisateur IAM dans le compte (arn:aws:iam::123456789012:user/Mary_Major)• Un utilisateur fédéré identifié dans IAM comme Mary_Major

(arn:aws:sts::123456789012:federated-user/Mary_Major)

Cette option ne reconnaît pas une session active d'une personne assumantle rôle CodeCommitReview avec le nom de session de rôle Mary_Major(arn:aws:sts::123456789012:assumed-role/CodeCommitReview/Mary_Major),sauf si vous incluez un caractère générique (*Mary_Major). Vous pouvez également spécifierexplicitement le nom du rôle (CodeCommitReview/Mary_Major).

• Entièrement qualifié ARN: Cette option vous permet de spécifier l’Amazon Resource Name (ARN)complet du IAM utilisateur ou rôle. Cette option prend également en charge les rôles assumésutilisés par d'autres services AWS, comme AWS Lambda et AWS CodeBuild. Pour les rôlesassumés, le format de l'ARN doit être arn:aws:sts::AccountID:assumed-role/RoleNamepour les rôles et arn:aws:sts::AccountID:assumed-role/FunctionName pour les fonctions.

Si vous avez choisi IAM user name or assumed role (Nom d'utilisateur IAM ou rôle assumé) commetype d'approbateur, dans Value (Valeur), entrez le nom de l'utilisateur ou du rôle IAM ou l'ARN completde l'utilisateur ou du rôle. Choisissez à nouveau Add (Ajouter) pour ajouter d'autres utilisateurs ourôles, jusqu'à ce que vous ayez ajouté tous les utilisateurs ou rôles dont les approbations comptentdans le nombre d'approbations requises.

Les deux types d'approbateur vous permettent d'utiliser des caractères génériques (*) dans leursvaleurs. Par exemple, si vous choisissez l'option IAM user name or assumed role (Nom d'utilisateurIAM ou rôle assumé) et que vous spécifiez CodeCommitReview/*, tous les utilisateurs qui assumentle rôle CodeCommitReview sont comptés dans le groupe d'approbation. Leurs noms de session derôle individuels sont pris en compte dans le nombre requis d'approbateurs. De cette façon, Mary_Majoret Li_Juan comptent tous deux comme des approbations lorsqu’ils se connectent et assument le rôlede CodeCommitReview. Pour plus d’informations sur IAM ARNs, caractères génériques et formats,voir IAM Identificateurs.

Note

Les règles d'approbation ne prennent pas en charge les approbations entre comptes.7. (Facultatif) Dans Branch filters (Filtres de branche), entrez les noms de branche de destination

à utiliser pour filtrer la création de règles d'approbation. Par exemple, si vous spécifiez master,une règle d’approbation est créée pour les demandes d’extraction dans les référentiels associésuniquement si la branche de destination de la demande d’extraction est une branche nomméemaster. Vous pouvez utiliser des caractères génériques (*) dans les noms de branche pour appliquerdes règles d’approbation à tous les noms de branche qui correspondent aux cas de caractèregénérique. Toutefois, vous ne pouvez pas utiliser de caractère générique au début d'un nom debranche. Vous pouvez spécifier jusqu'à 100 noms de branches. Si vous ne spécifiez aucun filtre, lemodèle s'applique à toutes les branches d'un référentiel associé.

8. (Facultatif) Dans Associated repositories (Référentiels associés), dans la liste Repositories(Référentiels), choisissez les référentiels de cette région AWS que vous souhaitez associer à cetterègle d'approbation.

Note

Vous pouvez choisir d'associer des référentiels après avoir créé le modèle. Pour plusd'informations, consultez la section Associer un modèle de règle d’approbation à unréférentiel (p. 223).

9. Sélectionnez Create.

Version de l'API 2015-04-13220

Page 230: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurCréer un modèle de règle d’approbation (AWS CLI)

Créer un modèle de règle d’approbation (AWS CLI)Vous pouvez utiliser l'AWS CLI pour créer des modèles de règles d'approbation. Lorsque vous utilisezl'AWS CLI, vous pouvez spécifier des références de destination pour le modèle, de sorte qu'il ne s'appliquequ'aux demandes d'extraction dont les branches de destination correspondent à celles du modèle.

Version de l'API 2015-04-13221

Page 231: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurCréer un modèle de règle d’approbation (AWS CLI)

Pour créer un modèle de règle d’approbation

1. Depuis le terminal ou la ligne de commande, exécutez la commande create-approval-rule-template, enspécifiant :

• Le nom du modèle de règle d'approbation. Utilisez un nom décrivant son rôle.• Une description du modèle de règle d'approbation. Comme pour le nom, fournissez une description

détaillée.• La structure JSON du modèle de règle d'approbation. Cette structure peut inclure des exigences

pour les références de destination, qui sont les branches de destination des demandes d'extractionpour lesquelles la règle d'approbation est appliquée, et les membres du groupe d'approbation, quisont des utilisateurs dont les approbations sont comptabilisées dans le nombre d'approbationsrequises.

Lorsque vous créez le contenu de la règle d'approbation, vous pouvez spécifier des approbateurs dansun groupe d'approbation de l'une des deux manières suivantes :

• CodeCommitApprovers: Cette option ne nécessite qu’un AWS et une ressource. Elle peut êtreutilisée à la fois pour les utilisateurs IAM et les utilisateurs d'accès fédérés dont le nom correspondau nom de ressource fourni. C'est une option très puissante qui offre beaucoup de flexibilité. Parexemple, si vous spécifiez le compte AWS 123456789012 et Mary_Major, tous les élémentssuivants sont comptés comme approbations provenant de cet utilisateur :• Un utilisateur IAM dans le compte (arn:aws:iam::123456789012:user/Mary_Major)• Un utilisateur fédéré identifié dans IAM comme Mary_Major

(arn:aws:sts::123456789012:federated-user/Mary_Major)

Cette option ne reconnaît pas une session active d’une personne assumant lerôle de SeniorDevelopers avec un nom de session de rôle de Mary_Major(arn:aws:sts::123456789012:assumed-role/SeniorDevelopers/Mary_Major) sauf sivous incluez un caractère générique (*Mary_Major).

• Entièrement qualifié ARN: Cette option vous permet de spécifier l’Amazon Resource Name (ARN)complet du IAM utilisateur ou rôle.

Pour plus d’informations sur IAM ARNs, caractères génériques et formats, voir IAM Identificateurs.

L’exemple suivant crée un modèle de règle d’approbation nommé 2-approver-rule-for-masteret une description de Requires two developers from the team to approve the pullrequest if the destination branch is master. Le modèle nécessite deux utilisateurs quiassument le rôle de CodeCommitReview pour approuver toute demande d’extraction avant qu’ellepuisse être fusionnée avec le master succursale :

aws codecommit create-approval-rule-template --approval-rule-template-name 2-approver-rule-for-master --approval-rule-template-description "Requires two developers from the team to approve the pull request if the destination branch is master" --approval-rule-template-content "{\"Version\": \"2018-11-08\",\"DestinationReferences\": [\"refs/heads/master\"],\"Statements\": [{\"Type\": \"Approvers\",\"NumberOfApprovalsNeeded\": 2,\"ApprovalPoolMembers\": [\"arn:aws:sts::123456789012:assumed-role/CodeCommitReview/*\"]}]}"

2. Si elle aboutit, cette commande renvoie une sortie similaire à ce qui suit :

{ "approvalRuleTemplate": { "approvalRuleTemplateName": "2-approver-rule-for-master", "creationDate": 1571356106.936, "approvalRuleTemplateId": "dd8b17fe-EXAMPLE",

Version de l'API 2015-04-13222

Page 232: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAssocier un modèle de règle d’approbation à un référentiel

"approvalRuleTemplateContent": "{\"Version\": \"2018-11-08\",\"DestinationReferences\": [\"refs/heads/master\"],\"Statements\": [{\"Type\": \"Approvers\",\"NumberOfApprovalsNeeded\": 2,\"ApprovalPoolMembers\": [\"arn:aws:sts::123456789012:assumed-role/CodeCommitReview/*\"]}]}", "lastModifiedUser": "arn:aws:iam::123456789012:user/Mary_Major", "approvalRuleTemplateDescription": "Requires two developers from the team to approve the pull request if the destination branch is master", "lastModifiedDate": 1571356106.936, "ruleContentSha256": "4711b576EXAMPLE" }}

Associer un modèle de règle d’approbation à unréférentiel

Les modèles de règles d'approbation sont créés dans une région AWS spécifique, mais ils n'affectent pasles référentiels de cette région AWS tant qu'ils ne sont pas associés. Pour appliquer un modèle à un ouplusieurs référentiels, vous devez l'associer à ces référentiels. Vous pouvez appliquer un modèle unique àplusieurs référentiels dans une région AWS. Cela vous aide à automatiser et à normaliser le workflow dedéveloppement dans vos référentiels en créant des conditions cohérentes pour l'approbation et la fusiondes demandes d'extraction.

Vous ne pouvez associer un modèle de règle d'approbation qu'à des référentiels de la région AWS danslaquelle le modèle de règle d'approbation a été créé.

Rubriques• Associer un modèle de règle d’approbation (console) (p. 223)• Associer un modèle de règle d’approbation (AWS CLI) (p. 223)

Associer un modèle de règle d’approbation (console)Il est possible d'associer des référentiels à un modèle de règle d'approbation lors de sa création. (Cetteétape est facultative.) Vous pouvez ajouter ou supprimer des associations en modifiant le modèle.

Pour associer un modèle de règle d'approbation à des référentiels

1. Ouvrez la console CodeCommit à l'adresse https://console.aws.amazon.com/codesuite/codecommit/home.

2. Choisissez Approval rule templates (Modèles de règles d'approbation). Choisissez le modèle, puischoisissez Edit (Modifier).

3. Dans Associated Repositories (Référentiels associés), choisissez les référentiels dans la listeRepositories (Référentiels). Chaque référentiel associé apparaît sous la zone de liste.

4. Choisissez Save. Les règles d'approbation sont désormais appliquées à toutes les demandesd'extraction créées dans ces référentiels associés.

Associer un modèle de règle d’approbation (AWS CLI)Vous pouvez utiliser l'AWS CLI pour associer un modèle de règle d'approbation à un ou plusieursréférentiels.

Version de l'API 2015-04-13223

Page 233: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurGérer les modèles de règles d'approbation

Pour associer un modèle à un référentiel unique

1. Depuis le terminal ou la ligne de commande, exécutez la commande associate-approval-rule-template-with-repository, en spécifiant :

• Le nom du modèle de règle d'approbation que vous souhaitez associer à un référentiel.• Le nom du référentiel à associer au modèle de règle d'approbation.

Par exemple, pour associer un modèle de règle d’approbation nommé 2-approver-rule-for-master avec un référentiel nommé MyDemoRepo:

aws codecommit associate-approval-rule-template-with-repository --repository-name MyDemoRepo --approval-rule-template-name 2-approver-rule-for-master

2. Si elle aboutit, cette commande ne renvoie rien.

Pour associer un modèle à plusieurs référentiels

1. Depuis le terminal ou la ligne de commande, exécutez la commande batch-associate-approval-rule-template-with-repositories, en spécifiant :

• Le nom du modèle de règle d'approbation que vous souhaitez associer à un référentiel.• Les noms des référentiels à associer au modèle de règle d'approbation.

Par exemple, pour associer un modèle de règle d'approbation nommé 2-approver-rule-for-master à un référentiel nommé MyDemoRepo et MyOtherDemoRepo :

aws codecommit batch-associate-approval-rule-template-with-repositories --repository-names "MyDemoRepo", "MyOtherDemoRepo" --approval-rule-template-name 2-approver-rule-for-master

2. Si elle aboutit, cette commande renvoie une sortie similaire à ce qui suit :

{ "associatedRepositoryNames": [ "MyDemoRepo", "MyOtherDemoRepo" ], "errors": []}

Gérer les modèles de règles d'approbationVous pouvez gérer les modèles de règles d'approbation dans une région AWS afin de mieux comprendrecomment ils sont utilisés et à quoi ils servent. Par exemple, vous pouvez modifier les noms et lesdescriptions des modèles de règles d'approbation pour aider les autres à comprendre leur rôle. Vouspouvez répertorier tous les modèles de règles d'approbation dans une région AWS et obtenir desinformations sur le contenu et la structure d'un modèle. Vous pouvez rechercher quels sont les modèlesassociés à un référentiel et quels sont référentiels associés à un modèle.

Gérer les modèles de règles d’approbation (console)Vous pouvez afficher et gérer vos modèles de règles d'approbation dans la console CodeCommit.

Version de l'API 2015-04-13224

Page 234: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurGérer les modèles de règles d’approbation (AWS CLI)

Pour gérer les modèles de règles d'approbation

1. Ouvrez la console CodeCommit à l'adresse https://console.aws.amazon.com/codesuite/codecommit/home.

2. Choisissez Approval rule templates (Modèles de règles d'approbation) pour afficher la liste desmodèles de règles d'approbation dans la région AWS dans laquelle vous êtes connecté.

Note

Les modèles de règles d'approbation ne sont disponibles que dans la région AWS où ils ontété créés.

3. Si vous souhaitez apporter des modifications à un modèle, sélectionnez-le dans la liste, puischoisissez Edit (Modifier).

4. Effectuez les modifications, puis choisissez Enregistrer.

Gérer les modèles de règles d’approbation (AWS CLI)Vous pouvez gérer vos modèles de règles d'approbation à l'aide des commandes suivantes de l'AWS CLI :

• list-approval-rule-templates (p. 225), pour afficher la liste de tous les modèles de règles d'approbationdans une région AWS

• get-approval-rule-template (p. 225), pour afficher le contenu d'un modèle de règle d'approbation• update-approval-rule-template-content (p. 226), pour modifier le contenu d'un modèle de règle

d'approbation• update-approval-rule-template-name (p. 226), pour modifier le nom d'un modèle de règle d'approbation• update-approval-rule-template-description (p. 227), pour modifier la description d'un modèle de règle

d'approbation• list-repositories-for-approval-rule-template (p. 227), pour afficher tous les référentiels associés à un

modèle de règle d'approbation• list-associated-approval-rule-templates-for-repository (p. 228), pour afficher tous les modèles de règles

d'approbation associés à un référentiel

Pour répertorier tous les modèles de règles d'approbation dans une région AWS

1. Depuis le terminal ou la ligne de commande, exécutez la commande list-approval-rule-templates. Parexemple, pour répertorier tous les modèles de règles d'approbation dans la région USA Est (Ohio) :

aws codecommit list-approval-rule-templates --region us-east-2

2. Si elle aboutit, cette commande renvoie une sortie similaire à ce qui suit :

{ "approvalRuleTemplateNames": [ "2-approver-rule-for-master", "1-approver-rule-for-all-pull-requests" ]}

Pour obtenir le contenu d'un modèle de règle d'approbation

1. Sur le terminal ou la ligne de commande, exécutez la commande get-approval-rule-template enspécifiant le nom du modèle de règle d'approbation :

Version de l'API 2015-04-13225

Page 235: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurGérer les modèles de règles d’approbation (AWS CLI)

aws codecommit get-approval-rule-template --approval-rule-template-name 1-approver-rule-for-all-pull-requests

2. Si elle aboutit, cette commande renvoie une sortie similaire à ce qui suit :

{ "approvalRuleTemplate": { "approvalRuleTemplateContent": "{\"Version\": \"2018-11-08\",\"Statements\": [{\"Type\": \"Approvers\",\"NumberOfApprovalsNeeded\": 1,\"ApprovalPoolMembers\": [\"arn:aws:sts::123456789012:assumed-role/CodeCommitReview/*\"]}]}", "ruleContentSha256": "621181bbEXAMPLE", "lastModifiedDate": 1571356106.936, "creationDate": 1571356106.936, "approvalRuleTemplateName": "1-approver-rule-for-all-pull-requests", "lastModifiedUser": "arn:aws:iam::123456789012:user/Li_Juan", "approvalRuleTemplateId": "a29abb15-EXAMPLE", "approvalRuleTemplateDescription": "All pull requests must be approved by one developer on the team." }}

Pour mettre à jour le contenu d'un modèle de règle d'approbation

1. Sur le terminal ou l'invite de commandes, exécutez la commande update-approval-rule-template-content en spécifiant le nom du modèle et le contenu modifié. Par exemple, pour modifier lecontenu d'un modèle de règle d'approbation nommé 1-approver-rule afin de redéfinir le grouped'approbation et d'inclure des utilisateurs assumant le rôle CodeCommitReview :

aws codecommit update-approval-rule-template-content --approval-rule-template-name 1-approver-rule --new-rule-content "{\"Version\": \"2018-11-08\",\"DestinationReferences\": [\"refs/heads/master\"],\"Statements\": [{\"Type\": \"Approvers\",\"NumberOfApprovalsNeeded\": 2,\"ApprovalPoolMembers\": [\"arn:aws:sts::123456789012:assumed-role/CodeCommitReview/*\"]}]}"

2. Si elle aboutit, cette commande renvoie une sortie similaire à ce qui suit :

{ "approvalRuleTemplate": { "creationDate": 1571352720.773, "approvalRuleTemplateDescription": "Requires 1 approval for all pull requests from the CodeCommitReview pool", "lastModifiedDate": 1571358728.41, "approvalRuleTemplateId": "41de97b7-EXAMPLE", "approvalRuleTemplateContent": "{\"Version\": \"2018-11-08\",\"Statements\": [{\"Type\": \"Approvers\",\"NumberOfApprovalsNeeded\": 1,\"ApprovalPoolMembers\": [\"arn:aws:sts::123456789012:assumed-role/CodeCommitReview/*\"]}]}", "approvalRuleTemplateName": "1-approver-rule-for-all-pull-requests", "ruleContentSha256": "2f6c21a5EXAMPLE", "lastModifiedUser": "arn:aws:iam::123456789012:user/Li_Juan" }}

Pour mettre à jour le nom d'un modèle de règle d'approbation

1. Sur le terminal ou l'invite de commandes, exécutez la commande update-approval-rule-template-name en spécifiant le nom actuel et le nom par lequel vous souhaitez le remplacer. Par exemple, pour

Version de l'API 2015-04-13226

Page 236: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurGérer les modèles de règles d’approbation (AWS CLI)

remplacer le nom du modèle de règle d'approbation 1-approver-rule par 1-approver-rule-for-all-pull-requests :

aws codecommit update-approval-rule-template-name --old-approval-rule-template-name "1-approver-rule" --new-approval-rule-template-name "1-approver-rule-for-all-pull-requests"

2. Si elle aboutit, cette commande renvoie une sortie similaire à ce qui suit :

{ "approvalRuleTemplate": { "approvalRuleTemplateName": "1-approver-rule-for-all-pull-requests", "lastModifiedDate": 1571358241.619, "approvalRuleTemplateId": "41de97b7-EXAMPLE", "approvalRuleTemplateContent": "{\"Version\": \"2018-11-08\",\"Statements\": [{\"Type\": \"Approvers\",\"NumberOfApprovalsNeeded\": 1,\"ApprovalPoolMembers\": [\"arn:aws:sts::123456789012:assumed-role/CodeCommitReview/*\"]}]}", "creationDate": 1571352720.773, "lastModifiedUser": "arn:aws:iam::123456789012:user/Mary_Major", "approvalRuleTemplateDescription": "All pull requests must be approved by one developer on the team.", "ruleContentSha256": "2f6c21a5cEXAMPLE" }}

Pour mettre à jour la description d'un modèle de règle d'approbation

1. Sur le terminal ou la ligne de commande, exécutez la commande update-approval-rule-template-description, en spécifiant le nom du modèle de règle d'approbation et la nouvelle description :

aws codecommit update-approval-rule-template-description --approval-rule-template-name "1-approver-rule-for-all-pull-requests" --approval-rule-template-description "Requires 1 approval for all pull requests from the CodeCommitReview pool"

2. Si elle aboutit, cette commande produit une sortie similaire à ce qui suit :

{ "approvalRuleTemplate": { "creationDate": 1571352720.773, "approvalRuleTemplateDescription": "Requires 1 approval for all pull requests from the CodeCommitReview pool", "lastModifiedDate": 1571358728.41, "approvalRuleTemplateId": "41de97b7-EXAMPLE", "approvalRuleTemplateContent": "{\"Version\": \"2018-11-08\",\"Statements\": [{\"Type\": \"Approvers\",\"NumberOfApprovalsNeeded\": 1,\"ApprovalPoolMembers\": [\"arn:aws:sts::123456789012:assumed-role/CodeCommitReview/*\"]}]}", "approvalRuleTemplateName": "1-approver-rule-for-all-pull-requests", "ruleContentSha256": "2f6c21a5EXAMPLE", "lastModifiedUser": "arn:aws:iam::123456789012:user/Li_Juan" }}

Pour répertorier tous les référentiels associés à un modèle

1. Sur la ligne de commande ou le terminal, exécutez la commande list-repositories-for-approval-rule-template en spécifiant le nom du modèle :

Version de l'API 2015-04-13227

Page 237: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurDissocier un modèle de règle d’approbation

aws codecommit list-repositories-for-approval-rule-template --approval-rule-template-name 2-approver-rule-for-master

2. Si elle aboutit, cette commande renvoie une sortie similaire à ce qui suit :

{ "repositoryNames": [ "MyDemoRepo", "MyClonedRepo" ]}

Pour répertorier tous les modèles associés à un référentiel

1. Sur la ligne de commande ou le terminal, exécutez la commande list-associated-approval-rule-templates-for-repository en spécifiant le nom du référentiel :

aws codecommit list-associated-approval-rule-templates-for-repository --repository-name MyDemoRepo

2. Si elle aboutit, cette commande renvoie une sortie similaire à ce qui suit :

{ "approvalRuleTemplateNames": [ "2-approver-rule-for-master", "1-approver-rule-for-all-pull-requests" ]}

Dissocier un modèle de règle d’approbationSi les règles d'approbation générées par un modèle de règle d'approbation ne sont plus adaptées auworkflow de votre équipe dans un référentiel, vous pouvez dissocier le modèle de ce référentiel. Ladissociation d'un modèle ne supprime aucune des règles d'approbation créées lorsque le modèle étaitassocié au référentiel.

Dissocier un modèle de règle d’approbation (console)Vous pouvez utiliser la console pour supprimer l'association entre un référentiel et un modèle de règled'approbation.

Pour dissocier un modèle de règle d'approbation des référentiels

1. Ouvrez la console CodeCommit à l'adresse https://console.aws.amazon.com/codesuite/codecommit/home.

2. Choisissez Approval rule templates (Modèles de règles d'approbation). Choisissez le modèle que voussouhaitez dissocier d'un ou de plusieurs référentiels, puis choisissez Edit (Modifier).

3. Dans Associated repositories (Référentiels associés), choisissez la croix X en regard des référentielsque vous souhaitez dissocier. Les noms de référentiels n'apparaissent plus.

4. Choisissez Save. Les règles d'approbation ne sont pas appliquées aux demandes d'extraction crééesdans ces référentiels. Les règles sont par contre toujours appliquées aux demandes d'extraction quiont été faites lorsque l'association était active.

Version de l'API 2015-04-13228

Page 238: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurDissocier un modèle de règle d’approbation (AWS CLI)

Dissocier un modèle de règle d’approbation (AWS CLI)Vous pouvez utiliser l'AWS CLI pour dissocier un ou plusieurs référentiels d'un modèle de règled'approbation.

Pour dissocier un modèle de règle d'approbation d'un référentiel

1. Depuis le terminal ou la ligne de commande, exécutez la commande disassociate-approval-rule-template-from-repository, en spécifiant :

• Le nom du modèle de règle d'approbation.• Le nom du référentiel.

Par exemple, pour dissocier un modèle de règle d'approbation nommé 1-approver-rule-for-all-pull-requests d'un référentiel nommé MyDemoRepo :

aws codecommit disassociate-approval-rule-template-with-repository --repository-name MyDemoRepo --approval-rule-template-name 1-approver-rule-for-all-pull-requests

2. Si elle aboutit, cette commande ne renvoie rien.

Pour dissocier un modèle de règle d'approbation de plusieurs référentiels

1. Depuis le terminal ou la ligne de commande, exécutez la commande batch-disassociate-approval-rule-template-from-repositories, en spécifiant :

• Le nom du modèle de règle d'approbation.• Les noms des référentiels.

Par exemple, pour dissocier un modèle de règle d'approbation nommé 1-approver-rule-for-all-pull-requests d'un référentiel nommé MyDemoRepo et d'un référentiel nomméMyOtherDemoRepo :

aws codecommit batch-disassociate-approval-rule-template-with-repositories --repository-names "MyDemoRepo", "MyOtherDemoRepo" --approval-rule-template-name 1-approver-rule-for-all-pull-requests

2. Si elle aboutit, cette commande renvoie une sortie similaire à ce qui suit :

{ "disassociatedRepositoryNames": [ "MyDemoRepo", "MyOtherDemoRepo" ], "errors": []}

Supprimer un modèle de règle d’approbationVous pouvez supprimer un modèle de règle d'approbation si vous ne l'utilisez dans aucun référentiel.La suppression de modèles de règles d'approbation non utilisés permet d'assurer l'organisation de vosmodèles et facilite la recherche de modèles adaptés à vos workflows.

Version de l'API 2015-04-13229

Page 239: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurSuppression d’un modèle de règle d’approbation (console)

Rubriques• Suppression d’un modèle de règle d’approbation (console) (p. 230)• Supprimer un modèle de règle d’approbation (AWS CLI) (p. 230)

Suppression d’un modèle de règle d’approbation(console)Vous pouvez supprimer un modèle de règle d'approbation s'il n'est plus pertinent pour votre travail dedéveloppement. Lorsque vous utilisez la console pour supprimer un modèle de règle d'approbation, il estdissocié de tous les référentiels pendant le processus de suppression.

Pour supprimer un modèle de règle d'approbation

1. Ouvrez la console CodeCommit à l'adresse https://console.aws.amazon.com/codesuite/codecommit/home.

2. Choisissez Approval rule templates (Modèles de règles d'approbation). Choisissez les modèles àsupprimer, puis Delete (Supprimer).

Supprimer un modèle de règle d’approbation (AWSCLI)Vous pouvez utiliser l'AWS CLI pour supprimer une règle d'approbation si elle a été dissociée de tous lesréférentiels. Pour plus d'informations, consultez la section Dissocier un modèle de règle d’approbation(AWS CLI) (p. 229).

Pour supprimer un modèle de règle d'approbation

1. Sur un terminal ou une ligne de commande, exécutez la commande delete-approval-rule-template enspécifiant le nom du modèle de règle d'approbation que vous souhaitez supprimer :

aws codecommit delete-approval-rule-template --approval-rule-template-name 1-approver-for-all-pull-requests

2. Si elle aboutit, cette commande renvoie un résultat similaire à ce qui suit. Si le modèle de règled'approbation a déjà été supprimé, cette commande ne renvoie aucune donnée.

{ "approvalRuleTemplateId": "41de97b7-EXAMPLE"}

Version de l'API 2015-04-13230

Page 240: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateur

Utilisation des validations dans AWSCodeCommit référentiels

Les validations sont des instantanés du contenu et des modifications du contenu de votre référentiel.Chaque fois qu'un utilisateur valide et transmet (push) une modification, ces informations sont enregistréeset stockées. Ces informations indiquent également qui a validé la modification, la date et l'heure de lavalidation, ainsi que les modifications effectuées dans le cadre de la validation. Vous pouvez égalementajouter des balises à des validations pour identifier facilement des validations spécifiques. DansCodeCommit, vous pouvez :

• passer en revue les validations ;• afficher l'historique des validations dans un graphique ;• comparer une validation à son parent ou à un autre indicateur ;• ajouter des commentaires à vos validations et répondre à ceux des autres utilisateurs.

Avant de pouvoir transmettre (push) des validations vers un référentiel CodeCommit, vous devez configurervotre ordinateur local pour vous connecter au référentiel. Pour découvrir la méthode la plus simple,consultez Pour les utilisateurs HTTPS utilisant des informations d’identification Git (p. 10).

Pour obtenir des informations sur l'utilisation des autres aspects de votre référentiel dans CodeCommit,consultez Utilisation des référentiels (p. 95), Utilisation des fichiers (p. 161), Utilisation des demandesd'extraction (p. 169) , Utilisation de branches (p. 266) et Utilisation des préférences utilisateur (p. 282).

Rubriques• Créer une validation dansAWS CodeCommit (p. 232)• Afficher les détails de validation dans AWS CodeCommit (p. 237)• Comparer les validations dans AWS CodeCommit (p. 246)• Commentaire sur une validation dans AWS CodeCommit (p. 250)• Créer une balise Git dans AWS CodeCommit (p. 261)• Afficher les détails de la balise Git dans AWS CodeCommit (p. 262)• Supprimer une balise Git dans AWS CodeCommit (p. 265)

Version de l'API 2015-04-13231

Page 241: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurCréer une validation

Créer une validation dansAWS CodeCommitVous pouvez utiliser Git ou l'AWS CLI pour créer une validation dans un référentiel CodeCommit. Si lerapport local est connecté à un Référentiel CodeCommit, vous utilisez Git pour transmettre la validationdu rapport local vers le Référentiel CodeCommit. Pour créer une validation directement dans la consoleCodeCommit, consultez Créez ou ajoutez un fichier à un AWS CodeCommit référentiel (p. 163) et Modifierle contenu d’un fichier dans un AWS CodeCommit référentiel (p. 166).

Note

Si vous utilisez l' AWS CLI , assurez-vous d'avoir une version récente installée pour vous assurerque vous utilisez une version qui contient la create-commit commande.

Rubriques• Créez la première validation pour un référentiel à l'aide de l'AWS CLI (p. 232)• Créer une validation à l'aide d'un client Git (p. 233)• Créer une validation à l'aide de l'AWS CLI (p. 235)

Créez la première validation pour un référentiel à l'aidede l'AWS CLIVous pouvez utiliser l' AWS CLI et la put-file commande pour créer votre première validation pour unréférentiel. L'utilisation de put-file crée une première validation qui ajoute un fichier à votre référentiel videet crée une branche avec le nom que vous spécifiez. Elle désigne la nouvelle branche comme branche pardéfaut pour votre référentiel.

Note

Pour utiliser les commandes de l'AWS CLI avec CodeCommit, installez l'AWS CLI. Pour de plusamples informations, veuillez consulter Référence des commandes en ligne (p. 437).

Pour créer la première validation pour un référentiel à l'aide de l'AWS CLI

1. Sur votre ordinateur local, créez le fichier que vous souhaitez ajouter comme premier fichier auCodeCommit référentiel. Une pratique courante consiste à créer un fichier README.md Markdown quiexplique l'objectif de ce référentiel à d'autres utilisateurs du référentiel. Si vous incluez un README.mdfichier, le contenu du fichier s'affiche automatiquement en bas de la page Code de votre référentieldans la CodeCommit console.

2. Depuis le terminal ou la ligne de commande, exécutez la commande put-file, en spécifiant :

• Nom du référentiel dans lequel vous souhaitez ajouter le premier fichier.• Nom de la branche que vous souhaitez créer comme branche par défaut.• L'emplacement local du fichier. La syntaxe utilisée pour cet emplacement varie en fonction de votre

système d'exploitation local.• Le nom du fichier que vous souhaitez ajouter, y compris le chemin où le fichier mis à jour est stocké

dans le référentiel.• Nom d'utilisateur et adresse e-mail que vous souhaitez associer à ce fichier.• Un message de validation qui explique pourquoi vous avez ajouté ce fichier.

Le nom d'utilisateur, l'adresse e-mail et le message de validation sont facultatifs mais peuvent aiderles autres utilisateurs à savoir qui a effectué la modification et pourquoi. Si vous ne fournissez pas denom d'utilisateur, CodeCommit utilise par défaut votre nom d'utilisateur IAM ou une dérivation de votreidentifiant de connexion comme nom de l'auteur.

Version de l'API 2015-04-13232

Page 242: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurCréer une validation à l'aide d'un client Git

Par exemple, pour ajouter un fichier nommé README.md avec le contenu de « Bienvenue dans leréférentiel de notre équipe ! » dans un référentiel nommé MyDemoRepo dans une branche nomméedevelopment:

aws codecommit put-file --repository-name MyDemoRepo --branch-name development --file-path README.md --file-content "Welcome to our team repository!" --name "Mary Major" --email "[email protected]" --commit-message "I added a quick readme for our new team repository."

Si elle aboutit, cette commande renvoie une sortie similaire à ce qui suit :

{ "commitId": "724caa36EXAMPLE", "blobId": "a8a94062EXAMPLE", "treeId": "08b2fc73EXAMPLE"}

Créer une validation à l'aide d'un client GitVous pouvez créer des validations à l'aide d'un client Git installé sur votre ordinateur local, puis transmettreces validations à votre référentiel CodeCommit.

1. Remplissez les prérequis, y compris Configuration de (p. 7).

Important

Si vous n'avez pas terminé la configuration, vous ne pouvez pas vous connecter au référentielou valider dans celui-ci à l'aide de Git.

2. Veillez à créer une validation dans la branche correcte. Pour afficher une liste des branchesdisponibles et déterminer quelle branche vous utilisez actuellement, exécutez git branch . Toutes lesbranches sont affichées. Un astérisque (*) apparaît à côté de votre branche actuelle. Pour basculervers une autre branche, exécutez git checkout branch-name . S'il s'agit de votre première validationet que vous utilisez Git v2.28 ou version ultérieure (recommandé), configurez votre client Git pour créerune branche initiale avec le nom que vous souhaitez utiliser pour cette branche. Par exemple, si voussouhaitez que votre branche par défaut prenne le nom development,:

git config --global init.defaultBranch development

3. Apportez une modification à la branche (par exemple, ajoutez, modifiez ou supprimez un fichier).

Par exemple, dans le rapport local, créez un fichier nommé bird.txt avec le texte suivant :

bird.txt--------Birds (class Aves or clade Avialae) are feathered, winged, two-legged, warm-blooded, egg-laying vertebrates.

4. Exécutez git status qui doit indiquer que bird.txt n'a pas encore été inclus dans une validation enattente :

... Untracked files: (use "git add <file>..." to include in what will be committed) bird.txt

Version de l'API 2015-04-13233

Page 243: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurCréer une validation à l'aide d'un client Git

5. Exécutez git add bird.txt pour inclure le nouveau fichier dans la validation en attente.6. Si vous exécutez à nouveau git status, vous devez voir une sortie similaire à ce qui suit. Elle

indique que bird.txt fait désormais partie de la validation en attente ou a fait l'objet d'une copieintermédiaire pour validation :

...Changes to be committed: (use "git reset HEAD <file>..." to unstage) new file: bird.txt

7. Pour finaliser la validation, exécutez git commit avec l'option -m (par exemple, git commit -m "Addingbird.txt to the repository."). L'option -m crée le message de validation.

8. Si vous exécutez à nouveau git status, vous devez voir une sortie similaire à ce qui suit. Elle indiqueque la validation est prête à être transmise depuis le rapport local vers le Référentiel CodeCommit :

... nothing to commit, working directory clean

9. Avant de transmettre la validation finalisée depuis rapport local le vers le Référentiel CodeCommit ,vous pouvez voir ce que vous transmettez en exécutant git diff --stat remote-name/branch-name ,où remote-name est le pseudonyme rapport local utilisé par l' pour les Référentiel CodeCommit et lesbranch-name est le nom de la branche à comparer.

Tip

Pour obtenir le pseudonyme, exécutez git remote . Pour obtenir une liste des noms debranche, exécutez git branch . Un astérisque (*) apparaît en regard de la branche actuelle.Vous pouvez également exécuter git status pour obtenir le nom de la branche actuelle.

Note

Si vous avez cloné le référentiel, du point de vue de l' rapport local , remote-name n'est pasle nom du Référentiel CodeCommit . Lorsque vous clonez un référentiel, remote-name estdéfini automatiquement sur origin .

Par exemple, git diff --stat origin/master affiche une sortie similaire à ce qui suit :

bird.txt | 1 +1 file changed, 1 insertion(+)

La sortie suppose que vous avez déjà connecté l' rapport local au Référentiel CodeCommit . (Pourobtenir des instructions, consultez Connexion à un référentiel (p. 99).)

10. Lorsque vous êtes prêt à transmettre la validation du rapport local vers le Référentiel CodeCommit ,exécutez git push remote-name branch-name , où remote-name est le pseudonyme rapportlocal utilisé par l' pour les Référentiel CodeCommit et les branch-name est le nom de la branche àtransmettre au Référentiel CodeCommit .

Par exemple, exécuter git push origin master affiche une sortie similaire à ce qui suit :

Pour HTTPS :

Counting objects: 7, done.Delta compression using up to 4 threads.Compressing objects: 100% (4/4), done.Writing objects: 100% (5/5), 516 bytes | 0 bytes/s, done.Total 5 (delta 2), reused 0 (delta 0)remote:To https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo

Version de l'API 2015-04-13234

Page 244: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurCréer une validation à l'aide de l'AWS CLI

b9e7aa6..3dbf4dd master -> master

Pour SSH :

Counting objects: 7, done.Delta compression using up to 4 threads.Compressing objects: 100% (4/4), done.Writing objects: 100% (5/5), 516 bytes | 0 bytes/s, done.Total 5 (delta 2), reused 0 (delta 0)remote:To ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo b9e7aa6..3dbf4dd master -> master

Tip

Si vous ajoutez l'option -u à git push (par exemple, git push -u origin master), vous devezensuite uniquement exécuter git push à l'avenir, car les informations de suivi en amont ontété configurées. Pour obtenir des informations de suivi en amont, exécutez git remote showremote-name (par exemple, git remote show origin).

Pour plus d'options, consultez la documentation Git.

Créer une validation à l'aide de l'AWS CLIVous pouvez utiliser l'AWS CLI et la commande create-commit pour créer une validation pour unréférentiel à la pointe d'une branche spécifiée. Vous pouvez également créer une validation de fusionnon référencée pour représenter les résultats de la fusion de deux spécificateurs de validation. Pour plusd'informations, consultez Créer une validation non référencée (p. 213).

Note

Pour utiliser les commandes de l'AWS CLI avec CodeCommit, installez l'AWS CLI. Pour de plusamples informations, veuillez consulter Référence des commandes en ligne (p. 437).

Pour créer une validation

1. Sur votre ordinateur local, apportez les modifications que vous souhaitez valider dans le référentielCodeCommit.

2. Depuis le terminal ou la ligne de commande, exécutez la commande create-commit, en spécifiant :

• Le référentiel dans lequel vous souhaitez valider les modifications.• La branchez où vous souhaitez valider les modifications.• L'ID de validation complet de la validation la plus récente effectuée dans cette branche, également

connu comme la pointe ou la validation de tête ou l'ID de validation parent.• Conserver ou non des dossiers vides si les modifications que vous avez effectuées suppriment le

contenu de ces dossiers. Par défaut, la valeur est false (fausse).• Les informations sur les fichiers que vous souhaitez ajouter, modifier ou supprimer.• Le nom d'utilisateur et l'adresse e-mail que vous souhaitez associer à ces modifications.• Un message de validation qui explique pourquoi vous avez apporté ces modifications.

Le nom d'utilisateur, l'adresse e-mail et le message de validation sont facultatifs mais aident les autresutilisateurs à savoir qui a effectué les modifications et pourquoi. Si vous ne fournissez pas de nomd'utilisateur, CodeCommit utilise par défaut votre nom d'utilisateur IAM ou une dérivation de votreidentifiant de connexion comme nom de l'auteur.

Version de l'API 2015-04-13235

Page 245: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurCréer une validation à l'aide de l'AWS CLI

Par exemple, pour créer une validation pour un référentiel qui ajoute un meeting.md fichier dans unréférentiel nommé MyDemoRepo dans le master branche :

aws codecommit create-commit --repository-name MyDemoRepo --branch-name master --parent-commit-id a4d4d5da-EXAMPLE --put-files "filePath=meeting.md,fileContent='We will use this file for meeting notes.'"

Si elle aboutit, cette commande renvoie une sortie similaire à ce qui suit :

{ "commitId": "4df8b524-EXAMPLE", "treeId": "55b57003-EXAMPLE", "filesAdded": [ { "blobId": "5e1c309d-EXAMPLE", "absolutePath": "meeting.md", "fileMode": "NORMAL" } ], "filesDeleted": [], "filesUpdated": []}

Pour créer une validation qui apporte des modifications aux fichiers nommés file1.py et file2.py,renomme un fichier à partir de picture.png to image1.png et le déplace d'un répertoire nommépictures dans un répertoire nommé imageset supprime un fichier nommé ExampleSolution.pydans un référentiel nommé MyDemoRepo sur une branche nommée MyFeatureBranch dont lavalidation la plus récente a un ID de 4c925148EXAMPLE:

aws codecommit create-commit --repository-name MyDemoRepo --branch-name MyFeatureBranch --parent-commit-id 4c925148EXAMPLE --name "Saanvi Sarkar" --email "[email protected]" --commit-message "I'm creating this commit to update a variable name in a number of files." --keep-empty-folders false --put-files '{"filePath": "file1.py", "fileMode": "EXECUTABLE", "fileContent": "bucket_name = sys.argv[1] region = sys.argv[2]"}''{"filePath": "file2.txt", "fileMode": "NORMAL", "fileContent": "//Adding a comment to explain the variable changes in file1.py"}' '{"filePath": "images/image1.png","fileMode": "NORMAL", "sourceFile": {"filePath": "pictures/picture.png", "isMove": true}}' --delete-files filePath="ExampleSolution.py"

Note

La syntaxe pour le segment --put-files varie légèrement en fonction de votre systèmed'exploitation. L'exemple ci-dessus est optimisé pour les utilisateurs Linux, macOS, or Unix etWindows avec un émulateur Bash. Les utilisateurs Windows en ligne de commande ou dansPowershell doivent utiliser une syntaxe approprié pour ces systèmes.

Si elle aboutit, cette commande renvoie une sortie similaire à ce qui suit :

{ "commitId": "317f8570EXAMPLE", "treeId": "347a3408EXAMPLE", "filesAdded": [ { "absolutePath": "images/image1.png", "blobId": "d68ba6ccEXAMPLE", "fileMode": "NORMAL" } ],

Version de l'API 2015-04-13236

Page 246: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAffichage des détails d'une validation

"filesUpdated": [ { "absolutePath": "file1.py", "blobId": "0a4d55a8EXAMPLE", "fileMode": "EXECUTABLE" }, { "absolutePath": "file2.txt", "blobId": "915766bbEXAMPLE", "fileMode": "NORMAL" } ], "filesDeleted": [ { "absolutePath": "ExampleSolution.py", "blobId": "4f9cebe6aEXAMPLE", "fileMode": "EXECUTABLE" }, { "absolutePath": "pictures/picture.png", "blobId": "fb12a539EXAMPLE", "fileMode": "NORMAL" } ]}

Afficher les détails de validation dans AWSCodeCommit

Vous pouvez utiliser la console AWS CodeCommit pour parcourir l'historique de validations dans unréférentiel. Ceci peut vous aider à identifier les modifications effectuées dans un référentiel, y compris :

• Quand et par qui les modifications ont été effectuées.• Quand des validations spécifiques ont été fusionnées dans une branche.

L'affichage de l'historique de validations pour une branche peut également vous aider à comprendre lesdifférences entre des branches. Si vous utilisez le balisage, vous pouvez également consulter rapidementla validation qui a été étiquetée avec une balise spécifique et les parents de cette validation balisée. Sur laligne de commande, vous pouvez utiliser Git pour afficher des détails sur les validations dans un rapportlocal ou un Référentiel CodeCommit.

Parcourir les validations dans un référentielVous pouvez utiliser la console AWS CodeCommit pour parcourir l'historique de validations vers unréférentiel. Vous pouvez aussi afficher un graphique des validations dans le référentiel et ses branches aufil du temps. Cela peut vous aider à comprendre l'historique du référentiel, notamment à quel moment desmodifications ont été effectuées.

Note

L'utilisation de la commande git rebase pour rebaser un référentiel modifie l'historique d'unréférentiel, ce qui peut entraîner l'affichage dans le désordre des validations. Pour plusd'informations, consultez Git Branching-Rebasing ou votre documentation Git.

Rubriques• Parcourir l’historique de validation d’un référentiel (p. 238)

Version de l'API 2015-04-13237

Page 247: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurParcourir les validations dans un référentiel

• Afficher un graphique de l’historique de validation d’un référentiel (p. 239)

Parcourir l’historique de validation d’un référentielVous pouvez parcourir l'historique des validations à la recherche d'une branche ou d'une balise spécifiquedu référentiel, incluant des informations sur l'outil de validation et le message de validation. Vous pouvezaussi afficher le code pour une validation.

Pour parcourir l'historique de validations

1. Ouvrez la console CodeCommit à l'adresse https://console.aws.amazon.com/codesuite/codecommit/home.

2. Dans Repositories (Référentiels), sélectionnez le référentiel pour lequel vous souhaitez consulterl'historique de validation.

3. Dans le volet de navigation, choisissez Validations. Dans la vue de l'historique des validations,un historique des validations du référentiel dans la branche par défaut est affiché, dans l'ordrechronologique inverse de la date de validation. Les dates et heures sont exprimées en heure UTC(temps universel coordonné). Vous pouvez afficher l'historique des validations d'une autre brancheen choisissant le bouton de sélection de vue, puis en choisissant une branche dans la liste. Si vousutilisez des balises dans votre référentiel, vous pouvez afficher une validation dotée d'une balisespécifique et ses parents en choisissant cette balise dans le bouton de sélection de vue.

4. Pour voir la différence entre une validation et son parent, et pour voir tous les commentaires sur lesmodifications, choisissez l'ID de validation abrégé. Pour de plus amples informations, veuillez consulterComparer une validation à son parent (p. 246) et Commentaire relatif à une validation (p. 250).Pour afficher la différence entre une validation et tout autre spécificateur de validation, y comprisune branche, une balise ou un ID de validation, consultez Comparaison de deux spécificateurs devalidation quelconques (p. 248).

5. Effectuez une ou plusieurs des actions suivantes :

• Pour afficher la date et l'heure d'une modification, survolez la date de validation.• Pour afficher l'ID de validation complet, copiez et collez-le dans un éditeur de texte ou un autre

emplacement. Pour le copier, choisissez Copier l'ID.• Pour afficher le code tel qu'il était au moment de la validation, choisissez Browse (Parcourir). Le

contenu du référentiel tel qu'il était au moment de la validation s'affiche dans la vue Code. Le boutonde sélection de vue affiche l'ID de validation abrégé au lieu d'une branche ou d'une balise.

Version de l'API 2015-04-13238

Page 248: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurParcourir les validations dans un référentiel

Afficher un graphique de l’historique de validation d’un référentielVous pouvez afficher un graphique des validations effectuées sur un référentiel. La vue Commit Visualizerest une représentation graphique acyclique dirigée (DAG, Directed Acyclic Graph) de toutes les validationseffectuées vers une branche du référentiel. Cette représentation graphique peut vous aider à comprendre àquel moment des validations particulières et des fonctionnalités associées ont été ajoutées ou fusionnées.Elle peut également vous aider à identifier à quel moment une modification a été effectuée par rapport àd'autres modifications.

Note

Les validations fusionnées à l'aide de la méthode fast-forward (avance rapide) n'apparaissent pasen tant que lignes distinctes dans le graphique des validations.

Pour afficher un graphique de validations

1. Ouvrez la console CodeCommit à l'adresse https://console.aws.amazon.com/codesuite/codecommit/home.

2. Dans Repositories (Référentiels), sélectionnez le référentiel pour lequel vous souhaitez afficher legraphique de validations.

3. Dans le volet de navigation, choisissez Commits (Validations), puis l'onglet Commit visualizer(Visualiseur de validations).

Dans le graphique des validations, l'ID de validation abrégé et l'objet de chaque message de validationapparaissent à côté de ce point dans le graphique.

Note

Le graphique peut afficher jusqu'à 35 branches sur une page. S'il existe plus de 35 branches,le graphique est trop complexe pour s'afficher. Vous pouvez simplifier la vue de deux façons :

Version de l'API 2015-04-13239

Page 249: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAfficher les détails de la validation (AWS CLI)

• En utilisant le bouton de sélection de vue pour afficher le graphique pour une branchespécifique.

• En collant l'ID de validation complet dans la zone de recherche pour afficher le graphique àpartir de cette validation.

4. Pour afficher un nouveau graphique à partir d'une validation, sélectionnez le point dans le graphiquequi correspond à cette validation. Le bouton de sélection de vue change pour afficher l'ID de validationabrégé.

Afficher les détails de la validation (AWS CLI)Git vous permet de consulter des informations détaillées sur les validations. Vous pouvez égalementutiliser l'AWS CLI pour afficher des détails sur les validations dans un rapport local ou dans un RéférentielCodeCommit, en exécutant les commandes suivantes :

• Pour afficher des informations sur une validation, exécutez aws codecommit get-commit (p. 240).• Pour afficher des informations sur plusieurs validations, exécutez aws codecommit batch-get-

commits (p. 242).• Pour afficher des informations sur une validation de fusion, exécutez aws codecommit get-merge-

commit (p. 241).• Pour afficher des informations sur les modifications d’un spécificateur de validation (branche, balise,

HEAD ou autres références complètes, comme la validation IDs), exécuter aws codecommit get-differences (p. 243).

• Pour afficher le contenu codé en base 64 d'un objet blob Git dans un référentiel, exécutez awscodecommit get-blob (p. 244).

Pour afficher des informations sur une validation1. Exécutez la commande aws codecommit get-commit en indiquant :

• Nom du Référentiel CodeCommit (avec l'option --repository-name).• ID de validation complet.

Par exemple, pour afficher des informations sur une validation avec l'ID 317f8570EXAMPLE dans unRéférentiel CodeCommit nommé MyDemoRepo :

Version de l'API 2015-04-13240

Page 250: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAfficher les détails de la validation (AWS CLI)

aws codecommit get-commit --repository-name MyDemoRepo --commit-id 317f8570EXAMPLE

2. Si la commande s'exécute correctement, la sortie inclut ce qui suit :

• Des informations sur l'auteur de la validation (comme configuré dans Git), y compris la date auformat d'horodatage et le décalage par rapport à l'heure UTC (Coordinated Universal Time).

• Des informations sur le valideur (comme configuré dans Git), y compris la date au formatd'horodatage et le décalage par rapport à l'heure UTC.

• L'ID de l'arborescence Git dans laquelle la validation existe.• L'ID de validation de la validation parent.• Le message de validation.

Voici des exemples de sorties basés sur l'exemple de commande précédent :

{ "commit": { "additionalData": "", "committer": { "date": "1484167798 -0800", "name": "Mary Major", "email": "[email protected]" }, "author": { "date": "1484167798 -0800", "name": "Mary Major", "email": "[email protected]" }, "treeId": "347a3408EXAMPLE", "parents": [ "4c925148EXAMPLE" ], "message": "Fix incorrect variable name" }}

Pour afficher des informations sur une fusion de validation1. Exécutez la commande get-merge-commit en indiquant :

• Un spécificateur de validation pour la source de la fusion (avec l' option --source-commit-specifier).• Un spécificateur de validation de la destination de la fusion (avec l'option --destination-commit-

specifier).• L'option de fusion que vous souhaitez utiliser (avec l'option --merge-option).• Le nom du référentiel (avec l'option --repository-name).

Par exemple, pour afficher des informations sur une validation de fusion pour la branche sourcenommée bugfix-bug1234 avec une branche de destination nommée master à l’aide de laTHREE_WAY_MERGE dans un référentiel nommé MyDemoRepo:

aws codecommit get-merge-commit --source-commit-specifier bugfix-bug1234 --destination-commit-specifier master --merge-option THREE_WAY_MERGE --repository-name MyDemoRepo

2. Si elle aboutit, cette commande renvoie des informations similaires à ce qui suit :

Version de l'API 2015-04-13241

Page 251: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAfficher les détails de la validation (AWS CLI)

{ "sourceCommitId": "c5709475EXAMPLE", "destinationCommitId": "317f8570EXAMPLE", "baseCommitId": "fb12a539EXAMPLE", "mergeCommitId": "ffc4d608eEXAMPLE"}

Pour afficher des informations sur plusieurs validations1. Exécutez la commande batch-get-commits en indiquant :

• Nom du Référentiel CodeCommit (avec l'option --repository-name).• Une liste de validation complète IDs pour chaque validation pour laquelle vous souhaitez afficher des

informations.

Par exemple, pour afficher des informations sur les validations avec l’ IDs 317f8570EXAMPLE et4c925148EXAMPLE dans un Référentiel CodeCommit nommé MyDemoRepo:

aws codecommit batch-get-commits --repository-name MyDemoRepo --commit-ids 317f8570EXAMPLE 4c925148EXAMPLE

2. Si la commande s'exécute correctement, la sortie inclut ce qui suit :

• Les informations sur les auteurs de la validation (comme configuré dans Git), y compris la date auformat d'horodatage et le décalage par rapport à l'heure UTC (Coordinated Universal Time).

• Informations sur les valideurs (comme configuré dans Git), y compris la date au format d'horodatageet le décalage par rapport à l'heure UTC.

• Le IDs de l’arborescence Git où la validation existe.• La validation IDs de la validation parent.• Messages de validation.

Voici des exemples de sorties basés sur l'exemple de commande précédent :

{ "commits": [ { "additionalData": "", "committer": { "date": "1508280564 -0800", "name": "Mary Major", "email": "[email protected]" }, "author": { "date": "1508280564 -0800", "name": "Mary Major", "email": "[email protected]" }, "commitId": "317f8570EXAMPLE", "treeId": "1f330709EXAMPLE", "parents": [ "6e147360EXAMPLE" ], "message": "Change variable name and add new response element" }, {

Version de l'API 2015-04-13242

Page 252: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAfficher les détails de la validation (AWS CLI)

"additionalData": "", "committer": { "date": "1508280542 -0800", "name": "Li Juan", "email": "[email protected]" }, "author": { "date": "1508280542 -0800", "name": "Li Juan", "email": "[email protected]" }, "commitId": "4c925148EXAMPLE", "treeId": "1f330709EXAMPLE", "parents": [ "317f8570EXAMPLE" ], "message": "Added new class" } }

Pour afficher des informations sur les modifications pour unspécificateur de validation1. Exécutez la commande aws codecommit get-differences en indiquant :

• Nom du Référentiel CodeCommit (avec l'option --repository-name).• Les spécificateurs de validation sur lesquels vous souhaitez obtenir des informations. Seul --after-commit-specifier est obligatoire. Si vous ne spécifiez pas --before-commit-specifier, tous les fichiers actuels par rapport au spécificateur --after-commit-specifiersont affichés.

Par exemple, pour afficher des informations sur les différences entre les validations avec le IDs317f8570EXAMPLE et 4c925148EXAMPLE dans un Référentiel CodeCommit nommé MyDemoRepo:

aws codecommit get-differences --repository-name MyDemoRepo --before-commit-specifier 317f8570EXAMPLE --after-commit-specifier 4c925148EXAMPLE

2. Si la commande s'exécute correctement, la sortie inclut ce qui suit :

• Une liste de différences, notamment le type de modification (A pour ajouté, D pour supprimé ou Mpour modifié).

• Le mode du type de modification de fichier.• L'ID de l'objet blob Git qui contient la modification.

Voici des exemples de sorties basés sur l'exemple de commande précédent :

{ "differences": [ { "afterBlob": { "path": "blob.txt", "blobId": "2eb4af3bEXAMPLE", "mode": "100644" }, "changeType": "M", "beforeBlob": { "path": "blob.txt",

Version de l'API 2015-04-13243

Page 253: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAfficher les détails de la validation (Git)

"blobId": "bf7fcf28fEXAMPLE", "mode": "100644" } } ]}

Pour afficher des informations détaillées sur un objet blob Git1. Exécutez la commande aws codecommit get-blob en indiquant :

• Nom du Référentiel CodeCommit (avec l'option --repository-name).• L'ID de l'objet blob Git (avec l'option --blob-id ).

Par exemple, pour afficher des informations sur un objet blob Git avec l'ID 2eb4af3bEXAMPLE dansun Référentiel CodeCommit nommé MyDemoRepo :

aws codecommit get-blob --repository-name MyDemoRepo --blob-id 2eb4af3bEXAMPLE

2. Si la commande s'exécute correctement, la sortie inclut ce qui suit :

• Le contenu codé en base 64 de l'objet blob, généralement un fichier.

Par exemple, la sortie de la commande précédente peut être semblable à ce qui suit :

{ "content": "QSBCaW5hcnkgTGFyToEXAMPLE="}

Afficher les détails de la validation (Git)Avant d'exécuter les étapes suivantes, vous devez avoir déjà connecté le rapport local au RéférentielCodeCommit et validé des modifications. Pour obtenir des instructions, consultez Connexion à unréférentiel (p. 99).

Pour afficher les modifications apportées à la validation la plus récente dans un référentiel, exécutez le gitshow.

git show

La sortie produite lors de l'exécution de la commande est semblable à ce qui suit :

commit 4f8c6f9dAuthor: Mary Major <[email protected]>Date: Mon May 23 15:56:48 2016 -0700

Added bumblebee.txt

diff --git a/bumblebee.txt b/bumblebee.txtnew file mode 100644index 0000000..443b974--- /dev/null+++ b/bumblebee.txt@@ -0,0 +1 @@

Version de l'API 2015-04-13244

Page 254: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAfficher les détails de la validation (Git)

+A bumblebee, also written bumble bee, is a member of the bee genus Bombus, in the family Apidae.\ No newline at end of file

Note

Dans cet exemple et dans les exemples suivants, valider IDs ont été abrégés. L’engagementcomplet IDs ne sont pas affichés.

Pour afficher les modifications qui ont été effectuées, utilisez la commande git show avec l'ID de validation :

git show 94ba1e60

commit 94ba1e60Author: John Doe <[email protected]>Date: Mon May 23 15:39:14 2016 -0700

Added horse.txt

diff --git a/horse.txt b/horse.txtnew file mode 100644index 0000000..080f68f--- /dev/null+++ b/horse.txt@@ -0,0 +1 @@+The horse (Equus ferus caballus) is one of two extant subspecies of Equus ferus.

Pour voir les différences entre deux validations, exécutez le git diff et inclure les deux validations IDs.

git diff ce22850d 4f8c6f9d

Dans cet exemple, la différence entre les deux validations est que deux fichiers ont été ajoutés. La sortieproduite lors de l'exécution de la commande est semblable à ce qui suit :

diff --git a/bees.txt b/bees.txtnew file mode 100644index 0000000..cf57550--- /dev/null+++ b/bees.txt@@ -0,0 +1 @@+Bees are flying insects closely related to wasps and ants, and are known for their role in pollination and for producing honey and beeswax.diff --git a/bumblebee.txt b/bumblebee.txtnew file mode 100644index 0000000..443b974--- /dev/null+++ b/bumblebee.txt@@ -0,0 +1 @@+A bumblebee, also written bumble bee, is a member of the bee genus Bombus, in the family Apidae.\ No newline at end of file

Pour utiliser Git pour afficher des détails sur les validations dans un rapport local, exécutez la commandegit log :

git log

Si elle aboutit, cette commande produit une sortie similaire à ce qui suit :

Version de l'API 2015-04-13245

Page 255: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurComparer des validations

commit 94ba1e60Author: John Doe <[email protected]>Date: Mon May 23 15:39:14 2016 -0700

Added horse.txt

commit 4c925148Author: Jane Doe <[email protected]>Date: Mon May 22 14:54:55 2014 -0700

Added cat.txt and dog.txt

Pour afficher uniquement la validation IDs et messages, exécutez le git log --pretty=oneline commande :

git log --pretty=oneline

Si elle aboutit, cette commande produit une sortie similaire à ce qui suit :

94ba1e60 Added horse.txt4c925148 Added cat.txt and dog.txt

Pour plus d'options, consultez la documentation Git.

Comparer les validations dans AWS CodeCommitVous pouvez utiliser la console CodeCommit pour afficher les différences entre des spécificateurs devalidation dans un référentiel CodeCommit. Vous pouvez rapidement visualiser la différence entre unevalidation et son parent. Vous pouvez également comparer deux références, y compris IDs.

Rubriques• Comparer une validation à son parent (p. 246)• Comparaison de deux spécificateurs de validation quelconques (p. 248)

Comparer une validation à son parentVous pouvez rapidement visualiser la différence entre une validation et son parent pour passer en revue lemessage de validation, le valideur et ce qui a changé.

1. Ouvrez la console CodeCommit à l'adresse https://console.aws.amazon.com/codesuite/codecommit/home.

2. Sur la page Référentiels, choisissez le référentiel dans lequel vous souhaitez visualiser la différenceentre une validation et son parent.

3. Dans le volet de navigation, choisissez Validations.4. Choisissez l'ID de validation abrégé d'une validation quelconque de la liste. La vue change pour

afficher les détails de cette validation, y compris les différences entre celle-ci et sa validation parent.

Version de l'API 2015-04-13246

Page 256: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurComparer une validation à son parent

Vous pouvez afficher les modifications côte à côte (vue fractionnée) ou en ligne (vue unifiée).Vous pouvez également masquer ou afficher les modifications d'espaces. Vous pouvez égalementajouter des commentaires. Pour plus d'informations, consultez la section Commentaire relatif à unevalidation (p. 250).

Note

Vos préférences d'affichage du code, ainsi que les autres paramètres de la console sontenregistrés en tant que cookies du navigateur chaque fois que vous les modifiez. Pour plusd'informations, consultez la section Utilisation des préférences utilisateur (p. 282).

Version de l'API 2015-04-13247

Page 257: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurComparaison de deux spécificateurs

de validation quelconques

Note

En fonction du style de fin de ligne, de votre éditeur de code et d'autres facteurs, vous pouvezvoir des lignes complètes ajoutées ou supprimées à la place de modifications spécifiquesdans une ligne. Le niveau de détail correspond à ce qui est retourné dans les commandes gitshow et git diff.

5. Pour comparer une validation à son parent à partir de l'onglet Visualiseur de validations, choisissez l'IDde validation abrégé. Les détails de validation s'affichent, y compris les modifications entre la validationet sa validation parent.

Comparaison de deux spécificateurs de validationquelconquesVous pouvez visualiser les différences entre deux spécificateurs de validation quelconques dans la consoleCodeCommit. Les spécificateurs de validation sont des références, telles que des branches, des balises etdes validations IDs.

1. Ouvrez la console CodeCommit à l'adresse https://console.aws.amazon.com/codesuite/codecommit/home.

2. Sur la page Référentiels, choisissez le référentiel dans lequel vous souhaitez comparer desvalidations, des branches ou des validations balisées.

3. Dans le volet de navigation, choisissez Validations, puis Compare commits (Comparer desvalidations).

Version de l'API 2015-04-13248

Page 258: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurComparaison de deux spécificateurs

de validation quelconques

4. Utilisez les zones pour comparer deux spécificateurs de validation.

• Pour comparer la pointe d'une branche, choisissez le nom de la branche dans la liste. Cela permetde sélectionner la validation la plus récente issue de cette branche pour la comparaison.

• Pour comparer une validation avec une balise spécifique qui lui est associée, choisissez le nomde la balise dans la liste, le cas échéant. Cela permet de sélectionner la validation balisée pour lacomparaison.

• Pour comparer une validation spécifique, saisissez ou collez l'ID de validation dans la zone. Pourobtenir l'ID de validation complet, choisissez Commits dans la barre de navigation et copiez l'IDde validation figurant dans la liste. Sur la page Comparer les validations, collez l'ID de validationcomplet dans la zone de texte, puis choisissez Utiliser ID de validation.

5. Une fois que vous avez sélectionné les spécificateurs, choisissez Compare.

Version de l'API 2015-04-13249

Page 259: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurCommentaire relatif à une validation

Vous pouvez afficher les différences côte à côte (vue fractionnée) ou en ligne (vue unifiée). Vouspouvez également masquer ou afficher les modifications d'espaces.

6. Pour effacer vos choix de comparaison, choisissez Annuler.

Commentaire sur une validation dans AWSCodeCommit

Vous pouvez utiliser la console CodeCommit pour commenter les validations effectuées dans unréférentiel, et pour vérifier les commentaires des autres utilisateurs sur les validations ou y répondre. Cettefonction vous permet de discuter des modifications effectuées dans un référentiel et de répondre à desquestions telles que :

• Pourquoi les modifications ont-elles été effectuées ?• Des modifications supplémentaires sont-elles requises ?• Les modifications doivent-elles être fusionnées dans une autre branche ?

Les commentaires peuvent porter sur une validation globale, sur un fichier dans une validation, ou encoresur une ligne ou une modification spécifique dans un fichier. Vous pouvez également créer un lien vers uneou plusieurs lignes de code en sélectionnant la ou les lignes, puis en copiant l'URL résultante dans votrenavigateur.

Note

Pour des résultats optimaux, utilisez la fonction de commentaires lorsque vous êtes connectéen tant qu'utilisateur IAM. Celle-ci n'est pas optimisée pour les utilisateurs qui se connectent àl'aide des informations d'identification du compte racine, d'un accès fédéré ou d'informationsd'identification temporaires.

Rubriques• Afficher les commentaires sur une validation dans un référentiel (p. 251)• Ajouter et répondre aux commentaires sur une validation dans un référentiel (p. 251)

Version de l'API 2015-04-13250

Page 260: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAfficher les commentaires sur

une validation dans un référentiel

• Afficher, ajouter, mettre à jour et répondre aux commentaires (AWS CLI) (p. 255)

Afficher les commentaires sur une validation dans unréférentielVous pouvez utiliser la console CodeCommit pour afficher les commentaires sur une validation.

Pour afficher les commentaires relatifs à une validation

1. Ouvrez la console CodeCommit à l'adresse https://console.aws.amazon.com/codesuite/codecommit/home.

2. Dans Référentiels, sélectionnez le référentiel pour lequel vous souhaitez consulter les commentairesde validation.

3. Dans le volet de navigation, choisissez Validations. Choisissez l'ID de la validation dans laquelle voussouhaitez afficher les commentaires.

La page associée à cette validation s'affiche, ainsi que les éventuels commentaires.

Ajouter et répondre aux commentaires sur unevalidation dans un référentielVous pouvez utiliser la console CodeCommit pour ajouter des commentaires à la comparaison d'unevalidation et d'un parent ou à la comparaison entre deux validations spécifiées. Vous pouvez égalementrépondre aux commentaires avec des emojis, avec vos propres commentaires, ou les deux.

Ajouter et répondre aux commentaires sur une validation(console)Vous pouvez ajouter et répondre aux commentaires d’une validation avec du texte et avec des emojis. Voscommentaires et emojis sont marqués comme appartenant au IAM utilisateur ou rôle que vous avez utilisépour vous connecter à la console.

Pour ajouter des commentaires et répondre aux commentaires existants sur une validation

1. Ouvrez la console CodeCommit à l'adresse https://console.aws.amazon.com/codesuite/codecommit/home.

2. Dans Référentiels, sélectionnez le référentiel dans lequel vous souhaitez commenter les validations.3. Dans le volet de navigation, choisissez Validations. Choisissez l'ID de la validation dans laquelle vous

souhaitez ajouter des commentaires ou y répondre.

La page associée à cette validation s'affiche, ainsi que les éventuels commentaires.4. Pour ajouter un commentaire, effectuez l'une des actions suivantes :

• Pour ajouter un commentaire général, dans Commentaires sur les modifications, saisissez uncommentaire, puis cliquez sur Enregistrer. Vous pouvez utiliser Markdown ou saisir le commentaireen texte brut.

Version de l'API 2015-04-13251

Page 261: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAjouter et répondre aux commentairessur une validation dans un référentiel

• Pour ajouter un commentaire à un fichier dans la validation, recherchez le nom du fichier. ChoisissezCommenter le fichier, saisissez votre commentaire, puis sélectionnez Enregistrer.

• Pour ajouter un commentaire à une ligne modifiée dans la validation, accédez à la ligne dans

laquelle la modification apparaît. Choisissez la bulle de commentaire , saisissez votrecommentaire, puis choisissez Économiser.

Version de l'API 2015-04-13252

Page 262: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAjouter et répondre aux commentairessur une validation dans un référentiel

Note

Vous pouvez modifier votre commentaire après l'avoir enregistré. Vous pouvez égalementsupprimer son contenu. Le commentaire restera avec un message indiquant que le contenu aété supprimé. Pensez à utiliser le mode Aperçu de markdown afin de vérifier le commentaireavant de l'enregistrer.

5. Pour répondre à des commentaires liés à une validation, sélectionnez Répondre. Pour répondre àun commentaire avec un emoji, choisissez l’emoji que vous souhaitez dans la liste. Vous ne pouvezchoisir qu’un seul emoji par commentaire. Si vous souhaitez modifier votre réaction emoji, choisissez-en une autre dans la liste ou choisissez Aucun pour supprimer votre réaction.

Version de l'API 2015-04-13253

Page 263: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAjouter et répondre aux commentairessur une validation dans un référentiel

Ajouter et répondre aux commentaires lors de la comparaison dedeux spécificateurs de validationVous pouvez ajouter des commentaires à une comparaison entre des branches, des balises ou desvalidations.

Pour ajouter des commentaires lors de la comparaison de spécificateurs de validation ou yrépondre

1. Ouvrez la console CodeCommit à l'adresse https://console.aws.amazon.com/codesuite/codecommit/home.

2. Dans Référentiels, choisissez le référentiel dans lequel vous souhaitez comparer des validations, desbranches ou des validations balisées.

3. Dans le volet de navigation, choisissez Validations, puis l'onglet Comparer les validations.

4. Utilisez les champs Destination et Source pour comparer deux spécificateurs de validation. Utilisez leslistes déroulantes ou collez dans la validation IDs. Choisir Comparer.

5. Effectuez une ou plusieurs des actions suivantes :

Version de l'API 2015-04-13254

Page 264: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAfficher, ajouter, mettre à jour et

répondre aux commentaires (AWS CLI)

•Pour ajouter des commentaires aux fichiers ou aux lignes, choisissez la bulle de commentaire .

• Pour ajouter des commentaires généraux concernant la comparaison des modifications, accédez àCommentaires sur les modifications.

Afficher, ajouter, mettre à jour et répondre auxcommentaires (AWS CLI)Vous pouvez afficher, ajouter, mettre à jour et supprimer le contenu d'un commentaire ou répondre à uncommentaire en exécutant les commandes suivantes :

• Pour afficher les commentaires sur la comparaison entre deux validations, exécutez get-comments-for-compared-commit (p. 255).

• Pour afficher des détails sur un commentaire, exécutez get-comment (p. 256).• Pour supprimer le contenu d'un commentaire que vous avez créé, exécutez delete-comment-

content (p. 257).• Pour créer un commentaire sur la comparaison entre deux validations, exécutez post-comment-for-

compared-commit (p. 257).• Pour mettre à jour un commentaire, exécutez update-comment (p. 258).• Pour répondre à un commentaire, exécutez post-comment-reply (p. 259).• Pour répondre à un commentaire avec un emoji, exécutez put-comment-reaction (p. 260).• Pour afficher les réactions emoji à un commentaire, exécutez get-comment-reactions (p. 260).

Pour afficher les commentaires relatifs à une validation1. Exécutez la commande get-comments-for-compared-commit en indiquant :

• Nom du Référentiel CodeCommit (avec l'option --repository-name).• L'ID de validation complet de l'après-validation pour établir la direction de la comparaison (avec

l'option --after-commit-id option).• L'ID de validation complet de l'avant-validation pour établir la direction de la comparaison (avec

l'option --before-commit-id).• (Facultatif) Un jeton d'énumération pour renvoyer le prochain lot de résultats (avec l'option --next-token).

• (Facultatif) Un entier non négatif pour limiter le nombre de résultats renvoyés (avec l'option --max-results).

Par exemple, pour afficher les commentaires faits sur la comparaison entre deux validations dans unréférentiel nommé MyDemoRepo:

aws codecommit get-comments-for-compared-commit --repository-name MyDemoRepo --before-commit-ID 6e147360EXAMPLE --after-commit-id 317f8570EXAMPLE

2. Si elle aboutit, cette commande produit une sortie similaire à ce qui suit :

{ "commentsForComparedCommitData": [ { "afterBlobId": "1f330709EXAMPLE",

Version de l'API 2015-04-13255

Page 265: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAfficher, ajouter, mettre à jour et

répondre aux commentaires (AWS CLI)

"afterCommitId": "317f8570EXAMPLE", "beforeBlobId": "80906a4cEXAMPLE", "beforeCommitId": "6e147360EXAMPLE", "comments": [ { "authorArn": "arn:aws:iam::111111111111:user/Li_Juan", "clientRequestToken": "123Example", "commentId": "ff30b348EXAMPLEb9aa670f", "content": "Whoops - I meant to add this comment to the line, not the file, but I don't see how to delete it.", "creationDate": 1508369768.142, "deleted": false, "CommentId": "123abc-EXAMPLE", "lastModifiedDate": 1508369842.278, "callerReactions": [], "reactionCounts": { "SMILE" : 6, "THUMBSUP" : 1 } }, { "authorArn": "arn:aws:iam::111111111111:user/Li_Juan", "clientRequestToken": "123Example", "commentId": "553b509bEXAMPLE56198325", "content": "Can you add a test case for this?", "creationDate": 1508369612.240, "deleted": false, "commentId": "456def-EXAMPLE", "lastModifiedDate": 1508369612.240, "callerReactions": [], "reactionCounts": { "THUMBSUP" : 2 } } ], "location": { "filePath": "cl_sample.js", "filePosition": 1232, "relativeFileVersion": "after" }, "repositoryName": "MyDemoRepo" } ], "nextToken": "exampleToken"}

Pour afficher les détails d'un commentaire sur une validation1. Exécutez la commande get-comment, en spécifiant l'ID de commentaire généré par le système.

Exemple :

aws codecommit get-comment --comment-id ff30b348EXAMPLEb9aa670f

2. Si elle aboutit, cette commande renvoie une sortie similaire à ce qui suit :

{ "comment": { "authorArn": "arn:aws:iam::111111111111:user/Li_Juan", "clientRequestToken": "123Example", "commentId": "ff30b348EXAMPLEb9aa670f",

Version de l'API 2015-04-13256

Page 266: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAfficher, ajouter, mettre à jour et

répondre aux commentaires (AWS CLI)

"content": "Whoops - I meant to add this comment to the line, but I don't see how to delete it.", "creationDate": 1508369768.142, "deleted": false, "commentId": "", "lastModifiedDate": 1508369842.278, "callerReactions": [], "reactionCounts": { "SMILE" : 6, "THUMBSUP" : 1 } }}

Pour supprimer le contenu d'un commentaire sur une validation1. Exécutez la commande delete-comment-content, en spécifiant l'ID de commentaire généré par le

système. Exemple :

aws codecommit delete-comment-content --comment-id ff30b348EXAMPLEb9aa670f

Note

Vous ne pouvez supprimer le contenu d’un commentaire que si vous avezAWSCodeCommitFullAccess ou si vous avez le DeleteCommentContent ensembled’autorisations sur Autoriser.

2. Si elle aboutit, cette commande produit une sortie similaire à ce qui suit :

{ "comment": { "creationDate": 1508369768.142, "deleted": true, "lastModifiedDate": 1508369842.278, "clientRequestToken": "123Example", "commentId": "ff30b348EXAMPLEb9aa670f", "authorArn": "arn:aws:iam::111111111111:user/Li_Juan", "callerReactions": [], "reactionCounts": { "CLAP" : 1 } }}

Pour créer un commentaire sur une validation1. Exécutez la commande post-comment-for-compared-commit en indiquant :

• Nom du Référentiel CodeCommit (avec l'option --repository-name).• L'ID de validation complet de l'après-validation pour établir la direction de la comparaison (avec

l'option --after-commit-id ).• L'ID de validation complet de l'avant-validation pour établir la direction de la comparaison (avec

l'option --before-commit-id).• Un jeton d'idempotence unique généré par le client (avec l'option --client-request-token).

Version de l'API 2015-04-13257

Page 267: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAfficher, ajouter, mettre à jour et

répondre aux commentaires (AWS CLI)

• Le contenu de votre commentaire (avec l'option --content).• Une liste d'informations concernant l'emplacement de ce commentaire, y compris :

• Le nom du fichier en cours de comparaison, y compris son extension et le sous-répertoire, le caséchéant (avec l'attribut filePath).

• Le numéro de ligne de la modification au sein d'un fichier de comparaison (avec l'attributfilePosition).

• Une mention indiquant si le commentaire sur la modification se situe « avant » ou « après » dansla comparaison entre les branches source et de destination (avec l'attribut relativeFileVersion).

Par exemple, pour ajouter le commentaire "Can you add a test case for this?" sur lepassage à la cl_sample.js dans la comparaison entre deux validations dans un référentiel nomméMyDemoRepo:

aws codecommit post-comment-for-compared-commit --repository-name MyDemoRepo --before-commit-id 317f8570EXAMPLE --after-commit-id 5d036259EXAMPLE --client-request-token 123Example --content "Can you add a test case for this?" --location filePath=cl_sample.js,filePosition=1232,relativeFileVersion=AFTER

2. Si elle aboutit, cette commande produit une sortie similaire à ce qui suit :

{ "afterBlobId": "1f330709EXAMPLE", "afterCommitId": "317f8570EXAMPLE", "beforeBlobId": "80906a4cEXAMPLE", "beforeCommitId": "6e147360EXAMPLE", "comment": { "authorArn": "arn:aws:iam::111111111111:user/Li_Juan", "clientRequestToken": "", "commentId": "553b509bEXAMPLE56198325", "content": "Can you add a test case for this?", "creationDate": 1508369612.203, "deleted": false, "commentId": "abc123-EXAMPLE", "lastModifiedDate": 1508369612.203, "callerReactions": [], "reactionCounts": [] }, "location": { "filePath": "cl_sample.js", "filePosition": 1232, "relativeFileVersion": "AFTER" }, "repositoryName": "MyDemoRepo" }

Pour mettre à jour un commentaire sur une validation1. Exécutez la commande update-comment en spécifiant l'ID de commentaire généré par le système et le

contenu par lequel vous souhaitez remplacer le contenu existant.

Par exemple, pour ajouter le contenu "Fixed as requested. I'll update the pullrequest." à un commentaire avec un ID de 442b498bEXAMPLE5756813:

aws codecommit update-comment --comment-id 442b498bEXAMPLE5756813 --content "Fixed as requested. I'll update the pull request."

2. Si elle aboutit, cette commande produit une sortie similaire à ce qui suit :

Version de l'API 2015-04-13258

Page 268: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAfficher, ajouter, mettre à jour et

répondre aux commentaires (AWS CLI)

{ "comment": { "authorArn": "arn:aws:iam::111111111111:user/Li_Juan", "clientRequestToken": "", "commentId": "442b498bEXAMPLE5756813", "content": "Fixed as requested. I'll update the pull request.", "creationDate": 1508369929.783, "deleted": false, "lastModifiedDate": 1508369929.287, "callerReactions": [], "reactionCounts": { "THUMBSUP" : 2 } } }

Pour répondre à un commentaire sur une validation1. Pour publier une réponse à un commentaire dans une demande d'extraction, exécutez la commande

post-comment-reply, en spécifiant les éléments suivants :

• L'ID, généré par le système, du commentaire auquel vous souhaitez répondre (avec l'option --in-reply-to).

• Un jeton d'idempotence unique généré par le client (avec l'option --client-request-token).• Le contenu de votre réponse (avec l'option--content).

Par exemple, pour ajouter la réponse "Good catch. I'll remove them." au commentaire avecl’ID généré par le système de abcd1234EXAMPLEb5678efgh:

aws codecommit post-comment-reply --in-reply-to abcd1234EXAMPLEb5678efgh --content "Good catch. I'll remove them." --client-request-token 123Example

2. Si elle aboutit, cette commande produit une sortie similaire à ce qui suit :

{ "comment": { "authorArn": "arn:aws:iam::111111111111:user/Li_Juan", "clientRequestToken": "123Example", "commentId": "442b498bEXAMPLE5756813", "content": "Good catch. I'll remove them.", "creationDate": 1508369829.136, "deleted": false, "CommentId": "abcd1234EXAMPLEb5678efgh", "lastModifiedDate": 150836912.221, "callerReactions": [], "reactionCounts": [] } }

Version de l'API 2015-04-13259

Page 269: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAfficher, ajouter, mettre à jour et

répondre aux commentaires (AWS CLI)

Pour répondre à un commentaire sur une validation avec unemoji1. Pour répondre à un commentaire dans une demande d’extraction avec un emoji, ou pour modifier la

valeur de votre réaction emoji, exécutez le put-comment-reaction commande, spécification :

• L’ID généré par le système du commentaire auquel vous souhaitez répondre avec un emoji.• Valeur de la réaction que vous souhaitez ajouter ou mettre à jour. Les valeurs acceptables incluent

les emojis, les codes courts et les valeurs Unicode pris en charge.

Les valeurs suivantes sont prises en charge pour les emojis dans CodeCommit:

Emoji Shortcode Unicode

  :pouce vers le haut: U+1F44D

  :pouce vers le bas: U+1F44E

  :rire: U+1F604

❤ :cœur: U+2764

  :en colère: U+1F620

  :confus: U+1F615

  :crier: U+1F631

  :sanglot: U+1F62D

  :applaudir: U+1F44F

  :boule de confettis: U+1F38A

  :bateau: U+1F6A2

  :yeux: U+1F440

  aucune U+0000

Par exemple, pour ajouter l’émoji :thumbsup: au commentaire avec l’ID généré par le système deabcd1234EXAMPLEb5678efgh:

aws codecommit put-comment-reaction --comment-id abcd1234EXAMPLEb5678efgh --reaction-value :thumbsup:

2. En cas de réussite, cette commande ne produit aucune sortie.

Pour afficher les réactions emoji à un commentaire1. Pour afficher les réactions des emojis à un commentaire, y compris les utilisateurs qui ont réagi

avec ces emojis, exécutez le get-comment-reactions , en spécifiant l’ID généré par le système ducommentaire.

Version de l'API 2015-04-13260

Page 270: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurCréer une balise Git

Par exemple, pour afficher les réactions emoji au commentaire avec l’ID généré par le système deabcd1234EXAMPLEb5678efgh:

aws codecommit get-comment-reactions --comment-id abcd1234EXAMPLEb5678efgh

2. Si elle aboutit, cette commande produit une sortie similaire à ce qui suit :

{ "reactionsForComment": { [ { "reaction": { "emoji:"##", "shortCode": "thumbsup", "unicode": "U+1F44D" }, "users": [ "arn:aws:iam::123456789012:user/Li_Juan", "arn:aws:iam::123456789012:user/Mary_Major", "arn:aws:iam::123456789012:user/Jorge_Souza" ] }, { "reaction": { "emoji": "##", "shortCode": "thumbsdown", "unicode": "U+1F44E" }, "users": [ "arn:aws:iam::123456789012:user/Nikhil_Jayashankar" ] }, { "reaction": { "emoji": "##", "shortCode": "confused", "unicode": "U+1F615" }, "users": [ "arn:aws:iam::123456789012:user/Saanvi_Sarkar" ] } ] }}

Créer une balise Git dans AWS CodeCommitVous pouvez utiliser une balise Git pour ajouter une étiquette à une validation afin de permettre à d'autresutilisateurs du référentiel de comprendre son importance. Pour créer une balise Git dans un RéférentielCodeCommit, vous pouvez utiliser Git à partir d'un rapport local connecté au Référentiel CodeCommit. Unefois que vous avez créé une balise Git dans le rapport local, vous pouvez utiliser la commande git push --tags pour l'envoyer au Référentiel CodeCommit.

Pour plus d'informations, consultez la section Afficher les détails de la balise (p. 262).

Version de l'API 2015-04-13261

Page 271: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurUtilisez Git pour créer une balise

Utilisez Git pour créer une balisePour utiliser Git à partir d'un rapport local afin de créer une balise Git dans un Référentiel CodeCommit,procédez comme suit.

Ces étapes supposent que vous avez déjà connecté le rapport local au Référentiel CodeCommit. Pourobtenir des instructions, consultez Connexion à un référentiel (p. 99).

1. Exécutez le git tag new-tag-name commit-id de commande, où new-tag-name est le nom de lanouvelle balise Git et commit-id est l’ID de la validation à associer à la balise Git.

Par exemple, la commande suivante crée une balise Git nommée beta et l'associe à l'ID de validationdc082f9a...af873b88 :

git tag beta dc082f9a...af873b88

2. Pour transmettre la nouvelle balise Git à partir de l’ rapport local à la Référentiel CodeCommit,exécutez le git push remote-name new-tag-name de commande, où remote-name est le nom duRéférentiel CodeCommit et new-tag-name est le nom de la nouvelle balise Git.

Par exemple, pour transmettre une nouvelle balise Git nommée beta vers un Référentiel CodeCommitnommé origin :

git push origin beta

Note

Pour transmettre toutes les nouvelles balises Git depuis le rapport local vers le RéférentielCodeCommit, exécutez git push --tags.Pour vous assurer que votre rapport local est mis à jour avec toutes les balises Git du RéférentielCodeCommit, exécutez la commande git fetch suivie de git fetch --tags.

Pour plus d'options, consultez la documentation Git.

Afficher les détails de la balise Git dans AWSCodeCommit

Dans Git, une balise est une étiquette que vous pouvez appliquer à une référence, telle qu'une validation,pour y inclure des informations susceptibles d'intéresser les autres utilisateurs du référentiel. Par exemple,vous pouvez baliser la validation qui était le point de publication bêta d’un projet avec la balise beta. Pourplus d’informations, consultez Utilisez Git pour créer une balise (p. 262). Les balises Git sont différentesdes balises de référentiel. Pour plus d'informations sur l'utilisation des balises de référentiel, consultez Ajoutd’une balise à un référentiel (p. 112).

Vous pouvez utiliser la console AWS CodeCommit pour afficher des informations sur les balises Git dansvotre référentiel, y compris la date et le message de la validation référencés par chaque balise. À partirde la console, vous pouvez comparer la validation référencée par la balise avec la section HEAD de labranche par défaut du référentiel. Comme pour toute autre validation, vous pouvez également afficher lecode au niveau de cette balise Git.

Vous pouvez également utiliser Git depuis le terminal ou l'interface de ligne de commande pour afficher lesdétails concernant les balises Git dans un rapport local.

Rubriques

Version de l'API 2015-04-13262

Page 272: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAfficher les détails des balises (console)

• Afficher les détails des balises (console) (p. 263)• Afficher les détails de la balise Git (Git) (p. 263)

Afficher les détails des balises (console)Utilisez la console AWS CodeCommit afin de consulter rapidement une liste des balises Git du référentiel,ainsi que les détails des validations référencées par ces balises Git.

1. Ouvrez la console CodeCommit à l'adresse https://console.aws.amazon.com/codesuite/codecommit/home.

2. Dans Repositories (Référentiels), sélectionnez le nom du référentiel dans lequel vous souhaitezafficher les balises.

3. Dans le panneau de navigation, choisissez Git tags (Balises Git).

4. Procédez de l'une des façons suivantes :

• Pour afficher le code tel qu'il est au niveau de la validation, choisissez le nom de la balise Git.• Pour afficher les détails de la validation, y compris le message de validation complet, le valideur et

l'auteur, choisissez l'ID de validation abrégé.

Afficher les détails de la balise Git (Git)Pour utiliser Git afin d'afficher les détails des balises Git d'un rapport local, exécutez l'une des commandessuivantes :

• git tag (p. 264) pour afficher une liste de noms de balise Git.• git show (p. 264) pour afficher des informations sur une balise Git spécifique.• git ls-remote (p. 264) pour afficher des informations sur les balises Git d'un Référentiel CodeCommit.

Note

Pour vous assurer que votre rapport local est mis à jour avec toutes les balises Git du RéférentielCodeCommit, exécutez la commande git fetch suivie de git fetch --tags.

Version de l'API 2015-04-13263

Page 273: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAfficher les détails de la balise Git (Git)

Les étapes suivantes supposent que vous avez déjà connecté le rapport local à un RéférentielCodeCommit. Pour obtenir des instructions, consultez Connexion à un référentiel (p. 99).

Pour afficher une liste des balises Git dans un rapport local1. Exécutez la commande git tag :

git tag

2. Si elle aboutit, cette commande produit une sortie similaire à ce qui suit :

betaversion

Note

Si aucune balise n'a été définie, git tag ne renvoie rien.

Pour plus d'options, consultez la documentation Git.

Pour afficher des informations sur une balise Git d'un rapportlocal1. Exécutez la commande git show tag-name. Par exemple, pour afficher des informations sur une

balise Git nommée beta, exécutez :

git show beta

2. Si elle aboutit, cette commande produit une sortie similaire à ce qui suit :

commit 317f8570...ad9e3c09Author: John Doe <[email protected]>Date: Tue Sep 23 13:49:51 2014 -0700

Added horse.txt

diff --git a/horse.txt b/horse.txtnew file mode 100644index 0000000..df42ff1--- /dev/null+++ b/horse.txt@@ -0,0 +1 @@+The horse (Equus ferus caballus) is one of two extant subspecies of Equus ferus\ No newline at end of file

Note

Pour quitter la sortie des informations de balise Git, tapez :q.

Pour plus d'options, consultez la documentation Git.

Pour afficher des informations sur les balises Git d'un RéférentielCodeCommit1. Exécutez la commande git ls-remote --tags.

Version de l'API 2015-04-13264

Page 274: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurSupprimer une balise

git ls-remote --tags

2. Si elle aboutit, cette commande génère la liste des balises Git du Référentiel CodeCommit :

129ce87a...70fbffba refs/tags/beta785de9bd...59b402d8 refs/tags/release

Si aucune balise Git n'a été définie, git ls-remote --tags renvoie une ligne vide.

Pour plus d'options, consultez la documentation Git.

Supprimer une balise Git dans AWS CodeCommitPour supprimer une balise Git dans un Référentiel CodeCommit, utilisez Git à partir d'un rapport localconnecté au Référentiel CodeCommit.

Utiliser Git pour supprimer une balise GitPour utiliser Git à partir d'un rapport local afin de supprimer une balise Git dans un RéférentielCodeCommit, procédez comme suit.

Ces étapes supposent que vous avez déjà connecté le rapport local au Référentiel CodeCommit. Pourobtenir des instructions, consultez Connexion à un référentiel (p. 99).

1. Pour supprimer la balise Git de l’ rapport local, exécutez le git tag -d tag-name de commande oùtag-name est le nom de la balise Git que vous souhaitez supprimer.

Tip

Pour obtenir une liste des noms de balise Git, exécutez git tag.

Par exemple, pour supprimer une balise Git dans le rapport local nommé beta :

git tag -d beta

2. Pour supprimer la balise Git de l’ Référentiel CodeCommit, exécutez le git push remote-name --deletetag-name de commande où remote-name est le surnom du rapport local utilise pour le RéférentielCodeCommit et tag-name est le nom de la balise Git que vous souhaitez supprimer de la RéférentielCodeCommit.

Tip

Pour obtenir une liste de Référentiel CodeCommit et leurs noms URLs, exécutez le git remote-v.

Par exemple, pour supprimer une balise Git nommée betadans le Référentiel CodeCommit nomméorigin :

git push origin --delete beta

Version de l'API 2015-04-13265

Page 275: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateur

Utilisation des branches dans AWSCodeCommit référentiels

Qu'est-ce qu'une branche ? Dans Git, les branches sont simplement des pointeurs ou des références àune validation. Dans le développement, ils constituent un moyen pratique d'organiser votre travail. Vouspouvez utiliser des branches pour séparer le travail sur une version nouvelle ou différente de fichiers sansaffecter le travail dans les autres branches. Vous pouvez utiliser les branches pour développer de nouvellesfonctionnalités, stocker une version spécifique de votre projet à partir d'une validation particulière, etc.

Dans CodeCommit, vous pouvez changer la branche par défaut de votre référentiel. Cette branche pardéfaut est celle utilisée comme base ou branche par défaut dans les référentiels locaux lorsque desutilisateurs clonent le référentiel. Vous pouvez également créer des branches, les supprimer ou en vérifierles détails. Vous pouvez rapidement comparer les différences entre une branche et la branche par défaut(ou n'importe quelles branches). Pour consulter l'historique des branches et des fusions dans votreréférentiel, utilisez Commit Visualizer (p. 239).

Pour obtenir des informations sur l'utilisation des autres aspects de votre référentiel dans CodeCommit,consultez Utilisation des référentiels (p. 95), Utilisation des fichiers (p. 161), Utilisation des demandesd'extraction (p. 169) , Utilisation des validations (p. 231) et Utilisation des préférences utilisateur (p. 282).

Rubriques• Créer une branche dans AWS CodeCommit (p. 267)• La limite pousse et fusionne vers les branches dans AWS CodeCommit (p. 269)• Afficher les détails de la succursale dans AWS CodeCommit (p. 272)• Comparer et fusionner des branches dans AWS CodeCommit (p. 275)• Modifier les paramètres de branche dans AWS CodeCommit (p. 278)• Supprimer une branche dans AWS CodeCommit (p. 279)

Version de l'API 2015-04-13266

Page 276: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurCréation d'une branche

Créer une branche dans AWS CodeCommitVous pouvez utiliser la console CodeCommit ou le AWS CLI pour créer les branches de votre référentiel.Cette méthode rapide vous permet de séparer le travail sur une version nouvelle ou différente de fichierssans affecter le travail dans la branche par défaut. Après avoir créé une branche dans la consoleCodeCommit, vous devez extraire cette modification dans votre rapport local. Vous pouvez égalementcréer une branche localement, puis utiliser Git à partir d'un rapport local connecté au RéférentielCodeCommit pour transmettre (push) cette modification.

Rubriques• Création d’une branche (console) (p. 267)• Créer une branche (Git) (p. 268)• Créez une branche (AWS CLI) (p. 268)

Création d’une branche (console)Vous pouvez utiliser la console CodeCommit pour créer une branche dans un Référentiel CodeCommit. Laprochaine fois que les utilisateurs extrairont les modifications du référentiel, ils verront la nouvelle branche.

1. Ouvrez la console CodeCommit à l'adresse https://console.aws.amazon.com/codesuite/codecommit/home.

2. Dans Référentiels, sélectionnez le nom du référentiel dans lequel vous voulez créer une branche.3. Dans le volet de navigation, choisissez Branches.4. Choisissez Create branch.

Version de l'API 2015-04-13267

Page 277: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurCréer une branche (Git)

Dans Nom de la branche, saisissez le nom de la branche. Dans Branche provenant de, choisissez unebranche ou une balise dans la liste, ou collez un ID de validation. Choisissez Create branch.

Créer une branche (Git)Suivez ces étapes pour utiliser Git à partir d'un rapport local afin de créer une branche dans un rapportlocal, puis transmettre cette branche vers le Référentiel CodeCommit.

Ces étapes supposent que vous avez déjà connecté le rapport local au Référentiel CodeCommit. Pourobtenir des instructions, consultez Connexion à un référentiel (p. 99).

1. Créez une branche dans votre rapport local en exécutant le git checkout -b new-branch-name decommande, où new-branch-name est le nom de la nouvelle branche.

Par exemple, la commande suivante crée une branche nommée MyNewBranch dans le rapport local :

git checkout -b MyNewBranch

2. Pour transmettre la nouvelle branche à partir de rapport local vers Référentiel CodeCommit, exécutezla commande git push, en spécifiant le remote-name et le new-branch-name.

Par exemple, pour transmettre une nouvelle branche du rapport local nommé MyNewBranch vers leRéférentiel CodeCommit avec le pseudonyme origin :

git push origin MyNewBranch

Note

Si vous ajoutez le -u option pour git push (par exemple, git push -u origin master), vous pourrezensuite exécuter git push sans remote-name branch-name. Les informations de suivi en amontsont définies. Pour obtenir des informations de suivi en amont, exécutez git remote show remote-name (par exemple, git remote show origin).Pour afficher une liste de toutes vos branches locales et de suivi distant, exécutez git branch --all.Pour configurer une branche dans le rapport local qui est connecté à une branche dans leRéférentiel CodeCommit, exécutez git checkout remote-branch-name.

Pour plus d'options, consultez la documentation Git.

Créez une branche (AWS CLI)Pour utiliser les commandes de l'AWS CLI avec CodeCommit, installez l'AWS CLI. Pour de plus amplesinformations, veuillez consulter Référence des commandes en ligne (p. 437).

Suivez ces étapes pour utiliser l'AWS CLI afin de créer une branche dans un Référentiel CodeCommit, puistransmettre cette branche vers le Référentiel CodeCommit. Pour connaître la procédure de création d’unevalidation initiale et spécifier le nom de la branche par défaut pour un référentiel vide, consultez Créez lapremière validation pour un référentiel à l’aide de l’ AWS CLI (p. 232).

1. Exécutez la commande create-branch en indiquant :

• Le nom du Référentiel CodeCommit où la branche est créée (avec l'option --repository-name).Note

Pour obtenir le nom du Référentiel CodeCommit, exécutez la commande list-repositories (p. 141).

Version de l'API 2015-04-13268

Page 278: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurPermet de limiter les transmissions

et les fusions vers les branches

• Le nom de la nouvelle branche (avec l'option --branch-name).• L'ID de la validation sur laquelle la nouvelle branche pointe (avec l'option --commit-id).

Par exemple, pour créer une branche nommée MyNewBranch qui pointe sur l'ID de validation317f8570EXAMPLE dans un Référentiel CodeCommit nommé MyDemoRepo :

aws codecommit create-branch --repository-name MyDemoRepo --branch-name MyNewBranch --commit-id 317f8570EXAMPLE

Cette commande génère une sortie uniquement en cas d'erreurs.2. Pour mettre à jour la liste des branches Référentiel CodeCommit disponibles dans votre rapport local

avec le nom de la nouvelle branche distante, exécutez git remote update remote-name.

Par exemple, pour mettre à jour la liste de branches disponibles pour votre Référentiel CodeCommitavec le pseudonyme origin :

git remote update origin

Note

Vous pouvez également exécuter la commande git fetch. Vous pouvez également affichertoutes les branches en exécutant git branch --all, tant que vous ne mettrez pas à jour la listede votre rapport local, la branche distante que vous avez créée n'apparaîtra pas dans la liste.Pour plus d'options, consultez la documentation Git.

3. Pour configurer une branche dans le rapport local qui est connecté à la nouvelle branche dans leRéférentiel CodeCommit, exécutez git checkout remote-branch-name.

Note

Pour obtenir une liste de Référentiel CodeCommit et leurs noms URLs, exécutez le git remote -v.

La limite pousse et fusionne vers les branches dansAWS CodeCommit

Par défaut, n'importe quel utilisateur du référentiel CodeCommit qui dispose des autorisations suffisantespour transmettre le code au référentiel peut participer à n'importe quelle branche du référentiel. Cela estvrai quelle que soit la façon dont vous ajoutiez une branche dans le référentiel : à l'aide de la console,de l'interface de ligne de commande ou de Git. Cependant, vous pouvez vouloir configurer une branchede telle sorte que seuls certains utilisateurs du référentiel puissent transmettre ou fusionner le code surcette branche. Par exemple, vous pouvez configurer une branche utilisée pour le code de production afinque seul un sous-ensemble des développeurs séniors puissent transmettre ou fusionner les modificationsapportées à cette branche. D'autres développeurs peuvent continuer à extraire à partir de la branche,créer leurs propres branches et créer des demandes d'extraction, mais ils ne peuvent pas transmettre oufusionner les modifications apportées à cette branche. Vous pouvez configurer cet accès en créant unestratégie conditionnelle qui utilise une clé de contexte pour une ou plusieurs branches dans IAM.

Note

Pour compléter certaines procédures décrites dans cette rubrique, vous devez vous connecteravec un utilisateur administratif qui dispose d'autorisations suffisantes pour configurer et appliquer

Version de l'API 2015-04-13269

Page 279: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurConfigurer un IAM stratégie pour limiter les

transmissions et les fusions vers une branche

les stratégies IAM. Pour plus d'informations, consultez Création d'un utilisateur administrateur etd'un groupe IAM.

Rubriques• Configurer un IAM stratégie pour limiter les transmissions et les fusions vers une branche (p. 270)• Appliquer le IAM stratégie à un IAM groupe ou rôle (p. 271)• Tester la politique (p. 271)

Configurer un IAM stratégie pour limiter lestransmissions et les fusions vers une brancheVous pouvez créer une stratégie IAM qui empêche les utilisateurs de mettre à jour une branche, ycompris de pousser les validations vers une branche et de fusionner les demandes d'extraction sur unebranche. Pour ce faire, votre stratégie utilise une instruction conditionnelle, de telle sorte que l'effet del'instruction Deny s'applique uniquement si la condition est respectée. Le APIs que vous incluez dans leDeny détermine quelles actions ne sont pas autorisées. Vous pouvez configurer cette stratégie pour nel'appliquer qu'à une seule branche d'un référentiel, à un certain nombre de branches d'un référentiel ou àtoutes les branches qui répondent aux critères sur l'ensemble des référentiels d'un compte AWS.

Pour créer une stratégie conditionnelle pour les branches

1. Connectez-vous à la AWS Management Console et ouvrez la console IAM à l'adresse https://console.aws.amazon.com/iam/.

2. Dans le volet de navigation, choisissez Policies (Stratégies).3. Choisissez Create policy (Créer une stratégie).4. Choisissez le format JSON, puis collez l'exemple de stratégie suivant. Remplacez la valeur de

Resource par l'ARN du référentiel qui contient la branche pour laquelle vous voulez limiter l'accès.Remplacez la valeur de codecommit:References par une référence à la branche ou aux branchesauxquelles vous voulez limiter l'accès. Par exemple, cette stratégie refuse de pousser des validations,en fusionnant les branches, fusion des demandes d’extraction et ajout de fichiers à une branchenommée master et une branche nommée prod dans un référentiel nommé MyDemoRepo:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "codecommit:GitPush", "codecommit:DeleteBranch", "codecommit:PutFile", "codecommit:MergeBranchesByFastForward", "codecommit:MergeBranchesBySquash", "codecommit:MergeBranchesByThreeWay", "codecommit:MergePullRequestByFastForward", "codecommit:MergePullRequestBySquash", "codecommit:MergePullRequestByThreeWay" ], "Resource": "arn:aws:codecommit:us-east-2:111111111111:MyDemoRepo", "Condition": { "StringEqualsIfExists": { "codecommit:References": [ "refs/heads/master", "refs/heads/prod" ] }, "Null": {

Version de l'API 2015-04-13270

Page 280: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAppliquer le IAM stratégie à un IAM groupe ou rôle

"codecommit:References": false } } } ]}

Les branches dans Git sont simplement des pointeurs (références) vers la valeur SHA-1 de lavalidation de tête, c’est pourquoi la condition utilise References. Le Null est requise dans toutestratégie dont l’effet est Deny et où GitPush est l’une des actions. Elle est obligatoire en raison de lafaçon dont Git et git-receive-pack fonctionnent lors de la transmission des modifications à partird'un référentiel local vers CodeCommit.

Tip

Pour créer une stratégie qui s'applique à toutes les branches nommée master dans tous lesréférentiels d'un compte AWS, modifiez la valeur de Resource d'un ARN de référentiel enastérisque (*).

5. Choisissez Examiner une stratégie. Corrigez les erreurs de votre déclaration de stratégie, puis passezà Create policy (Créer une stratégie).

6. Lorsque le fichier JSON est validé, la page Create policy s'affiche. Un avertissement s'affiche dans lasection Résumé, vous informant que cette stratégie n'accorde pas d'autorisations. Ceci est normal.

• Dans le champ Name (Nom), saisissez un nom pour cette stratégie, tel queDenyChangesToMaster.

• Dans Description, saisissez une description de l'objectif de la stratégie. Cette action est facultative,mais recommandée.

• Choisissez Create policy (Créer une stratégie).

Appliquer le IAM stratégie à un IAM groupe ou rôleVous avez créé une stratégie qui limite les transmissions et les fusions sur une branche, mais la stratégien'a aucun effet tant que vous ne l'appliquez pas à un utilisateur, un groupe ou un rôle IAM. En tant quebonne pratique, pensez à appliquer la stratégie à un groupe ou rôle IAM. L'application de stratégies auxutilisateurs IAM individuels ne se dimensionne pas correctement.

Pour appliquer la stratégie conditionnelle à un groupe ou un rôle

1. Connectez-vous à la AWS Management Console et ouvrez la console IAM à l'adresse https://console.aws.amazon.com/iam/.

2. Dans le volet de navigation, si vous souhaitez appliquer la stratégie à un groupe IAM, choisissezGroupes. Si vous souhaitez appliquer la stratégie à un rôle que les utilisateurs assument, choisissezRôle. Choisissez le nom du groupe ou du rôle.

3. Sous l'onglet Permissions, choisissez Attach Policy.4. Sélectionnez la stratégie conditionnelle que vous avez créée à partir de la liste des stratégies, puis

choisissez Attach policy (Attacher la stratégie).

Pour plus d'informations, consultez Attachement et détachement de stratégies IAM.

Tester la politiqueVous devez tester les effets de la stratégie que vous avez appliquée sur le groupe ou le rôle pour vousassurer qu'elle fonctionne comme prévu. Il y a plusieurs manières de le faire. Par exemple, pour tester unestratégie similaire à celle indiquée ci-dessus, vous pouvez :

Version de l'API 2015-04-13271

Page 281: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAfficher les détails de la succursale

• Connectez-vous à la console CodeCommit avec un utilisateur IAM qui est membre d'un groupe IAMauquel la stratégie est appliquée, ou qui assume un rôle auquel la stratégie est appliquée. Dans laconsole, ajoutez un fichier sur la branche où les restrictions s'appliquent. Vous devez voir un messaged'erreur lorsque vous tentez d'enregistrer ou de charger un fichier sur cette branche. Ajoutez un fichier àune autre branche. L'opération doit réussir.

• Connectez-vous à la console CodeCommit avec un utilisateur IAM qui est membre d'un groupe IAMauquel la stratégie est appliquée, ou qui assume un rôle auquel la stratégie est appliquée. Créez unedemande d'extraction qui doit être fusionnée avec la branche où les restrictions s'appliquent. Vous devezêtre en mesure de créer la demande d'extraction, mais que vous obtenez une erreur si vous essayez defusionner.

• Depuis le terminal ou la ligne de commande, créez une validation sur la branche où les restrictionss'appliquent, puis transmettez cette validation vers le référentiel CodeCommit. Vous devez voir unmessage d'erreur. Les validations et transmissions effectuées à partir d'autres branches devraientfonctionner comme d'habitude.

Afficher les détails de la succursale dans AWSCodeCommit

Vous pouvez utiliser la console CodeCommit pour afficher des détails sur les branches dans un RéférentielCodeCommit. Vous pouvez consulter la date de la dernière validation d'une branche, le message devalidation, et bien plus encore. Vous pouvez également utiliser l'AWS CLI ou Git à partir d'un rapport localconnecté au Référentiel CodeCommit.

Rubriques• Afficher les détails de la branche (console) (p. 272)• Afficher les détails de la succursale (Git) (p. 273)• Afficher les détails de la succursale (AWS CLI) (p. 274)

Afficher les détails de la branche (console)Utilisez la console CodeCommit afin de consulter rapidement une liste des branches du référentiel, ainsique leurs détails.

1. Ouvrez la console CodeCommit à l'adresse https://console.aws.amazon.com/codesuite/codecommit/home.

2. Dans Repositories (Référentiels), sélectionnez le nom du référentiel dans lequel vous voulez afficherdes détails sur les branches.

3. Dans le volet de navigation, choisissez Branches.

Version de l'API 2015-04-13272

Page 282: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAfficher les détails de la succursale (Git)

4. Le nom de la branche utilisée par défaut pour le référentiel s'affiche en regard de Branche par défaut.Pour afficher les détails relatifs à la dernière validation apportée à une branche, choisissez le messagede validation, puis choisissez View last commit (Afficher dernière validation). Pour afficher les fichierset le code dans une branche, choisissez le nom de cette dernière.

Afficher les détails de la succursale (Git)Pour utiliser Git depuis un rapport local afin d'afficher des détails sur les branches locales et de suivi distantpour un Référentiel CodeCommit, exécutez la commande git branch.

Les étapes suivantes supposent que vous avez déjà connecté le rapport local au Référentiel CodeCommit.Pour obtenir des instructions, consultez Connexion à un référentiel (p. 99).

1. Exécutez la commande git branch, en spécifiant l'option --all :

git branch --all

2. Si elle aboutit, cette commande renvoie une sortie similaire à ce qui suit :

MyNewBranch* master remotes/origin/MyNewBranch remotes/origin/master

L'astérisque (*) s'affiche à côté de la branche actuellement ouverte. Les entrées après celle-ci sontdes références de suivi distant.

Tip

git branch affiche les branches locales.git branch -r affiche les branches distantes.git checkout existing-branch-name bascule vers le nom de branche spécifié et, si gitbranch est exécuté immédiatement après, s'affiche avec un astérisque (*).git remote update remote-name met à jour votre rapport local avec la liste des branches deRéférentiel CodeCommit disponibles. (Pour obtenir une liste de Référentiel CodeCommit etleurs noms URLs, exécutez le git remote -v de commande.)

Version de l'API 2015-04-13273

Page 283: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAfficher les détails de la succursale (AWS CLI)

Pour plus d'options, consultez la documentation Git.

Afficher les détails de la succursale (AWS CLI)Pour utiliser les commandes de l'AWS CLI avec CodeCommit, installez l'AWS CLI. Pour de plus amplesinformations, veuillez consulter Référence des commandes en ligne (p. 437).

Pour utiliser l'AWS CLI afin d'afficher des détails sur les branches dans un Référentiel CodeCommit,exécutez une ou plusieurs des commandes suivantes :

• Pour afficher la liste des noms de branches, exécutez list-branches (p. 274).• Pour afficher des informations sur une branche spécifique, exécutez get-branch (p. 274).

Pour afficher la liste des noms de branche1. Exécutez la commande list-branches en spécifiant le nom du Référentiel CodeCommit (avec l'option

--repository-name).

Tip

Pour obtenir le nom du Référentiel CodeCommit, exécutez la commande list-repositories (p. 141).

Par exemple, pour afficher des informations sur les branches dans un Référentiel CodeCommit nomméMyDemoRepo :

aws codecommit list-branches --repository-name MyDemoRepo

2. Si elle aboutit, cette commande renvoie un objet branchNameList avec une entrée pour chaquebranche.

Voici des exemples de sorties basés sur l'exemple de commande précédent :

{ "branches": [ "MyNewBranch", "master" ]}

Pour afficher des informations sur une branche1. Exécutez la commande get-branch en indiquant :

• Le nom du référentiel (avec l'option --repository-name).• Le nom de la branche (avec l'option --branch-name).

Par exemple, pour afficher des informations sur une branche nommée MyNewBranch dans unRéférentiel CodeCommit nommé MyDemoRepo :

aws codecommit get-branch --repository-name MyDemoRepo --branch-name MyNewBranch

2. Si elle aboutit, cette commande renvoie le nom de la branche et l'ID de la dernière validation effectuéesur la branche.

Version de l'API 2015-04-13274

Page 284: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurComparer et fusionner des branches

Voici des exemples de sorties basés sur l'exemple de commande précédent :

{ "branch": { "branchName": "MyNewBranch", "commitID": "317f8570EXAMPLE" }}

Comparer et fusionner des branches dans AWSCodeCommit

Vous pouvez utiliser la console CodeCommit pour comparer les branches d'un référentiel CodeCommit.La comparaison des branches vous permet d'examiner rapidement les différences entre une branche et labranche par défaut, ou entre deux branches quelconques.

Rubriques• Comparer une branche à la branche par défaut (p. 275)• Comparer deux branches spécifiques (p. 275)• Fusionner deux branches (AWS CLI) (p. 276)

Comparer une branche à la branche par défautUtilisez la console CodeCommit pour examiner rapidement les différences entre une branche et la branchepar défaut pour votre référentiel.

1. Ouvrez la console CodeCommit à l'adresse https://console.aws.amazon.com/codesuite/codecommit/home.

2. Dans Référentiels, sélectionnez le nom du référentiel dans lequel vous voulez comparer des branches.3. Dans le volet de navigation, choisissez Validations, puis l'onglet Comparer les validations.4. Dans Destination, choisissez le nom de la branche par défaut. Dans Source, choisissez la branche que

vous souhaitez comparer à la branche par défaut. Choisissez Comparer.

Comparer deux branches spécifiquesUtilisez la console CodeCommit pour afficher les différences entre deux branches que vous souhaitezcomparer.

1. Ouvrez la console CodeCommit à l'adresse https://console.aws.amazon.com/codesuite/codecommit/home.

2. Dans Référentiels, sélectionnez le nom du référentiel dans lequel vous voulez comparer des branches.3. Dans le volet de navigation, choisissez Validations, puis l'onglet Comparer les validations.4. Dans Destination et Source, choisissez les deux branches à comparer, puis sélectionnez Comparer.

Pour afficher la liste des fichiers modifiés, développez la liste correspondante. Pour vérifier lesmodifications, vous pouvez afficher les modifications côte à côte (vue fractionnée) ou en ligne (vueunifiée).

Version de l'API 2015-04-13275

Page 285: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurFusionner deux branches (AWS CLI)

Note

Si vous êtes connecté en tant qu'utilisateur IAM, vous pouvez configurer et enregistrer vospréférences pour l'affichage du code, ainsi que pour d'autres paramètres de la console. Pourplus d'informations, consultez la section Utilisation des préférences utilisateur (p. 282).

Fusionner deux branches (AWS CLI)Vous pouvez fusionner deux branches dans un référentiel CodeCommit avec l'AWS CLI à l'aide de l'unedes stratégies de fusion disponibles en exécutant l'une des commandes suivantes :

• Pour fusionner deux branches à l'aide de la stratégie de fusion rapide, exécutez la commande merge-branches-by-fast-forward (p. 276).

• Pour fusionner deux branches à l'aide de la stratégie de fusion d'écrasement, exécutez la commandemerge-branches-by-squash (p. 277).

• Pour fusionner deux branches à l'aide de la stratégie de fusion tridirectionnelle, exécutez la commandemerge-branches-by-three-way (p. 277).

Vous pouvez également tester les fusions en exécutant la commande create-unreferenced-merge-commit.Pour plus d'informations, consultez Résolution des conflits dans une demande d'extraction (p. 213).

Note

Pour utiliser les commandes de l'AWS CLI avec CodeCommit, installez l'AWS CLI. Pour de plusamples informations, veuillez consulter Référence des commandes en ligne (p. 437).

Pour utiliser l'AWS CLI afin de fusionner deux branches dans un référentiel CodeCommit

1.Pour fusionner deux branches à l’aide de la stratégie de fusion rapide, exécutez le merge-branches-by-fast-forward commande, spécification :

• Nom de la branche source qui contient les modifications que vous souhaitez fusionner (avec l'option--source-commit-specifier).

Version de l'API 2015-04-13276

Page 286: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurFusionner deux branches (AWS CLI)

• Nom de la branche de destination dans laquelle vous souhaitez fusionner vos modifications (avecl'option --destination-commit-specifier).

• Le nom du référentiel (avec l'option --repository-name).

Par exemple, pour fusionner une branche source nommée bugfix-1234 dans une branche dedestination nommée preprod dans un référentiel nommé MyDemoRepo:

aws codecommit merge-branches-by-fast-forward --source-commit-specifier bugfix-bug1234 --destination-commit-specifier preprod --repository-name MyDemoRepo

Si elle aboutit, cette commande produit une sortie similaire à ce qui suit :

{ "commitId": "4f178133EXAMPLE", "treeId": "389765daEXAMPLE"}

2.Pour fusionner deux branches à l’aide de la stratégie de fusion d’écrasement, exécutez le merge-branches-by-squash commande, spécification :

• Nom de la branche source qui contient les modifications que vous souhaitez fusionner (avec l'option--source-commit-specifier).

• Nom de la branche de destination dans laquelle vous souhaitez fusionner vos modifications (avecl'option --destination-commit-specifier).

• Le nom du référentiel (avec l'option --repository-name).• Le message de validation à inclure (avec l'option --commit-message).• Le nom à utiliser pour la validation (avec l'option --name).• L'adresse e-mail à utiliser pour la validation (avec l'option --email).

Par exemple, pour fusionner une branche source nommée bugfix-bug1234 avec une branche dedestination nommée bugfix-quarterly dans un référentiel nommé MyDemoRepo:

aws codecommit merge-branches-by-squash --source-commit-specifier bugfix-bug1234 --destination-commit-specifier bugfix-quarterly --author-name "Maria Garcia" --email "[email protected]" --commit-message "Merging in fix branches to prepare for a general patch." --repository-name MyDemoRepo

Si elle aboutit, cette commande produit une sortie similaire à ce qui suit :

{ "commitId": "4f178133EXAMPLE", "treeId": "389765daEXAMPLE"}

3.Pour fusionner deux branches à l'aide de la stratégie de fusion tridirectionnelle, exécutez la commandemerge-branches-by-three-way en spécifiant :

• Nom de la branche source qui contient les modifications que vous souhaitez fusionner (avec l'option--source-commit-specifier).

• Nom de la branche de destination dans laquelle vous souhaitez fusionner vos modifications (avecl'option --destination-commit-specifier).

• Le nom du référentiel (avec l'option --repository-name).Version de l'API 2015-04-13277

Page 287: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurModifier les paramètres de la branche

• Le message de validation à inclure (avec l'option --commit-message).• Le nom à utiliser pour la validation (avec l'option --name).• L'adresse e-mail à utiliser pour la validation (avec l'option --email).

Par exemple, pour fusionner une branche source nommée master avec une branche de destinationnommée bugfix-1234 dans un référentiel nommé MyDemoRepo:

aws codecommit merge-branches-by-three-way --source-commit-specifier master --destination-commit-specifier bugfix-bug1234 --author-name "Jorge Souza" --email "[email protected]" --commit-message "Merging changes from master to bugfix branch before additional testing." --repository-name MyDemoRepo

Si elle aboutit, cette commande produit une sortie similaire à ce qui suit :

{ "commitId": "4f178133EXAMPLE", "treeId": "389765daEXAMPLE"}

Modifier les paramètres de branche dans AWSCodeCommit

-Vous pouvez modifier la branche par défaut à utiliser dans la console AWS CodeCommit. Vous pouvezégalement utiliser le AWS CLI pour modifier la branche par défaut d'un référentiel. Pour modifier d'autresparamètres de branche, vous pouvez utiliser Git à partir d'un rapport local connecté au RéférentielCodeCommit.

Rubriques• Modifier la branche par défaut (console) (p. 278)• Modifier la branche par défaut (AWS CLI) (p. 278)

Modifier la branche par défaut (console)Vous pouvez spécifier la branche par défaut d'un référentiel CodeCommit dans la console AWSCodeCommit.

1. Ouvrez la console CodeCommit à l'adresse https://console.aws.amazon.com/codesuite/codecommit/home.

2. Dans Référentiels, sélectionnez le nom du référentiel dans lequel vous souhaitez modifier lesparamètres.

3. Dans le panneau de navigation, choisissez Settings.4. Dans Branche par défaut, choisissez la liste déroulante des branches, puis choisissez une autre

branche. Choisissez Save.

Modifier la branche par défaut (AWS CLI)Pour utiliser les commandes de l'AWS CLI avec CodeCommit, installez l'AWS CLI. Pour de plus amplesinformations, veuillez consulter Référence des commandes en ligne (p. 437).

Version de l'API 2015-04-13278

Page 288: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurSupprimer une branche

Pour utiliser AWS CLI pour modifier les paramètres de branche d'un référentiel dans un RéférentielCodeCommit, exécutez la commande suivante :

• update-default-branch (p. 279) pour modifier la branche par défaut.

Pour modifier la branche par défaut1. Exécutez la commande update-default-branch en indiquant :

• Le nom du Référentiel CodeCommit où la branche par défaut est mise à jour (avec l'option --repository-name).

Tip

Pour obtenir le nom du Référentiel CodeCommit, exécutez la commande list-repositories (p. 141).

• Le nom de la nouvelle branche par défaut (avec l'option --default-branch-name).Tip

Pour obtenir le nom de la branche, exécutez la commande list-branches (p. 274).2. Par exemple, pour modifier la branche par défaut en MyNewBranch dans un Référentiel CodeCommit

nommé MyDemoRepo :

aws codecommit update-default-branch --repository-name MyDemoRepo --default-branch-name MyNewBranch

Cette commande génère une sortie uniquement en cas d'erreurs.

Pour plus d'options, consultez la documentation Git.

Supprimer une branche dans AWS CodeCommitVous pouvez utiliser la console CodeCommit pour supprimer une branche dans un référentiel. Lasuppression d'une branche dans CodeCommit ne supprime pas cette branche dans un rapport local. Il sepeut donc que les utilisateurs continuent d'avoir des copies de cette branche tant qu'ils n'extraient pas lesmodifications. Pour supprimer une branche localement et transmettre cette modification dans un RéférentielCodeCommit, utilisez Git à partir d'un rapport local connecté au Référentiel CodeCommit.

La suppression d'une branche ne supprime pas les validations, mais supprime toutes les références auxvalidations dans cette branche. Si vous supprimez une branche qui contient des validations qui n’ont pasété fusionnées dans une autre branche du référentiel, vous ne pouvez pas récupérer ces validations àmoins d’avoir leur validation complète IDs.

Note

Vous ne pouvez pas utiliser les instructions de cette rubrique pour supprimer la branche pardéfaut d'un référentiel. Si vous souhaitez supprimer la branche par défaut, vous devez créer unebranche, faire de la nouvelle branche la branche par défaut et supprimer l'ancienne branche. Pourde plus amples informations, veuillez consulter Création d'une branche (p. 267) et Modifier lesparamètres de la branche (p. 278).

Rubriques• Suppression d’une branche (console) (p. 280)• Supprimer une branche (AWS CLI) (p. 280)

Version de l'API 2015-04-13279

Page 289: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurSuppression d’une branche (console)

• Supprimer une branche (Git) (p. 280)

Suppression d’une branche (console)Vous pouvez utiliser la console CodeCommit pour supprimer une branche dans un RéférentielCodeCommit.

1. Ouvrez la console CodeCommit à l'adresse https://console.aws.amazon.com/codesuite/codecommit/home.

2. Dans Repositories (Référentiels), sélectionnez le nom du référentiel dans lequel vous voulez supprimerune branche.

3. Dans le volet de navigation, choisissez Branches.4. Recherchez le nom de la branche que vous souhaitez supprimer, choisissez Supprimer la branche,

puis validez votre choix.

Supprimer une branche (AWS CLI)Vous pouvez utiliser l'AWS CLI pour supprimer une branche dans un Référentiel CodeCommit s'il ne s'agitpas de la branche par défaut du référentiel. Pour plus d'informations sur l'installation et l'utilisation de l'AWSCLI, consultez Référence des commandes en ligne (p. 437).

1. Depuis le terminal ou la ligne de commande, exécutez la commande delete-branch, en spécifiant :

• Le nom du Référentiel CodeCommit où la branche doit être supprimée (avec l'option --repository-name).

Tip

Pour obtenir le nom du Référentiel CodeCommit, exécutez la commande list-repositories (p. 141).

• Le nom de la branche à supprimer (avec l'option branch-name).

Tip

Pour obtenir le nom de la branche, exécutez la commande list-branches (p. 274).2. Par exemple, pour supprimer une branche nommée MyNewBranch dans un Référentiel CodeCommit

nommé MyDemoRepo :

aws codecommit delete-branch --repository-name MyDemoRepo --branch-name MyNewBranch

Cette commande renvoie des informations sur la branche supprimée, y compris son nom et l'IDcomplet de la validation qui constituait la section HEAD de cette branche. Exemple :

"deletedBranch": { "branchName": "MyNewBranch", "commitId": "317f8570EXAMPLE"}

Supprimer une branche (Git)Pour utiliser Git à partir d'un rapport local afin de supprimer une branche dans un Référentiel CodeCommit,procédez comme suit.

Version de l'API 2015-04-13280

Page 290: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurSupprimer une branche (Git)

Ces étapes supposent que vous avez déjà connecté le rapport local au Référentiel CodeCommit. Pourobtenir des instructions, consultez Connexion à un référentiel (p. 99).

1. Pour supprimer la branche de l’ rapport local, exécutez le git branch -D branch-name de commandeoù branch-name est le nom de la branche que vous souhaitez supprimer.

Tip

Pour obtenir une liste de noms de branche, exécutez git branch --all.

Par exemple, pour supprimer une branche dans le rapport local nommé MyNewBranch :

git branch -D MyNewBranch

2. Pour supprimer la branche de l’ Référentiel CodeCommit, exécutez le git push remote-name --delete branch-name de commande où remote-name est le surnom du rapport local utilise pour leRéférentiel CodeCommit et branch-name est le nom de la branche que vous souhaitez supprimer dela Référentiel CodeCommit.

Tip

Pour obtenir une liste de Référentiel CodeCommit et leurs noms URLs, exécutez le git remote-v.

Par exemple, pour supprimer une branche nommée MyNewBranch dans le Référentiel CodeCommitnommé origin :

git push origin --delete MyNewBranch

Tip

Cette commande ne supprime pas une branche s'il s'agit de la branche par défaut.

Pour plus d'options, consultez la documentation Git.

Version de l'API 2015-04-13281

Page 291: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateur

Utilisation des préférences utilisateurVous pouvez utiliser la console AWS CodeCommit pour configurer certains paramètres par défaut. Parexemple, vous pouvez modifier vos préférences pour visualiser les modifications du code en ligne ou dansune vue fractionnée. Lorsque vous modifiez l'un de ces paramètres, la console AWS CodeCommit créeun cookie dans votre navigateur qui stocke et applique automatiquement vos choix chaque fois que vousutilisez la console. Ces préférences sont appliquées à tous les référentiels dans toutes les régions chaquefois que vous accédez à la console AWS CodeCommit à l'aide de ce navigateur. Ces préférences ne sontpas spécifiques au référentiel ou à la région. Elles n'ont aucun effet sur vos interactions avec l'AWS CLI,l'API AWS CodeCommit ou d'autres services qui interagissent avec AWS CodeCommit.

Note

Les cookies de préférences utilisateur sont propres à un navigateur. Si vous effacez les cookiesde votre navigateur, vos préférences sont effacées. De même, si vous utilisez un autre navigateurpour accéder à un référentiel, ce navigateur n'a aucun accès aux cookies de l'autre navigateur.Vos préférences ne sont pas mémorisées.

Les préférences utilisateur incluent les suivantes :

• Lorsque vous consultez les modifications code, l'utilisation de la vue unifiée ou fractionnée et l'affichageou le masquage des modifications d'espaces.

• Lorsque vous affichez, modifiez ou créez le code, l'utilisation d'un fond clair ou d'un fond sombre dans lafenêtre de l'éditeur de code.

Il n'y a pas de page unique permettant de configurer vos préférences. Au lieu de cela, chaque fois que vousmodifiez une préférence dans la console, par exemple en spécifiant la façon dont vous préférez afficher lesmodifications du code, ce changement est enregistré et appliqué lorsque c'est approprié.

Version de l'API 2015-04-13282

Page 292: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurMigrer un référentiel Git vers AWS CodeCommit

Migration vers AWS CodeCommitVous pouvez migrer un référentiel Git vers un Référentiel CodeCommit de plusieurs façons : en le clonant,en le mettant en miroir, en le migrant en entier ou en migrant seulement quelques branches, etc. Vouspouvez également migrer un contenu local non versionné sur votre ordinateur vers CodeCommit.

Les rubriques suivantes vous montrent quelques-unes des méthodes que vous pouvez choisir pour migrerun référentiel. Vos étapes peuvent varier selon le type, le style ou la complexité de votre référentiel, etselon les décisions que vous prenez sur ce que vous voulez migrer et comment. Pour les référentiels trèsvolumineux, vous pouvez envisager une migration incrémentielle (p. 301).

Note

Vous pouvez effectuer une migration vers CodeCommit à partir d'autres systèmes de contrôle deversion, tels que Perforce, Subversion ou TFS, mais vous devez d'abord exécuter la migrationvers Git.Pour plus d'options, consultez la documentation Git.Vous pouvez également consulter les informations sur la migration vers Git dans le livre Pro Git deScott Chacon et Ben Straub.

Rubriques• Migrer un référentiel Git vers AWS CodeCommit (p. 283)• Migrer le contenu local ou non versionné vers AWS CodeCommit (p. 293)• Migrer un référentiel de manière incrémentielle (p. 301)

Migrer un référentiel Git vers AWS CodeCommitVous pouvez migrer un référentiel Git existant vers un Référentiel CodeCommit. Les procédures décritesdans cette rubrique vous montrent comment migrer un projet hébergé sur un autre référentiel Git versCodeCommit. Dans le cadre de ce processus, vous allez :

• Effectuer la configuration nécessaire pour CodeCommit.• Créer un référentiel CodeCommit.• Cloner le référentiel et le transmettre vers CodeCommit.• Afficher des fichiers dans le référentiel CodeCommit.• Partager le référentiel CodeCommit avec votre équipe.

Version de l'API 2015-04-13283

Page 293: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉtape 0 : Configuration requise pour accéder à CodeCommit

Rubriques• Étape 0 : Configuration requise pour accéder à CodeCommit (p. 284)• Étape 1 : Création d'un référentiel CodeCommit (p. 288)• Étape 2 : Clonez le référentiel et transmettez-le au CodeCommit référentiel (p. 289)• Étape 3 : Afficher les fichiers dans CodeCommit (p. 290)• Étape 4 : Partager le CodeCommit référentiel (p. 291)

Étape 0 : Configuration requise pour accéder àCodeCommitPour pouvoir migrer un référentiel vers CodeCommit, vous devez créer et configurer un utilisateur IAM pourCodeCommit, et configurer votre ordinateur local pour l'accès. Vous devez également installer l'AWS CLIpour gérer CodeCommit. Même si vous pouvez exécuter la plupart des tâches CodeCommit sans cetteinterface, l'AWS CLI offre une certaine flexibilité lorsque vous utilisez Git depuis la ligne de commande oule terminal.

Si vous avez déjà effectué la configuration pour CodeCommit, vous pouvez passez directement à Étape 1 :Création d'un référentiel CodeCommit (p. 288).

Pour créer et configurer un utilisateur IAM pour l'accès à CodeCommit

1. Créez un compte AWS en accédant à http://aws.amazon.com et en sélectionnant Sign Up (Seconnecter).

2. Créez un utilisateur IAM ou utilisez un utilisateur existant associé à votre compte AWS. Assurez-vous qu'un ID de clé d'accès et une clé d'accès secrète sont associés à l'utilisateur IAM. Pour plusd'informations, consultez la page Création d'un utilisateur IAM dans votre compte AWS.

Note

CodeCommit nécessite AWS Key Management Service. Si vous utilisez un utilisateurIAM existant, assurez-vous qu'il n'existe aucune stratégie attachée à l'utilisateur, refusantexplicitement les actions AWS KMS requises par CodeCommit. Pour plus d'informations,consultez la section AWS KMS et chiffrement (p. 311).

3. Connectez-vous à la AWS Management Console et ouvrez la console IAM à l'adresse https://console.aws.amazon.com/iam/.

Version de l'API 2015-04-13284

Page 294: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉtape 0 : Configuration requise pour accéder à CodeCommit

4. Sur la console IAM, dans le volet de navigation, sélectionnez Users (Utilisateurs), puis l'utilisateur IAMque vous souhaitez configurer pour l'accès à CodeCommit.

5. Sous l'onglet Autorisations, choisissez Ajouter des autorisations.6. Pour Accorder des autorisations, choisissez Attacher directement les stratégies existantes.7. Dans la liste des stratégies, sélectionnez AWSCodeCommitPowerUser ou une autre stratégie gérée

pour l'accès à CodeCommit. Pour plus d'informations, consultez la section Stratégies gérées par AWS(prédéfinies) pour CodeCommit (p. 329).

Une fois que vous avez sélectionné la stratégie que vous souhaitez attacher, choisissez Suivant :à revoir pour examiner la liste des stratégies à attacher à IAM utilisateur. Si la liste est correcte,choisissez Add permissions.

Pour plus d'informations sur les stratégies gérées CodeCommit et le partage de l'accès à desréférentiels avec d'autres groupes et utilisateurs, consultez Partager un référentiel (p. 102) etAuthentification et contrôle d'accès pour AWS CodeCommit (p. 321).

Pour installer et configurer le AWS CLI

1. Sur votre ordinateur local, téléchargez et installez l'AWS CLI. Il s'agit d'un prérequis pour l'interactionavec CodeCommit à partir de la ligne de commande. Pour plus d'informations, consultez Préparationde l'installation de l'interface de ligne de commande AWS.

Note

CodeCommit fonctionne uniquement avec les versions de l'AWS CLI1.7.38 et ultérieures.Il est recommandé d'installer ou de mettre à niveau la version de l'AWS CLI la plus récentedisponible. Pour déterminer quelle version de l'AWS CLI vous avez installée, exécutez lacommande aws --version.Pour mettre à niveau une ancienne version de l'AWS CLI vers la version la plus récente,consultez Installation de l'AWS Command Line Interface.

2. Exécutez la commande suivante pour vérifier que les commandes CodeCommit pour l'AWS CLI sontinstallées :

aws codecommit help

Cette commande doit renvoyer une liste de commandes CodeCommit.3. Configurez l'AWS CLI avec un profil à l'aide de la commande configure, comme suit :

aws configure

Lorsque vous y êtes invité, spécifiez la clé d'accès AWS et la clé d'accès secrète AWS de l'utilisateurIAM à utiliser avec CodeCommit. Veillez également à spécifier la région AWS dans laquelle leréférentiel existe, par exemple us-east-2. Lorsque vous êtes invité à saisir le format de sortie pardéfaut, spécifiez json. Par exemple :

AWS Access Key ID [None]: Type your target AWS access key ID here, and then press EnterAWS Secret Access Key [None]: Type your target AWS secret access key here, and then press EnterDefault region name [None]: Type a supported region for CodeCommit here, and then press EnterDefault output format [None]: Type json here, and then press Enter

Pour plus d'informations sur la création et la configuration des profils à utiliser avec l'AWS CLI,consultez les rubriques suivantes :

Version de l'API 2015-04-13285

Page 295: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉtape 0 : Configuration requise pour accéder à CodeCommit

• Profils nommés• Utilisation d’un IAM Rôle dans le AWS CLI• Définition de la commande• Connexion à AWS CodeCommit référentiels avec informations d’identification rotatives (p. 312)

Pour vous connecter à un référentiel ou à une ressource dans une autre région AWS, vous devezreconfigurer l'AWS CLI avec le nom de région par défaut. Les noms de région par défaut pris encharge pour CodeCommit sont notamment les suivants :

• us-east-2• us-east-1• eu-west-1• us-west-2• ap-northeast-1• ap-southeast-1• ap-southeast-2• eu-central-1• ap-northeast-2• sa-east-1• us-west-1• eu-west-2• ap-south-1• ca-central-1• us-gov-west-1• us-gov-east-1• eu-north-1• ap-east-1• me-south-1• cn-north-1• cn-northwest-1• eu-south-1

Pour plus d'informations sur CodeCommit et les régions AWS, consultezRégions et points determinaison de connexion Git (p. 423). Pour plus d'informations sur IAM, les clés d'accès et lesclés secrètes, consultez Comment puis-je obtenir des informations d'identification ? et Gestion desclés d'accès pour les utilisateurs IAM. Pour plus d’informations sur le AWS CLI et profils, voir Profilsnommés.

Ensuite, vous devez installer Git.

• Pour Linux, macOS, or Unix :

Pour travailler avec des fichiers, des validations, et d'autres informations dans des référentielsCodeCommit, vous devez installer Git sur votre ordinateur local. CodeCommit prend en charge lesversions Git 1.7.9 et version ultérieure. Nous vous recommandons d'utiliser une version récente de Git.

Pour installer Git, nous vous recommandons des sites web tels que Téléchargements Git.Version de l'API 2015-04-13

286

Page 296: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉtape 0 : Configuration requise pour accéder à CodeCommit

Note

Git est une plateforme en constante évolution et régulièrement mise à jour. Parfois, lamodification d'une fonctionnalité peut affecter la façon dont elle fonctionne avec CodeCommit.Si vous rencontrez des problèmes avec une version spécifique de Git et CodeCommit, consultezles informations dans Dépannage (p. 401).

• Pour Windows:

Pour travailler avec des fichiers, des validations, et d'autres informations dans des référentielsCodeCommit, vous devez installer Git sur votre ordinateur local. CodeCommit prend en charge lesversions Git 1.7.9 et version ultérieure. Nous vous recommandons d'utiliser une version récente de Git.

Pour installer Git, nous vous recommandons des sites web tels que Git pour Windows. Si vous utilisez celien pour installer Git, vous pouvez accepter tous les paramètres d'installation par défaut à l'exception dece qui suit :• Lorsque vous y êtes invité lors de l'étape Adjusting your PATH environment (Ajustement de votre

environnement PATH), sélectionnez l'option permettant d'utiliser Git à partir de la ligne de commande.• (Facultatif) Si vous prévoyez d'utiliser le protocole HTTPS avec l'assistant d'informations d'identification

qui est inclus dans l'AWS CLI au lieu de configurer des informations d'identification Git pourCodeCommit, sur la page Configuring extra options (Configuration d'options supplémentaires),assurez-vous que l'option Enable Git Credential Manager (Activer le gestionnaire d'informationsd'identification Git) est désactivée. Le gestionnaire d'informations d'identification Git n'est compatibleavec CodeCommit que si les utilisateurs IAM configurent des informations d'identification Git. Pourplus d'informations, consultez Pour les utilisateurs HTTPS utilisant des informations d’identificationGit (p. 10) et Git pour Windows : J’ai installé Git pour Windows, mais je ne peux pas accéder à monréférentiel (403) (p. 414).

Note

Git est une plateforme en constante évolution et régulièrement mise à jour. Parfois, lamodification d'une fonctionnalité peut affecter la façon dont elle fonctionne avec CodeCommit.Si vous rencontrez des problèmes avec une version spécifique de Git et CodeCommit, consultezles informations dans Dépannage (p. 401).

CodeCommit prend en charge l'authentification HTTPS et SSH. Pour finaliser la procédure, vousdevez configurer des informations d'identification Git pour CodeCommit (HTTPS, recommandé pour laplupart des utilisateurs), une paire de clés SSH (SSH) à utiliser pour accéder à CodeCommit (SSH), git-remote-codecommit (recommandé pour les utilisateurs qui ont recours à un accès fédéré) ou l'assistantd'informations d'identification inclus dans l'AWS CLI (HTTPS).

• Pour définir les informations d'identification Git sur tous les systèmes d'exploitation pris en charge,consultez Étape 3 : Créer des informations d’identification Git pour les connexions HTTPS àCodeCommit (p. 11).

• Pour SSH sous Linux, macOS, or Unix, consultez SSH et Linux, macOS, or Unix : Configuration des cléspubliques et privées pour Git etCodeCommit (p. 38).

• Pour SSH sous Windows, consultez Étape 3 : Configuration des clés publiques et privées pour GitetCodeCommit (p. 44).

• Pour git-remote-codecommit, veuillez consulter Étapes de configuration pour les connexions HTTPS àAWS CodeCommit avec git-remote-codecommit (p. 15).

• Pour l'assistant d'informations d'identification sous Linux, macOS, or Unix, consultez Set Up theCredential Helper (Configurer l'assistant d'informations d'identification) (Linux, macOS, or Unix) (p. 51).

• Pour l'assistant d'informations d'identification sous Windows, consultez Configuration de l'assistantd'informations d'identification (Windows) (p. 57).

Version de l'API 2015-04-13287

Page 297: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉtape 1 : Création d'un référentiel CodeCommit

Étape 1 : Création d'un référentiel CodeCommitDans cette section, vous utilisez la console CodeCommit pour créer le référentiel CodeCommit utilisé pourla suite de ce didacticiel. Pour utiliser l'AWS CLI afin de créer le référentiel, consultez Créez un référentiel(AWS CLI) (p. 97).

1. Ouvrez la console CodeCommit à l'adresse https://console.aws.amazon.com/codesuite/codecommit/home.

2. Dans le sélecteur de région, choisissez la région AWS dans laquelle vous souhaitez créer leréférentiel. Pour plus d'informations, consultez la section Régions et points de terminaison deconnexion Git (p. 423).

3. Sur la page Référentiels, choisissez Créer un référentiel.4. Sur la page Créer un référentiel, dans Nom de référentiel, saisissez un nom pour le référentiel.

Note

Les noms de référentiel sont sensibles à la casse. Le nom doit être unique dans la régionAWS de votre compte AWS.

5. (Facultatif) Dans la zone Description, saisissez une description pour le référentiel. Cela peut aiderd'autres utilisateurs et vous-même à identifier la fonction du référentiel.

Note

Le champ de description affiche Markdown dans la console et accepte tous les caractèresHTML et les caractères Unicode valides. Si vous êtes un développeur d'application qui utiliseles API GetRepository ou BatchGetRepositories et si vous envisagez d'afficher lechamp de description d'un référentiel dans un navigateur web, consultez la référence d'APICodeCommit.

6. (Facultatif) Choisissez Add tag (Ajouter une balise) pour ajouter une ou plusieurs balises de référentiel(une étiquette d'attribut personnalisée qui vous aide à organiser et gérer vos ressources AWS) àvotre référentiel. Pour plus d'informations, consultez la section Balisage des référentiels dans AWSCodeCommit (p. 111).

7. (Facultatif) Sélectionnez Activer Amazon CodeGuru Reviewer pour Java si ce référentiel contientsdu code Java, et vous voulez CodeGuru Reviewer pour analyser à l’aide. CodeGuru Reviewer utiliseplusieurs modèles de machine learning pour trouver les défauts de code Java et pour suggérer desaméliorations et des correctifs dans les demandes d’extraction. Pour de plus amples informations,veuillez consulter Guide de l'utilisateur Amazon CodeGuru Reviewer.

8. Sélectionnez Create.

Version de l'API 2015-04-13288

Page 298: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉtape 2 : Clonez le référentiel et

transmettez-le au CodeCommit référentiel

Une fois qu'il a été créé, le référentiel s'affiche dans la liste Référentiels. Dans la colonne URL,sélectionnez l'icône de copie, puis choisissez le protocole (SSH ou HTTPS) à utiliser pour vous connecter àCodeCommit. Copiez l'URL.

Par exemple, si vous avez nommé votre référentiel MyClonedRepository et vous utilisez desinformations d’identification Git avec HTTPS dans le USA Est (Ohio) région, l’URL ressemble à ce qui suit :

https://git-codecommit.us-east-2.amazonaws.com/MyClonedRepository

Vous aurez besoin de cette URL plus tard dans Étape 2 : Clonez le référentiel et transmettez-le auCodeCommit référentiel (p. 289).

Étape 2 : Clonez le référentiel et transmettez-le auCodeCommit référentielDans cette section, vous allez cloner un référentiel Git sur votre ordinateur local, en créant ce qu'on appelleun référentiel local. Vous transmettez ensuite le contenu du référentiel local vers le référentiel CodeCommitque vous avez créé précédemment.

1. Depuis le terminal ou l’invite de commande sur votre ordinateur local, exécutez le git clone avec lacommande --mirror pour cloner une copie nue du référentiel distant dans un nouveau dossiernommé aws-codecommit-demo. Il s’agit d’un référentiel nu destiné uniquement à la migration. Il nes'agit pas du référentiel local permettant d'interagir avec le référentiel migré dans CodeCommit. Vouspouvez le créer plus tard, après la migration vers CodeCommit.

L’exemple suivant clone une application de démonstration hébergée sur GitHub (https://github.com/awslabs/aws-demo-php-simple-app.gitvers un référentiel local dans unrépertoire nommé aws-codecommit-demo.

Version de l'API 2015-04-13289

Page 299: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉtape 3 : Afficher les fichiers dans CodeCommit

git clone --mirror https://github.com/awslabs/aws-demo-php-simple-app.git aws-codecommit-demo

2. Placez-vous dans le répertoire où vous avez créé le clone.

cd aws-codecommit-demo

3. Exécutez la commande git push, en spécifiant l'URL et le nom du référentiel de destinationCodeCommit, et l'option --all. (Il s'agit de l'URL que vous avez copiée dans Étape 1 : Création d'unréférentiel CodeCommit (p. 288).)

Par exemple, si vous avez nommé votre référentiel MyClonedRepository et que vous êtes configurépour utiliser HTTPS, vous exécuteriez la commande suivante :

git push https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyClonedRepository --all

Note

L'option --all transfère uniquement l'ensemble des branches du référentiel. Elle ne transfèreaucune autre référence, comme les balises. Si vous souhaitez transférer les balises, attendezque le transfert initial soit terminé, puis relancez un transfert en utilisant cette fois l'option --tags :

git push ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyClonedRepository --tags

Pour plus d'informations, consultez Git push sur le site web de Git. Pour en savoir plus surle transfert de référentiels volumineux, en particulier si vous transférez toutes les référencesà la fois (par exemple, avec l'option --mirror), consultez la section Migrer un référentiel parincréments (p. 301).

Vous pouvez supprimer le aws-codecommit-demo et son contenu après avoir migré le référentiel versCodeCommit. Afin de créer un référentiel local avec toutes les références correctes pour travailler avec leréférentiel dans CodeCommit, exécutez la commande git clone sans l'option --mirror :

git clone https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyClonedRepository

Étape 3 : Afficher les fichiers dans CodeCommitUne fois que vous avez transmis le contenu de votre répertoire, vous pouvez utiliser la consoleCodeCommit pour afficher rapidement tous les fichiers de ce référentiel.

1. Ouvrez la console CodeCommit à l'adresse https://console.aws.amazon.com/codesuite/codecommit/home.

2. dans Référentiels, choisissez le nom du référentiel (par exemple, MyClonedRepository).3. Affichez les fichiers dans le référentiel pour les branches, le clone URLs, les paramètres et plus

encore.

Version de l'API 2015-04-13290

Page 300: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉtape 4 : Partager le CodeCommit référentiel

Étape 4 : Partager le CodeCommit référentielLorsque vous créez un référentiel dans CodeCommit, deux points de terminaison sont générés : un pourles connexions HTTPS et un pour les connexions SSH. Les deux fournissent des connexions sécuriséessur un réseau. Vos utilisateurs peuvent utiliser l'un ou l'autre de ces protocoles. Les deux points determinaison restent actifs, quel que soit le protocole que vous recommandez à vos utilisateurs. Pourpouvoir partager votre référentiel avec d'autres utilisateurs, vous devez créer des stratégies IAM quiautorisent d'autres utilisateurs à accéder à votre référentiel. Fournissez ces instructions d'accès à vosutilisateurs.

Création d'une stratégie gérée par le client pour votre référentiel

1. Connectez-vous à la AWS Management Console et ouvrez la console IAM à l'adresse https://console.aws.amazon.com/iam/.

2. Dans la zone de navigation de Dashboard, choisissez Stratégies, puis Créer une stratégie.3. Sur la page Créer une politique , choisissez Importer une stratégie gérée.4. Sur la page Importer les stratégies gérées page, dans Stratégies de filtre, saisissez

AWSCodeCommitPowerUser. Cliquez sur le bouton en regard du nom de la stratégie, puis choisissezImporter.

5. Sur la page Créer une stratégie, choisissez JSON. Remplacez la partie « * » du Resource pourCodeCommit avec l’Amazon Resource Name (ARN) du CodeCommit comme illustré ici :

"Resource": [ "arn:aws:codecommit:us-east-2:111111111111:MyDemoRepo" ]

Tip

Pour rechercher l’ARN de l’ CodeCommit , accédez à l’ CodeCommit , choisissez le nom duréférentiel dans la liste, puis choisissez Paramètres. Pour plus d'informations, consultez lasection Afficher les détails du référentiel (p. 139).

Si vous souhaitez que cette stratégie s'applique à plusieurs référentiels, ajoutez chaque référentiel entant que ressource en spécifiant son ARN. Incluez une virgule entre chaque instruction de ressource,comme illustré ici :

"Resource": [ "arn:aws:codecommit:us-east-2:111111111111:MyDemoRepo", "arn:aws:codecommit:us-east-2:111111111111:MyOtherDemoRepo" ]

Version de l'API 2015-04-13291

Page 301: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉtape 4 : Partager le CodeCommit référentiel

Lorsque vous avez terminé la modification, choisissez Examiner la politique.6. Sur la page Examiner la politique page, dans Nom, saisissez un nouveau nom pour la stratégie (par

exemple, AWSCodeCommitPowerUser-MyDemoRepo). Fournissez éventuellement une description decette stratégie.

7. Choisissez Create Policy (Créer une stratégie).

Pour gérer l'accès à votre référentiel, créez un groupe IAM pour ses utilisateurs, ajoutez des utilisateursIAM à ce groupe, puis attachez à ce dernier la stratégie gérée par le client que vous avez créée àl'étape précédente. Attachez toute autre stratégie requise pour l'accès, comme IAMUserSSHKeys ouIAMSelfManageServiceSpecificCredentials.

1. Connectez-vous à la AWS Management Console et ouvrez la console IAM à l'adresse https://console.aws.amazon.com/iam/.

2. Dans la zone de navigation de Dashboard, sélectionnez Groupes, puis Créer un groupe.3. Sur la page Définir le nom du groupe page, dans Nom du groupe, saisissez un nom pour le groupe

(par exemple, MyDemoRepoGroup), puis choisissez Étape suivante. Vous pouvez inclure le nom duréférentiel comme partie du nom du groupe.

Note

Ce nom doit être unique pour l'ensemble d'un compte AWS.4. Cochez la case en regard de la stratégie gérée par le client que vous avez créée dans la section

précédente (par exemple, AWSCodeCommitPowerUser-MyDemoRepo).5. Sur la page Examiner, choisissez Créer un groupe. IAM crée ce groupe avec les stratégies spécifiées

déjà attachées. Le groupe apparaît dans la liste des groupes associés à votre compte AWS.6. Choisissez votre groupe dans la liste.7. Sur la page récapitulative du groupe, sélectionnez l'onglet Utilisateurs, puis Ajouter des utilisateurs au

groupe. Dans la liste qui affiche tous les utilisateurs associés à votre compte AWS, cochez les casesen regard des utilisateurs que vous souhaitez autoriser à accéder au référentiel CodeCommit, puissélectionnez Ajouter des utilisateurs.

Tip

Vous pouvez utiliser la zone de recherche pour trouver rapidement des utilisateurs par leurnom.

8. Lorsque vous avez ajouté vos utilisateurs, fermez la console IAM.

Une fois que vous avez créé un utilisateur IAM qui accède à CodeCommit à l'aide du groupe de stratégieset des stratégies que vous avez configurés, envoyez à cet utilisateur les informations de connexionnécessaires pour se connecter au référentiel.

1. Ouvrez la console CodeCommit à l'adresse https://console.aws.amazon.com/codesuite/codecommit/home.

2. Dans le sélecteur de région, choisissez la région AWS dans laquelle le référentiel a été créé. Lesréférentiels sont propres à une région AWS. Pour plus d'informations, consultez la section Régions etpoints de terminaison de connexion Git (p. 423).

3. Sur la page Repositories (Référentiels), choisissez le référentiel à partager.4. Dans Clone URL (URL de clone), choisissez le protocole que vos utilisateurs doivent employer. Cette

fonction copie l'URL de clone pour le protocole de connexion.5. Envoyez à vos utilisateurs l'URL de clone, ainsi que toute autre instruction, par exemple, sur

l'installation de l'AWS CLI, la configuration d'un profil ou l'installation de Git. Assurez-vous d'inclure lesinformations de configuration pour le protocole de connexion (par exemple, HTTPS).

Version de l'API 2015-04-13292

Page 302: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurMigrer le contenu vers CodeCommit

Migrer le contenu local ou non versionné vers AWSCodeCommit

Les procédures décrites dans cette rubrique vous montrent comment migrer un projet ou un contenu localexistant de votre ordinateur vers un Référentiel CodeCommit. Dans le cadre de ce processus, vous allez :

• Effectuer la configuration nécessaire pour CodeCommit.• Créer un référentiel CodeCommit.• Placez un dossier local sous contrôle de version Git et transmettez le contenu de ce dossier vers le

référentiel CodeCommit.• Afficher des fichiers dans le référentiel CodeCommit.• Partager le référentiel CodeCommit avec votre équipe.

Rubriques• Étape 0 : Configuration requise pour accéder à CodeCommit (p. 293)• Étape 1 : Création d'un référentiel CodeCommit (p. 297)• Étape 2 : Migrer le contenu local vers le CodeCommit référentiel (p. 298)• Étape 3 : Afficher les fichiers dans CodeCommit (p. 299)• Étape 4 : Partager le CodeCommit référentiel (p. 299)

Étape 0 : Configuration requise pour accéder àCodeCommitPour pouvoir migrer un contenu local vers CodeCommit, vous devez créer et configurer un utilisateur IAMpour CodeCommit, et configurer votre ordinateur local pour l'accès. Vous devez également installer l'AWSCLI pour gérer CodeCommit. Même si vous pouvez exécuter la plupart des tâches CodeCommit sansl'AWS CLI, celle-ci, offre une certaine flexibilité lorsque vous utilisez Git.

Si vous avez déjà effectué la configuration pour CodeCommit, vous pouvez passez directement à Étape 1 :Création d'un référentiel CodeCommit (p. 297).

Version de l'API 2015-04-13293

Page 303: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉtape 0 : Configuration requise pour accéder à CodeCommit

Pour créer et configurer un utilisateur IAM pour l'accès à CodeCommit

1. Créez un compte AWS en accédant à http://aws.amazon.com et en sélectionnant Sign Up (Seconnecter).

2. Créez un utilisateur IAM ou utilisez un utilisateur existant associé à votre compte AWS. Assurez-vous qu'un ID de clé d'accès et une clé d'accès secrète sont associés à l'utilisateur IAM. Pour plusd'informations, consultez la page Création d'un utilisateur IAM dans votre compte AWS.

Note

CodeCommit nécessite AWS Key Management Service. Si vous utilisez un utilisateurIAM existant, assurez-vous qu'il n'existe aucune stratégie attachée à l'utilisateur, refusantexplicitement les actions AWS KMS requises par CodeCommit. Pour plus d'informations,consultez la section AWS KMS et chiffrement (p. 311).

3. Connectez-vous à la AWS Management Console et ouvrez la console IAM à l'adresse https://console.aws.amazon.com/iam/.

4. Sur la console IAM, dans le volet de navigation, sélectionnez Users (Utilisateurs), puis l'utilisateur IAMque vous souhaitez configurer pour l'accès à CodeCommit.

5. Sous l'onglet Autorisations, choisissez Ajouter des autorisations.6. Pour Accorder des autorisations, choisissez Attacher directement les stratégies existantes.7. Dans la liste des stratégies, sélectionnez AWSCodeCommitPowerUser ou une autre stratégie gérée

pour l'accès à CodeCommit. Pour plus d'informations, consultez la section Stratégies gérées par AWS(prédéfinies) pour CodeCommit (p. 329).

Une fois que vous avez sélectionné la stratégie que vous souhaitez attacher, choisissez Suivant :à revoir pour examiner la liste des stratégies à attacher à IAM utilisateur. Si la liste est correcte,choisissez Add permissions.

Pour plus d'informations sur les stratégies gérées CodeCommit et le partage de l'accès à desréférentiels avec d'autres groupes et utilisateurs, consultez Partager un référentiel (p. 102) etAuthentification et contrôle d'accès pour AWS CodeCommit (p. 321).

Pour installer et configurer le AWS CLI

1. Sur votre ordinateur local, téléchargez et installez l'AWS CLI. Il s'agit d'un prérequis pour l'interactionavec CodeCommit à partir de la ligne de commande. Pour plus d'informations, consultez Préparationde l'installation de l'interface de ligne de commande AWS.

Note

CodeCommit fonctionne uniquement avec les versions de l'AWS CLI1.7.38 et ultérieures.Il est recommandé d'installer ou de mettre à niveau la version de l'AWS CLI la plus récentedisponible. Pour déterminer quelle version de l'AWS CLI vous avez installée, exécutez lacommande aws --version.Pour mettre à niveau une ancienne version de l'AWS CLI vers la version la plus récente,consultez Installation de l'AWS Command Line Interface.

2. Exécutez la commande suivante pour vérifier que les commandes CodeCommit pour l'AWS CLI sontinstallées :

aws codecommit help

Cette commande doit renvoyer une liste de commandes CodeCommit.3. Configurez l'AWS CLI avec un profil à l'aide de la commande configure, comme suit :

aws configure

Version de l'API 2015-04-13294

Page 304: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉtape 0 : Configuration requise pour accéder à CodeCommit

Lorsque vous y êtes invité, spécifiez la clé d'accès AWS et la clé d'accès secrète AWS de l'utilisateurIAM à utiliser avec CodeCommit. Veillez également à spécifier la région AWS dans laquelle leréférentiel existe, par exemple us-east-2. Lorsque vous êtes invité à saisir le format de sortie pardéfaut, spécifiez json. Par exemple :

AWS Access Key ID [None]: Type your target AWS access key ID here, and then press EnterAWS Secret Access Key [None]: Type your target AWS secret access key here, and then press EnterDefault region name [None]: Type a supported region for CodeCommit here, and then press EnterDefault output format [None]: Type json here, and then press Enter

Pour plus d'informations sur la création et la configuration des profils à utiliser avec l'AWS CLI,consultez les rubriques suivantes :

• Profils nommés• Utilisation d’un IAM Rôle dans le AWS CLI• Définition de la commande• Connexion à AWS CodeCommit référentiels avec informations d’identification rotatives (p. 312)

Pour vous connecter à un référentiel ou à une ressource dans une autre région AWS, vous devezreconfigurer l'AWS CLI avec le nom de région par défaut. Les noms de région par défaut pris encharge pour CodeCommit sont notamment les suivants :

• us-east-2• us-east-1• eu-west-1• us-west-2• ap-northeast-1• ap-southeast-1• ap-southeast-2• eu-central-1• ap-northeast-2• sa-east-1• us-west-1• eu-west-2• ap-south-1• ca-central-1• us-gov-west-1• us-gov-east-1• eu-north-1• ap-east-1• me-south-1• cn-north-1• cn-northwest-1• eu-south-1

Pour plus d'informations sur CodeCommit et les régions AWS, consultezRégions et points determinaison de connexion Git (p. 423). Pour plus d'informations sur IAM, les clés d'accès et lesVersion de l'API 2015-04-13

295

Page 305: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉtape 0 : Configuration requise pour accéder à CodeCommit

clés secrètes, consultez Comment puis-je obtenir des informations d'identification ? et Gestion desclés d'accès pour les utilisateurs IAM. Pour plus d’informations sur le AWS CLI et profils, voir Profilsnommés.

Ensuite, vous devez installer Git.

• Pour Linux, macOS, or Unix :

Pour travailler avec des fichiers, des validations, et d'autres informations dans des référentielsCodeCommit, vous devez installer Git sur votre ordinateur local. CodeCommit prend en charge lesversions Git 1.7.9 et version ultérieure. Nous vous recommandons d'utiliser une version récente de Git.

Pour installer Git, nous vous recommandons des sites web tels que Téléchargements Git.

Note

Git est une plateforme en constante évolution et régulièrement mise à jour. Parfois, lamodification d'une fonctionnalité peut affecter la façon dont elle fonctionne avec CodeCommit.Si vous rencontrez des problèmes avec une version spécifique de Git et CodeCommit, consultezles informations dans Dépannage (p. 401).

• Pour Windows:

Pour travailler avec des fichiers, des validations, et d'autres informations dans des référentielsCodeCommit, vous devez installer Git sur votre ordinateur local. CodeCommit prend en charge lesversions Git 1.7.9 et version ultérieure. Nous vous recommandons d'utiliser une version récente de Git.

Pour installer Git, nous vous recommandons des sites web tels que Git pour Windows. Si vous utilisez celien pour installer Git, vous pouvez accepter tous les paramètres d'installation par défaut à l'exception dece qui suit :• Lorsque vous y êtes invité lors de l'étape Adjusting your PATH environment (Ajustement de votre

environnement PATH), sélectionnez l'option permettant d'utiliser Git à partir de la ligne de commande.• (Facultatif) Si vous prévoyez d'utiliser le protocole HTTPS avec l'assistant d'informations d'identification

qui est inclus dans l'AWS CLI au lieu de configurer des informations d'identification Git pourCodeCommit, sur la page Configuring extra options (Configuration d'options supplémentaires),assurez-vous que l'option Enable Git Credential Manager (Activer le gestionnaire d'informationsd'identification Git) est désactivée. Le gestionnaire d'informations d'identification Git n'est compatibleavec CodeCommit que si les utilisateurs IAM configurent des informations d'identification Git. Pourplus d'informations, consultez Pour les utilisateurs HTTPS utilisant des informations d’identificationGit (p. 10) et Git pour Windows : J’ai installé Git pour Windows, mais je ne peux pas accéder à monréférentiel (403) (p. 414).

Note

Git est une plateforme en constante évolution et régulièrement mise à jour. Parfois, lamodification d'une fonctionnalité peut affecter la façon dont elle fonctionne avec CodeCommit.Si vous rencontrez des problèmes avec une version spécifique de Git et CodeCommit, consultezles informations dans Dépannage (p. 401).

CodeCommit prend en charge l'authentification HTTPS et SSH. Pour finaliser la procédure, vous devezconfigurer des informations d'identification Git pour CodeCommit (HTTPS, recommandé pour la plupart desutilisateurs), une paire de clés SSH (SSH) à utiliser pour accéder à CodeCommit, git-remote-codecommit(recommandé pour les utilisateurs qui ont recours à un accès fédéré) ou l'assistant d'informationsd'identification inclus dans l'AWS CLI.

• Pour définir les informations d'identification Git sur tous les systèmes d'exploitation pris en charge,consultez Étape 3 : Créer des informations d’identification Git pour les connexions HTTPS àCodeCommit (p. 11). Version de l'API 2015-04-13

296

Page 306: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉtape 1 : Création d'un référentiel CodeCommit

• Pour SSH sous Linux, macOS, or Unix, consultez SSH et Linux, macOS, or Unix : Configuration des cléspubliques et privées pour Git etCodeCommit (p. 38).

• Pour SSH sous Windows, consultez Étape 3 : Configuration des clés publiques et privées pour GitetCodeCommit (p. 44).

• Pour git-remote-codecommit, veuillez consulter Étapes de configuration pour les connexions HTTPS àAWS CodeCommit avec git-remote-codecommit (p. 15).

• Pour l'assistant d'informations d'identification sous Linux, macOS, or Unix, consultez Set Up theCredential Helper (Configurer l'assistant d'informations d'identification) (Linux, macOS, or Unix) (p. 51).

• Pour l'assistant d'informations d'identification sous Windows, consultez Configuration de l'assistantd'informations d'identification (Windows) (p. 57).

Étape 1 : Création d'un référentiel CodeCommitDans cette section, vous utilisez la console CodeCommit pour créer le référentiel CodeCommit utilisé pourla suite de ce didacticiel. Pour utiliser l'AWS CLI afin de créer le référentiel, consultez Créez un référentiel(AWS CLI) (p. 97).

1. Ouvrez la console CodeCommit à l'adresse https://console.aws.amazon.com/codesuite/codecommit/home.

2. Dans le sélecteur de région, choisissez la région AWS dans laquelle vous souhaitez créer leréférentiel. Pour plus d'informations, consultez la section Régions et points de terminaison deconnexion Git (p. 423).

3. Sur la page Référentiels, choisissez Créer un référentiel.4. Sur la page Créer un référentiel, dans Nom de référentiel, saisissez un nom pour le référentiel.

Note

Les noms de référentiel sont sensibles à la casse. Le nom doit être unique dans la régionAWS de votre compte AWS.

5. (Facultatif) Dans la zone Description, saisissez une description pour le référentiel. Cela peut aiderd'autres utilisateurs et vous-même à identifier la fonction du référentiel.

Note

Le champ de description affiche Markdown dans la console et accepte tous les caractèresHTML et les caractères Unicode valides. Si vous êtes un développeur d'application qui utiliseles API GetRepository ou BatchGetRepositories et si vous envisagez d'afficher lechamp de description d'un référentiel dans un navigateur web, consultez la référence d'APICodeCommit.

6. (Facultatif) Choisissez Add tag (Ajouter une balise) pour ajouter une ou plusieurs balises de référentiel(une étiquette d'attribut personnalisée qui vous aide à organiser et gérer vos ressources AWS) àvotre référentiel. Pour plus d'informations, consultez la section Balisage des référentiels dans AWSCodeCommit (p. 111).

7. (Facultatif) Sélectionnez Activer Amazon CodeGuru Reviewer pour Java si ce référentiel contientsdu code Java, et vous voulez CodeGuru Reviewer pour analyser à l’aide. CodeGuru Reviewer utiliseplusieurs modèles de machine learning pour trouver les défauts de code Java et pour suggérer desaméliorations et des correctifs dans les demandes d’extraction. Pour de plus amples informations,veuillez consulter Guide de l'utilisateur Amazon CodeGuru Reviewer.

8. Sélectionnez Create.

Version de l'API 2015-04-13297

Page 307: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉtape 2 : Migrer le contenu localvers le CodeCommit référentiel

Une fois qu'il a été créé, le référentiel s'affiche dans la liste Référentiels. Dans la colonne URL,sélectionnez l'icône de copie, puis choisissez le protocole (SSH ou HTTPS) à utiliser pour vous connecter àCodeCommit. Copiez l'URL.

Par exemple, si vous avez nommé votre référentiel MyFirstRepo et que vous utilisez HTTPS, l’URLressemblerait à ce qui suit :

https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyFirstRepo

Vous aurez besoin de cette URL plus tard dans Étape 2 : Migrer le contenu local vers le CodeCommitréférentiel (p. 298).

Étape 2 : Migrer le contenu local vers le CodeCommitréférentielMaintenant que vous disposez d'un référentiel CodeCommit, vous pouvez choisir un répertoire sur votreordinateur local pour le convertir en référentiel Git local. La commande git init peut être utilisée pourconvertir un contenu non versionné existant en référentiel Git ou, si vous n'avez pas encore de fichiers oude contenu, initialiser un nouveau référentiel vide.

1. Depuis le terminal ou la ligne de commande sur votre ordinateur local, placez-vous dans le répertoireque vous souhaitez utiliser comme source pour votre référentiel.

2. Exécutez la commande git init pour initialiser le contrôle de version Git dans le répertoire. Cela créeun sous-répertoire .git à la racine du répertoire qui active le suivi du contrôle de version. Le dossier .gitcontient également toutes les métadonnées requises pour le référentiel.

git init

3. Ajoutez les fichiers que vous souhaitez ajouter au contrôle de version. Dans ce didacticiel, vousallez exécuter la commande git add avec le spécificateur . pour ajouter tous les fichiers dans cerépertoire. Pour les autres options, consultez la documentation Git.

Version de l'API 2015-04-13298

Page 308: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉtape 3 : Afficher les fichiers dans CodeCommit

git add .

4. Créez une validation pour les fichiers ajoutés avec un message de validation.

git commit –m "Initial commit"

5. Exécutez la commande git push, en spécifiant l'URL et le nom du référentiel de destinationCodeCommit, et l'option --all. (Il s'agit de l'URL que vous avez copiée dans Étape 1 : Création d'unréférentiel CodeCommit (p. 297).)

Par exemple, si vous avez nommé votre référentiel MyFirstRepo et que vous êtes configuré pourutiliser HTTPS, vous exécuteriez la commande suivante :

git push https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyFirstRepo --all

Étape 3 : Afficher les fichiers dans CodeCommitUne fois que vous avez transmis le contenu de votre répertoire, vous pouvez utiliser la consoleCodeCommit pour afficher rapidement tous les fichiers du référentiel.

1. Ouvrez la console CodeCommit à l'adresse https://console.aws.amazon.com/codesuite/codecommit/home.

2. dans Référentiels, choisissez le nom du référentiel (par exemple, MyFirstRepository) de la liste.3. Afficher les fichiers dans le référentiel pour les branches, cloner URLs, paramètres et plus encore.

Étape 4 : Partager le CodeCommit référentielLorsque vous créez un référentiel dans CodeCommit, deux points de terminaison sont générés : un pourles connexions HTTPS et un pour les connexions SSH. Les deux fournissent des connexions sécuriséessur un réseau. Vos utilisateurs peuvent utiliser l'un ou l'autre de ces protocoles. Les deux points determinaison restent actifs, quel que soit le protocole que vous recommandez à vos utilisateurs. Pourpouvoir partager votre référentiel avec d'autres utilisateurs, vous devez créer des stratégies IAM quiautorisent d'autres utilisateurs à accéder à votre référentiel. Fournissez ces instructions d'accès à vosutilisateurs.

Création d'une stratégie gérée par le client pour votre référentiel

1. Connectez-vous à la AWS Management Console et ouvrez la console IAM à l'adresse https://console.aws.amazon.com/iam/.

2. Dans la zone de navigation de Dashboard, choisissez Stratégies, puis Créer une stratégie.3. Sur la page Créer une politique , choisissez Importer une stratégie gérée.4. Sur la page Importer les stratégies gérées page, dans Stratégies de filtre, saisissez

AWSCodeCommitPowerUser. Cliquez sur le bouton en regard du nom de la stratégie, puis choisissezImporter.

5. Sur la page Créer une stratégie, choisissez JSON. Remplacez la partie « * » du Resource pourCodeCommit avec l’Amazon Resource Name (ARN) du CodeCommit comme illustré ici :

"Resource": [ "arn:aws:codecommit:us-east-2:111111111111:MyDemoRepo" ]

Version de l'API 2015-04-13299

Page 309: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉtape 4 : Partager le CodeCommit référentiel

Tip

Pour rechercher l’ARN de l’ CodeCommit , accédez à l’ CodeCommit , choisissez le nom duréférentiel dans la liste, puis choisissez Paramètres. Pour plus d'informations, consultez lasection Afficher les détails du référentiel (p. 139).

Si vous souhaitez que cette stratégie s'applique à plusieurs référentiels, ajoutez chaque référentiel entant que ressource en spécifiant son ARN. Incluez une virgule entre chaque instruction de ressource,comme illustré ici :

"Resource": [ "arn:aws:codecommit:us-east-2:111111111111:MyDemoRepo", "arn:aws:codecommit:us-east-2:111111111111:MyOtherDemoRepo" ]

Lorsque vous avez terminé la modification, choisissez Examiner la politique.6. Sur la page Examiner la politique page, dans Nom, saisissez un nouveau nom pour la stratégie (par

exemple, AWSCodeCommitPowerUser-MyDemoRepo). Fournissez éventuellement une description decette stratégie.

7. Choisissez Create Policy (Créer une stratégie).

Pour gérer l'accès à votre référentiel, créez un groupe IAM pour ses utilisateurs, ajoutez desutilisateurs IAM à ce groupe, puis attachez à ce dernier la stratégie gérée par le client que vousavez créée à l'étape précédente. Attachez toute autre stratégie requise pour l'accès, commeIAMSelfManageServiceSpecificCredentials ou IAMUserSSHKeys.

1. Connectez-vous à la AWS Management Console et ouvrez la console IAM à l'adresse https://console.aws.amazon.com/iam/.

2. Dans la zone de navigation de Dashboard, sélectionnez Groupes, puis Créer un groupe.3. Sur la page Définir le nom du groupe page, dans Nom du groupe, saisissez un nom pour le groupe

(par exemple, MyDemoRepoGroup), puis choisissez Étape suivante. Vous pouvez inclure le nom duréférentiel comme partie du nom du groupe.

Note

Ce nom doit être unique pour l'ensemble d'un compte AWS.4. Cochez la case en regard de la stratégie gérée par le client que vous avez créée dans la section

précédente (par exemple, AWSCodeCommitPowerUser-MyDemoRepo).5. Sur la page Examiner, choisissez Créer un groupe. IAM crée ce groupe avec les stratégies spécifiées

déjà attachées. Le groupe apparaît dans la liste des groupes associés à votre compte AWS.6. Choisissez votre groupe dans la liste.7. Sur la page récapitulative du groupe, sélectionnez l'onglet Utilisateurs, puis Ajouter des utilisateurs au

groupe. Dans la liste qui affiche tous les utilisateurs associés à votre compte AWS, cochez les casesen regard des utilisateurs que vous souhaitez autoriser à accéder au référentiel CodeCommit, puissélectionnez Ajouter des utilisateurs.

Tip

Vous pouvez utiliser la zone de recherche pour trouver rapidement des utilisateurs par leurnom.

8. Lorsque vous avez ajouté vos utilisateurs, fermez la console IAM.

Version de l'API 2015-04-13300

Page 310: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurMigrer un référentiel par incréments

Une fois que vous avez créé un utilisateur IAM à utiliser pour accéder à CodeCommit à l'aide du groupede stratégies et des stratégies que vous avez configurés, envoyez à cet utilisateur les informations deconnexion nécessaires pour se connecter au référentiel.

1. Ouvrez la console CodeCommit à l'adresse https://console.aws.amazon.com/codesuite/codecommit/home.

2. Dans le sélecteur de région, choisissez la région AWS dans laquelle le référentiel a été créé. Lesréférentiels sont propres à une région AWS. Pour plus d'informations, consultez la section Régions etpoints de terminaison de connexion Git (p. 423).

3. Sur la page Repositories (Référentiels), choisissez le référentiel à partager.4. Dans Clone URL (URL de clone), choisissez le protocole que vos utilisateurs doivent employer. Cette

fonction copie l'URL de clone pour le protocole de connexion.5. Envoyez à vos utilisateurs l'URL de clone, ainsi que toute autre instruction, par exemple, sur

l'installation de l'AWS CLI, la configuration d'un profil ou l'installation de Git. Assurez-vous d'inclure lesinformations de configuration pour le protocole de connexion (par exemple, HTTPS).

Migrer un référentiel de manière incrémentielleLors de la migration vers AWS CodeCommit, vous pouvez choisir de transmettre votre référentiel parincréments ou fragments pour limiter les risques qu'un problème d'interruption de connexion réseau oude performances réseau dégradées entraîne l'échec de la totalité de la transmission. En utilisant destransmissions incrémentielles avec un script semblable à celui qui est inclus ici, vous pouvez redémarrer lamigration et ne transmettre que les validations qui n'ont pas abouti lors de la tentative précédente.

Les procédures décrites dans cette rubrique vous montrent comment créer et exécuter un script qui migrevotre référentiel par incréments, et ne retransmet que les incréments qui n'ont pas abouti jusqu'à ce que lamigration soit terminée.

Ces instructions supposent que vous avez déjà effectué les étapes indiquées dans Configuration de (p. 7)et Création d'un référentiel (p. 96).

Rubriques• Étape 0 : Déterminer s’il faut migrer de manière incrémentielle (p. 301)• Étape 1 : Installez les prérequis et ajoutez le CodeCommit en tant que référentiel distant (p. 302)• Étape 2 : Créez le script à utiliser pour la migration incrémentielle (p. 303)• Étape 3 : Exécutez le script et effectuez une migration incrémentielle vers CodeCommit (p. 304)• Annexe : Exemple de script incremental-repo-migration.py (p. 305)

Étape 0 : Déterminer s’il faut migrer de manièreincrémentielleVous devez prendre en compte plusieurs facteurs pour déterminer la taille globale de votre référentiel etsavoir si une migration incrémentielle est nécessaire. Le facteur le plus évident est la taille des artefactsdu référentiel. Des facteurs tels que l'historique accumulé du référentiel peuvent également contribuerà sa taille. Un référentiel avec des années d'historique et de branches peut être très volumineux, mêmesi les ressources individuelles ne le sont pas. Il existe un certain nombre de stratégies que vous pouvezmettre en place pour simplifier la migration de ces référentiels et la rendre plus efficace. Par exemple, vouspouvez utiliser une stratégie de clone superficiel lors du clonage d'un référentiel avec un grand historiquede développement, ou vous pouvez désactiver la compression delta pour les fichiers binaires volumineux.Vous pouvez rechercher des options en consultant votre documentation Git, ou choisir de configurer des

Version de l'API 2015-04-13301

Page 311: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉtape 1 : Installez les prérequis et ajoutez leCodeCommit en tant que référentiel distant

transmissions incrémentielles pour la migration de votre référentiel à l'aide de l'exemple de script inclusdans cette rubrique : incremental-repo-migration.py.

Vous souhaiterez peut-être configurer des transmissions incrémentielles si une ou plusieurs des conditionssuivantes sont réunies :

• Le référentiel que vous souhaitez migrer a plus de cinq ans d'historique.• Votre connexion internet est soumise à des pannes intermittentes, des paquets abandonnés, une

réponse lente ou d'autres interruptions de service.• La taille globale du référentiel est supérieure à 2 Go et vous avez l'intention de migrer la totalité du

référentiel.• Le référentiel contient des artefacts volumineux ou des fichiers binaires qui ne se compressent pas

correctement, par exemple de gros fichiers image avec plus de cinq versions suivies.• Vous avez tenté précédemment une migration vers CodeCommit et a reçu un message « Erreur interne

de Service ».

Même si aucune des conditions ci-dessus n'est vraie, vous pouvez quand-même choisir d'effectuer unetransmission incrémentielle.

Étape 1 : Installez les prérequis et ajoutez leCodeCommit en tant que référentiel distantVous pouvez créer votre propre script personnalisé qui a ses propres prérequis. Si vous utilisez l'exemplede cette rubrique, vous devez :

• Installer les prérequis.• Cloner le référentiel sur votre ordinateur local.• Ajouter le référentiel CodeCommit en tant que composant distant pour le référentiel que vous souhaitez

migrer.

Configuration pour exécuter incremental-repo-migration.py

1. Sur votre ordinateur local, installer Python 2.6 ou une version ultérieure. Pour plus d'informations etobtenir les dernières versions, consultez le site Web Python.

2. Installez sur le même ordinateur GitPython, qui est une bibliothèque Python utilisée pour interagir avecles référentiels Git. Pour plus d'informations, consultez la documentation GitPython.

3. Utilisez la commande git clone --mirror pour cloner le référentiel que vous souhaitez migrer vers votreordinateur local. Depuis le terminal (Linux, macOS, or Unix) ou la ligne de commande (Windows), ,utilisez la commande git clone --mirror pour créer un référentiel local pour le référentiel, en incluant lerépertoire dans lequel vous souhaitez créer le référentiel local. Par exemple, pour cloner un référentielGit nommé MyMigrationRepo avec une URL de https://example.com/my-repo/ vers unrépertoire nommé my-repo:

git clone --mirror https://example.com/my-repo/MyMigrationRepo.git my-repo

Vous devez voir une sortie similaire à ce qui suit, ce qui indique que le référentiel a été cloné en unréférentiel local nu nommé my-repo :

Cloning into bare repository 'my-repo'...remote: Counting objects: 20, done.remote: Compressing objects: 100% (17/17), done.remote: Total 20 (delta 5), reused 15 (delta 3)Unpacking objects: 100% (20/20), done.

Version de l'API 2015-04-13302

Page 312: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉtape 2 : Créez le script à utiliserpour la migration incrémentielle

Checking connectivity... done.

4. Remplacez les répertoires par le référentiel local du référentiel que vous venez de cloner (parexemple, my-repo). À partir de ce répertoire, utilisez le git remote add DefaultRemoteNameRemoteRepositoryURL pour ajouter le CodeCommit en tant que référentiel distant pour le référentiellocal.

Note

Lorsque vous transmettez des référentiels volumineux, il est préférable d'utiliser SSH plutôtque HTTPS. Lorsque vous transmettez une modification de grande taille, un grand nombre demodifications ou un référentiel volumineux, les connexions HTTPS de longue durée prennentsouvent fin prématurément en raison de problèmes réseau ou de paramètres du pare-feu.Pour plus d'informations sur la configuration d'CodeCommit pour SSH, consultez Pour lesconnexions SSH sousLinux, macOS, or Unix (p. 37) ou Pour les connexions SSH sousWindows (p. 42).

Par exemple, pour ajouter le point de terminaison SSH pour un référentiel CodeCommit nomméMyDestinationRepo en tant que référentiel distant pour le référentiel distant nommé codecommit,utilisez la commande suivante :

git remote add codecommit ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDestinationRepo

Tip

Comme il s'agit d'un clone, le nom distant par défaut (origin) est déjà utilisé. Vous devezutiliser un autre nom distant. Même si l'exemple utilise codecommit, vous pouvez vous servirdu nom de votre choix. Utilisez la commande git remote show pour consulter la liste desréférentiels distants définis pour votre référentiel local.

5. Utilisez la commande git remote -v pour afficher les paramètres d'extraction (fetch) et de transmission(push) pour votre référentiel local, et vérifier qu'ils sont correctement définis. Exemple :

codecommit ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDestinationRepo (fetch)codecommit ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDestinationRepo (push)

Tip

Si vous voyez toujours des entrées fetch et push pour un autre référentiel distant (parexemple, des entrées pour origin), supprimez-les à l'aide de la commande git remote set-url --delete.

Étape 2 : Créez le script à utiliser pour la migrationincrémentielleCes étapes supposent que vous utilisez l'exemple de script incremental-repo-migration.py.

1. Ouvrez un éditeur de texte et collez le contenu de l'exemple de script (p. 305) dans un documentvide.

2. Enregistrez le document dans un répertoire de documents (pas dans le répertoire de travail de votreréférentiel local) et nommez-le incremental-repo-migration.py. Assurez-vous que le répertoireque vous choisissez est configuré dans votre environnement local ou dans les variables de chemin,afin que vous puissiez exécuter le script Python à partir d’une ligne de commande ou d’un terminal.

Version de l'API 2015-04-13303

Page 313: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉtape 3 : Exécutez le script et effectuez unemigration incrémentielle vers CodeCommit

Étape 3 : Exécutez le script et effectuez une migrationincrémentielle vers CodeCommitMaintenant que vous avez créé votre script incremental-repo-migration.py, vous pouvez l'utiliserpour migrer de façon incrémentielle un référentiel local vers un référentiel CodeCommit. Par défaut, lescript transmet des validations par lots de 1 000 validations, et tente d'utiliser les paramètres Git pour lerépertoire à partir duquel il est exécuté comme paramètres pour le référentiel local et le référentiel distant.Vous pouvez utiliser les options incluses dans incremental-repo-migration.py pour configurerd'autres paramètres, si nécessaire.

1. Depuis le terminal ou l'invite de commande, placez-vous dans le répertoire vers le référentiel local quevous souhaitez migrer.

2. Depuis ce répertoire, exécutez la commande suivante :

python incremental-repo-migration.py

3. Le script s'exécute et affiche sa progression sur le terminal ou dans l'invite de commande. L'affichagede la progression est lent pour certains référentiels volumineux. Le script s'arrête si une seuletransmission échoue trois fois. Vous pouvez alors relancer le script qui commence à partir du lot ayantéchoué. Vous pouvez relancer le script jusqu'à ce que toutes les transmissions réussissent et que lamigration soit terminée.

Tip

Vous pouvez exécuter incremental-repo-migration.py à partir de n'importe quel répertoiredans la mesure où vous utilisez les options -l et -r pour spécifier les paramètres locaux etdistants à utiliser. Par exemple, pour utiliser le script à partir de n’importe quel répertoire pourmigrer un référentiel local situé à l’adresse /tmp/my-repo à une télécommande surnomméecodecommit:

python incremental-repo-migration.py -l "/tmp/my-repo" -r "codecommit"

Vous pouvez également utiliser l'option -b pour modifier la taille de lot par défaut utilisée lorsd'une transmission incrémentielle. Par exemple, si vous transmettez régulièrement un référentielavec de très gros fichiers binaires qui changent souvent et que vous travaillez dans un endroit oùla bande passante réseau est limitée, vous pouvez utiliser l'option -b pour modifier la taille de lot à500 au lieu de 1 000. Exemple :

python incremental-repo-migration.py -b 500

Cela transmet le référentiel local de façon incrémentielle par lots de 500 validations. Si vousdécidez de modifier à nouveau la taille de lot lors de la migration du référentiel (par exemple, sivous décidez de diminuer la taille de lot après une tentative infructueuse), pensez à utiliser l'option-c pour supprimer les balises de traitement par lots avant de réinitialiser la taille de lot avec -b :

python incremental-repo-migration.py -cpython incremental-repo-migration.py -b 250

Important

N'utilisez pas l'option -c pour relancer le script après un échec. L'option -c supprime les balisesutilisées pour regrouper les validations par lots. Utilisez l'option -c uniquement si vous voulez

Version de l'API 2015-04-13304

Page 314: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAnnexe : Exemple de script

incremental-repo-migration.py

modifier la taille de lot et recommencer, ou si vous décidez que vous n'avez plus besoin d'utiliserle script.

Annexe : Exemple de script incremental-repo-migration.pyPour plus de commodité, nous avons développé un exemple de script Python, incremental-repo-migration.py, pour transmettre un référentiel de façon incrémentielle. Ce script est un exemple de codeopen source fourni en l'état.

# Copyright 2015 Amazon.com, Inc. or its affiliates. All Rights Reserved. Licensed under the Amazon Software License (the "License"). # You may not use this file except in compliance with the License. A copy of the License is located at # http://aws.amazon.com/asl/ # This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, express or implied. See the License for# the specific language governing permissions and limitations under the License.

#!/usr/bin/env python

import osimport sysfrom optparse import OptionParserfrom git import Repo, TagReference, RemoteProgress, GitCommandError

class PushProgressPrinter(RemoteProgress): def update(self, op_code, cur_count, max_count=None, message=''): op_id = op_code & self.OP_MASK stage_id = op_code & self.STAGE_MASK if op_id == self.WRITING and stage_id == self.BEGIN: print("\tObjects: %d" % max_count)

class RepositoryMigration:

MAX_COMMITS_TOLERANCE_PERCENT = 0.05 PUSH_RETRY_LIMIT = 3 MIGRATION_TAG_PREFIX = "codecommit_migration_"

def migrate_repository_in_parts(self, repo_dir, remote_name, commit_batch_size, clean): self.next_tag_number = 0 self.migration_tags = [] self.walked_commits = set() self.local_repo = Repo(repo_dir) self.remote_name = remote_name self.max_commits_per_push = commit_batch_size self.max_commits_tolerance = self.max_commits_per_push * self.MAX_COMMITS_TOLERANCE_PERCENT

try: self.remote_repo = self.local_repo.remote(remote_name) self.get_remote_migration_tags() except (ValueError, GitCommandError): print("Could not contact the remote repository. The most common reasons for this error are that the name of the remote repository is incorrect, or that you do not have permissions to interact with that remote repository.") sys.exit(1)

if clean: self.clean_up(clean_up_remote=True) return

Version de l'API 2015-04-13305

Page 315: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAnnexe : Exemple de script

incremental-repo-migration.py

self.clean_up()

print("Analyzing repository") head_commit = self.local_repo.head.commit sys.setrecursionlimit(max(sys.getrecursionlimit(), head_commit.count()))

# tag commits on default branch leftover_commits = self.migrate_commit(head_commit) self.tag_commits([commit for (commit, commit_count) in leftover_commits])

# tag commits on each branch for branch in self.local_repo.heads: leftover_commits = self.migrate_commit(branch.commit) self.tag_commits([commit for (commit, commit_count) in leftover_commits])

# push the tags self.push_migration_tags()

# push all branch references for branch in self.local_repo.heads: print("Pushing branch %s" % branch.name) self.do_push_with_retries(ref=branch.name)

# push all tags print("Pushing tags") self.do_push_with_retries(push_tags=True)

self.get_remote_migration_tags() self.clean_up(clean_up_remote=True)

print("Migration to CodeCommit was successful")

def migrate_commit(self, commit): if commit in self.walked_commits: return []

pending_ancestor_pushes = [] commit_count = 1

if len(commit.parents) > 1: # This is a merge commit # Ensure that all parents are pushed first for parent_commit in commit.parents: pending_ancestor_pushes.extend(self.migrate_commit(parent_commit)) elif len(commit.parents) == 1: # Split linear history into individual pushes next_ancestor, commits_to_next_ancestor = self.find_next_ancestor_for_push(commit.parents[0]) commit_count += commits_to_next_ancestor pending_ancestor_pushes.extend(self.migrate_commit(next_ancestor))

self.walked_commits.add(commit)

return self.stage_push(commit, commit_count, pending_ancestor_pushes)

def find_next_ancestor_for_push(self, commit): commit_count = 0

# Traverse linear history until we reach our commit limit, a merge commit, or an initial commit while len(commit.parents) == 1 and commit_count < self.max_commits_per_push and commit not in self.walked_commits: commit_count += 1 self.walked_commits.add(commit) commit = commit.parents[0]

Version de l'API 2015-04-13306

Page 316: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAnnexe : Exemple de script

incremental-repo-migration.py

return commit, commit_count

def stage_push(self, commit, commit_count, pending_ancestor_pushes): # Determine whether we can roll up pending ancestor pushes into this push combined_commit_count = commit_count + sum(ancestor_commit_count for (ancestor, ancestor_commit_count) in pending_ancestor_pushes)

if combined_commit_count < self.max_commits_per_push: # don't push anything, roll up all pending ancestor pushes into this pending push return [(commit, combined_commit_count)]

if combined_commit_count <= (self.max_commits_per_push + self.max_commits_tolerance): # roll up everything into this commit and push self.tag_commits([commit]) return []

if commit_count >= self.max_commits_per_push: # need to push each pending ancestor and this commit self.tag_commits([ancestor for (ancestor, ancestor_commit_count) in pending_ancestor_pushes]) self.tag_commits([commit]) return []

# push each pending ancestor, but roll up this commit self.tag_commits([ancestor for (ancestor, ancestor_commit_count) in pending_ancestor_pushes]) return [(commit, commit_count)]

def tag_commits(self, commits): for commit in commits: self.next_tag_number += 1 tag_name = self.MIGRATION_TAG_PREFIX + str(self.next_tag_number)

if tag_name not in self.remote_migration_tags: tag = self.local_repo.create_tag(tag_name, ref=commit) self.migration_tags.append(tag) elif self.remote_migration_tags[tag_name] != str(commit): print("Migration tags on the remote do not match the local tags. Most likely your batch size has changed since the last time you ran this script. Please run this script with the --clean option, and try again.") sys.exit(1)

def push_migration_tags(self): print("Will attempt to push %d tags" % len(self.migration_tags)) self.migration_tags.sort(key=lambda tag: int(tag.name.replace(self.MIGRATION_TAG_PREFIX, ""))) for tag in self.migration_tags: print("Pushing tag %s (out of %d tags), commit %s" % (tag.name, self.next_tag_number, str(tag.commit))) self.do_push_with_retries(ref=tag.name)

def do_push_with_retries(self, ref=None, push_tags=False): for i in range(0, self.PUSH_RETRY_LIMIT): if i == 0: progress_printer = PushProgressPrinter() else: progress_printer = None

try: if push_tags: infos = self.remote_repo.push(tags=True, progress=progress_printer) elif ref is not None: infos = self.remote_repo.push(refspec=ref, progress=progress_printer) else:

Version de l'API 2015-04-13307

Page 317: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAnnexe : Exemple de script

incremental-repo-migration.py

infos = self.remote_repo.push(progress=progress_printer)

success = True if len(infos) == 0: success = False else: for info in infos: if info.flags & info.UP_TO_DATE or info.flags & info.NEW_TAG or info.flags & info.NEW_HEAD: continue success = False print(info.summary)

if success: return except GitCommandError as err: print(err)

if push_tags: print("Pushing all tags failed after %d attempts" % (self.PUSH_RETRY_LIMIT)) elif ref is not None: print("Pushing %s failed after %d attempts" % (ref, self.PUSH_RETRY_LIMIT)) print("For more information about the cause of this error, run the following command from the local repo: 'git push %s %s'" % (self.remote_name, ref)) else: print("Pushing all branches failed after %d attempts" % (self.PUSH_RETRY_LIMIT)) sys.exit(1)

def get_remote_migration_tags(self): remote_tags_output = self.local_repo.git.ls_remote(self.remote_name, tags=True).split('\n') self.remote_migration_tags = dict((tag.split()[1].replace("refs/tags/",""), tag.split()[0]) for tag in remote_tags_output if self.MIGRATION_TAG_PREFIX in tag)

def clean_up(self, clean_up_remote=False): tags = [tag for tag in self.local_repo.tags if tag.name.startswith(self.MIGRATION_TAG_PREFIX)]

# delete the local tags TagReference.delete(self.local_repo, *tags)

# delete the remote tags if clean_up_remote: tags_to_delete = [":" + tag_name for tag_name in self.remote_migration_tags] self.remote_repo.push(refspec=tags_to_delete)

parser = OptionParser()parser.add_option("-l", "--local", action="store", dest="localrepo", default=os.getcwd(), help="The path to the local repo. If this option is not specified, the script will attempt to use current directory by default. If it is not a local git repo, the script will fail.")parser.add_option("-r", "--remote", action="store", dest="remoterepo", default="codecommit", help="The name of the remote repository to be used as the push or migration destination. The remote must already be set in the local repo ('git remote add ...'). If this option is not specified, the script will use 'codecommit' by default.")parser.add_option("-b", "--batch", action="store", dest="batchsize", default="1000", help="Specifies the commit batch size for pushes. If not explicitly set, the default is 1,000 commits.")parser.add_option("-c", "--clean", action="store_true", dest="clean", default=False, help="Remove the temporary tags created by migration from both the local repo and the remote repository. This option will not do any migration work, just cleanup.

Version de l'API 2015-04-13308

Page 318: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAnnexe : Exemple de script

incremental-repo-migration.py

Cleanup is done automatically at the end of a successful migration, but not after a failure so that when you re-run the script, the tags from the prior run can be used to identify commit batches that were not pushed successfully.")

(options, args) = parser.parse_args()

migration = RepositoryMigration()migration.migrate_repository_in_parts(options.localrepo, options.remoterepo, int(options.batchsize), options.clean)

Version de l'API 2015-04-13309

Page 319: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurProtection des données

Sécurité dans AWS CodeCommitChez AWS, la sécurité dans le cloud est notre priorité numéro 1. En tant que client AWS, vousbénéficiez d'un centre de données et d'une architecture réseau conçus pour répondre aux exigences desorganisations les plus pointilleuses en termes de sécurité.

La sécurité est une responsabilité partagée entre AWS et vous-même. Le modèle de responsabilitépartagée décrit ceci comme la sécurité du cloud et la sécurité dans le cloud :

• La sécurité du cloud – AWS est responsable de la protection de l'infrastructure qui exécute des servicesAWS dans le cloud AWS. AWS vous fournit également les services que vous pouvez utiliser en toutesécurité. Des auditeurs tiers testent et vérifient régulièrement l'efficacité de notre sécurité dans lecadre des programmes de conformité AWS. Pour en savoir plus sur les programmes de conformité quis’appliquent à AWS CodeCommit, voir Services AWS concernés par le programme de conformité.

• Sécurité dans le cloud – Votre responsabilité est déterminée par le service AWS que vous utilisez. Vousêtes également responsable d'autres facteurs, y compris la sensibilité de vos données, les exigences devotre entreprise,et la législation et la réglementation applicables.

Cette documentation vous aide à comprendre comment appliquer le modèle de responsabilité partagée lorsde l'utilisation de CodeCommit. Les rubriques suivantes montrent comment configurer CodeCommit pourrépondre à vos objectifs de sécurité et de conformité. Vous pouvez également apprendre à utiliser d'autresservices AWS capables de vous aider à surveiller et à sécuriser vos ressources CodeCommit.

Rubriques• Protection des données dans AWS CodeCommit (p. 310)• Identity and Access Management pour AWS CodeCommit (p. 316)• Résilience dans AWS CodeCommit (p. 372)• Sécurité de l'infrastructure dans AWS CodeCommit (p. 373)

Protection des données dans AWS CodeCommitLe modèle de responsabilité partagée AWS s'applique à la protection des données dans AWSCodeCommit. Comme décrit dans ce modèle, AWS est responsable de la protection de l'infrastructureglobale sur laquelle l'ensemble du cloud AWS s’exécute. La gestion du contrôle de votre contenu hébergésur cette infrastructure est de votre responsabilité. Ce contenu comprend les tâches de configuration et degestion de la sécurité des services AWS que vous utilisez. Pour plus d'informations sur la confidentialitédes données, veuillez consulter FAQ sur la confidentialité des données. Pour plus d'informations sur laprotection des données en Europe, veuillez consulter le billet de blog AWSShared Responsibility Model andGDPR sur la page AWSSecurity Blog.

À des fins de protection des données, nous vous recommandons de protéger les informationsd'identification du compte AWS et de configurer les comptes d'utilisateur individuels avec AWS Identityand Access Management (IAM). Ainsi, chaque utilisateur se voit attribuer uniquement les autorisationsnécessaires pour exécuter ses tâches. Nous vous recommandons également de sécuriser vos donnéescomme indiqué ci-dessous :

• Utilisez l'authentification multi-facteurs (MFA) avec chaque compte.• Utilisez SSL/TLS pour communiquer avec des ressources AWS. Nous recommandons TLS 1.2 ou

version ultérieure.• Configurez l'API et la consignation des activités utilisateur avec AWS CloudTrail.

Version de l'API 2015-04-13310

Page 320: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAWS KMS et chiffrement

• Utilisez des solutions de chiffrement AWS, ainsi que tous les contrôles de sécurité par défaut au sein desservices AWS.

• Utilisez des services de sécurité gérés comme Amazon Macie, qui contribue à la découverte et à lasécurisation des données personnelles stockées dans Amazon S3.

• Si vous avez besoin de modules cryptographiques validés FIPS 140-2 lorsque vous accédez à AWSvia une interface de ligne de commande ou une API, utilisez un point de terminaison FIPS. Pour deplus amples informations sur les points de terminaison FIPS disponibles, consultez Federal InformationProcessing Standard (FIPS) 140-2.

Nous vous recommandons vivement de ne jamais placer d'informations identifiables sensibles, telles quedes numéros de compte de vos clients, dans des champs de formulaire comme Nom. Cela inclut lorsquevous utilisez CodeCommit ou d'autres services AWS à l'aide de la console, de l'API, de l'interface de lignede commande (AWS CLI) ou des kits SDK AWS. Toutes les données que vous entrez dans CodeCommitou d'autres services peuvent être récupérées pour être insérées dans des journaux de diagnostic. Lorsquevous fournissez une URL à un serveur externe, n'incluez pas les informations d'identification non chiffréesdans l'URL pour valider votre demande adressée au serveur.

Les référentiels CodeCommit sont automatiquement chiffrés au repos. Aucune action du client n'estrequise. CodeCommit chiffre également les données du référentiel en transit. Vous pouvez utiliserle protocole HTTPS, le protocole SSH ou les deux avec les référentiels CodeCommit. Pour plusd’informations, consultez Configuration pour AWS CodeCommit (p. 7). Vous pouvez également configurercross-account access (p. 150) pour les référentiels CodeCommit.

Rubriques• AWS Key Management Service et chiffrement pour AWS CodeCommit référentiels (p. 311)• Connexion à AWS CodeCommit référentiels avec informations d’identification rotatives (p. 312)

AWS Key Management Service et chiffrement pourAWS CodeCommit référentielsLes données dans les référentiels CodeCommit sont chiffrées en transit et au repos. Lorsque des donnéessont transmises vers un Référentiel CodeCommit (par exemple, en appelant git push), CodeCommit chiffreles données reçues lorsqu'elles sont stockées dans le référentiel. Lorsque des données sont extraitesd'un Référentiel CodeCommit (par exemple, en appelant git pull), CodeCommit déchiffre les données,puis les envoie à l'appelant. Cela suppose que l'utilisateur IAM associé à la demande de transmissionou d'extraction a été authentifié par AWS. Les données envoyées ou reçues sont transmises à l'aide desprotocoles réseau chiffrés HTTPS ou SSH.

La première fois que vous créez un Référentiel CodeCommit dans une nouvelle région AWS de votrecompte AWS, CodeCommit crée une clé gérée par AWS (la clé aws/codecommit) dans cette mêmerégion AWS dans AWS Key Management Service (AWS KMS). Cette clé est utilisée uniquement parCodeCommit (la clé aws/codecommit). Cette clé est stockée dans votre compte AWS. CodeCommitutilise cette clé gérée par AWS pour chiffrer et déchiffrer les données dans ce et toutes les autresréférentiels CodeCommit au sein de cette région dans votre compte AWS.

Important

CodeCommit effectue les actions AWS KMS suivantes sur la clé par défautaws/codecommit. Unutilisateur IAM n'a pas besoin d'autorisations explicites pour ces actions, mais l'utilisateur ne doitpas avoir de stratégies attachées qui refusent ces actions pour la clé aws/codecommit. Lorsquevous créez votre premier référentiel, votre compte AWS ne doit pas avoir l'une des autorisationssuivantes définies sur deny :

• "kms:Encrypt"

Version de l'API 2015-04-13311

Page 321: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurUtilisation des informations d’identification en rotation

• "kms:Decrypt"

• "kms:ReEncrypt"

• "kms:GenerateDataKey"

• "kms:GenerateDataKeyWithoutPlaintext"

• "kms:DescribeKey"

Pour consulter des informations sur la clé gérée par AWS générée par CodeCommit, procédez commesuit :

1. Connectez-vous à la AWS Management Console et ouvrez la console AWS Key Management Service(AWS KMS) à l'adresse https://console.aws.amazon.com/kms.

2. Pour changer de région AWS, utilisez le sélecteur de région dans l’angle supérieur droit de la page.3. Dans le panneau de navigation du service, choisissez AWS managed keys (Clés gérées AWS).

Assurez-vous que vous êtes connecté à la région AWS dans laquelle vous souhaitez consulter lesclés.

4. Dans la liste des clés de chiffrement, sélectionnez la clé gérée par AWS avec l'alias aws/codecommit.Des informations de base sur la clé gérée par AWS sont affichées.

Vous ne pouvez pas modifier ou supprimer cette clé gérée par AWS. Vous ne pouvez pas utiliser uneclé gérée par les clients dans AWS KMS pour chiffrer ou déchiffrer des données dans des référentielsCodeCommit.

Comment les algorithmes de chiffrement sont utilisés pour chiffrerles données de référentielCodeCommit utilise deux approches différentes pour chiffrer les données. Les objets Git individuels demoins de 6 Mo sont chiffrés à l'aide d'AES-GCM-256, qui fournit la validation de l'intégrité des données.Les objets compris entre 6 Mo et 2 Go maximum pour un seul blob sont chiffrés à l'aide d'AES-CBC-256.CodeCommit valide toujours le contexte de chiffrement.

Contexte de chiffrementChaque service intégré à AWS KMS spécifie un contexte de chiffrement pour les opérations de chiffrementet de déchiffrement. Le contexte de chiffrement représente des informations authentifiées supplémentairesutilisées par AWS KMS pour vérifier l'intégrité des données. Lorsque le contexte de chiffrement est spécifiépour l'opération de chiffrement, il doit aussi être indiqué dans l'opération de déchiffrement. Dans le cascontraire, le déchiffrement échoue. CodeCommit utilise l'ID du Référentiel CodeCommit pour le contextede chiffrement. Vous pouvez utiliser la commande get-repository ou la console CodeCommit pour trouverl'ID du référentiel. Recherchez l'ID du Référentiel CodeCommit dans les journaux AWS CloudTrail lpourcomprendre quelles opérations de chiffrement ont été exécutées sur quelle clé dans AWS KMS pourchiffrer ou déchiffrer des données dans le Référentiel CodeCommit.

Pour plus d'informations sur AWS KMS, consultez le Manuel du développeur AWS Key ManagementService.

Connexion à AWS CodeCommit référentiels avecinformations d’identification rotativesVous pouvez donner aux utilisateurs l’accès à votre AWS CodeCommit référentiels sans configurationIAM pour eux ou à l’aide d’une clé d’accès et d’une clé secrète. Au lieu de créer un utilisateur IAM, vouspouvez utiliser des identités d'utilisateur préexistantes provenant d'AWS Directory Service, de l'annuaired'utilisateurs de votre entreprise ou d'un fournisseur d'identité web. On parle alors d'utilisateurs fédérés.

Version de l'API 2015-04-13312

Page 322: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurUtilisation des informations d’identification en rotation

AWS attribue un rôle à un utilisateur fédéré lorsque l'accès est demandé via un fournisseur d'identité. Pourde plus amples informations sur les utilisateurs fédérés, veuillez consulter Utilisateurs et rôles fédérés dansle IAM Guide de l'utilisateur. Vous pouvez également configurer un accès basé sur les rôles pour IAM pouraccéder CodeCommit référentiels dans des répertoires séparés AWS (technique connue sous le nom deaccès entre comptes). Pour connaître la procédure permettant de configurer l'accès entre comptes à unréférentiel, consultez Configurer l’accès entre comptes à un AWS CodeCommit du référentiel à l’aide derôles (p. 150).

Vous pouvez configurer l'accès pour les utilisateurs qui veulent ou doivent s'authentifier via des méthodestelles que les suivantes :

• Security Assertion Markup Language (SAML)• Multi-factor Authentication (MFA)• Fédération• Login with Amazon• Amazon Cognito• Facebook• Google• OpenID Fournisseur d’identité compatible avec Connect (OIDC)

Note

Les informations suivantes s'appliquent uniquement à l'utilisation de git-remote-codecommitou de l'assistant d'informations d'identification de l'AWS CLI pour se connecter aux référentielsCodeCommit. Étant donné que l'approche recommandée pour l'accès temporaire ou fédéré àCodeCommit consiste à configurer git-remote-codecommit, cette rubrique fournit des exemplesd'utilisation de cet utilitaire. Pour plus d'informations, consultez la section Étapes de configurationpour les connexions HTTPS à AWS CodeCommit avec git-remote-codecommit (p. 15).Vous ne pouvez pas utiliser SSH ni les informations d'identification Git et HTTPS pour vousconnecter aux référentiels CodeCommit avec des informations d'identification d'accès temporairesou rotatives.

N'effectuez pas ces étapes si toutes les conditions suivantes sont vérifiées :

• Vous êtes connecté à une instance Amazon EC2.• Vous utilisez Git et HTTPS avec l'assistant d'informations d'identification de l'AWS CLI pour vous

connecter aux référentiels CodeCommit à partir de l'instance Amazon EC2.• L'instance Amazon EC2 est associée à un profil d'instance IAM qui contient les autorisations

d'accès décrites dans Pour les connexions HTTPS sur Linux, macOS, or Unix avec le AWS CLI aided’informations d’identification (p. 48) ou Pour les connexions HTTPS sur Windows avec le AWS CLI aided’informations d’identification (p. 53).

• Vous avez installé et configuré l'assistant d'informations d'identification Git sur l'instance Amazon EC2,comme décrit dans Pour les connexions HTTPS sur Linux, macOS, or Unix avec le AWS CLI aided’informations d’identification (p. 48) ou Pour les connexions HTTPS sur Windows avec le AWS CLI aided’informations d’identification (p. 53).

Des instances Amazon EC2 qui répondent aux exigences précédentes sont déjà configurées afin decommuniquer des informations d'identification d'accès temporaires à CodeCommit pour votre compte.

Note

Vous pouvez configurer et utiliser git-remote-codecommit sur des instances Amazon EC2.

Pour accorder à des utilisateurs un accès temporaire à vos référentiels CodeCommit, procédez commesuit.

Version de l'API 2015-04-13313

Page 323: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurUtilisation des informations d’identification en rotation

Étape 1 : Compléter les prérequisSuivez les étapes de configuration pour permettre à un utilisateur d'accéder à vos référentiels CodeCommità l'aide de la rotation des informations d'identification :

• Pour l’accès entre comptes, consultez Procédure pas à pas : Délégation de l’accès à travers AWSComptes utilisant IAM Rôles et Configurer l’accès entre comptes à un AWS CodeCommit du référentiel àl’aide de rôles (p. 150).

• Pour SAML et la fédération, consultez Utilisation du système d'authentification de votre organisationpour accorder l'accès aux ressources AWS et À propos de la fédération SAML 2.0 AWS STS.

• Pour MFA, consultez Utilisation de Multi-Factor Authentication (MFA) dans AWS et Créationd'informations d'identification de sécurité temporaires pour activer l'accès pour les utilisateurs IAM.

• Pour Login with Amazon, Amazon Cognito, Facebook, Google ou tout fournisseur d'identité compatibleavec OIDC, consultez À propos de la fédération d'identité web AWS STS.

Utilisez les informations indiquées dans Authentification et contrôle d'accès pour AWSCodeCommit (p. 321) pour spécifier les autorisations CodeCommit que vous voulez octroyertemporairement à l'utilisateur.

Étape 2 : Obtenir le nom du rôle ou les informationsd’identification d’accèsSi vous souhaitez que vos utilisateurs accèdent aux référentiels en assumant un rôle, fournissez-leur l'ARN(Amazon Resource Name) de ce rôle. Sinon, selon la façon dont vous configurez l'accès, l'utilisateur peutobtenir des informations d'identification rotatives de l'une des manières suivantes :

• Pour un accès entre comptes, appelez le AWS CLI assumer-rôle ou appelez le AWS STS AssumeRolede l’API.

• Pour SAML, appelez le AWS CLI assumer-rôle-avec-saml ou la commande AWS STSAssumeRoleWithSAML de l’API.

• Pour la fédération, appelez le AWS CLI assumer-rôle ou jeton-obtenir-la-fédération ou les commandesAWS STS AssumeRole ou GetFederationToken APIs.

• Pour MFA, appelez le AWS CLI obtenir-un-jeton-de-session ou la commande AWS STSGetSessionToken de l’API.

• Pour Se connecter avec Amazon, Amazon Cognito, Facebook, Google ou tout fournisseur d’identitécompatible OIDC, appelez le AWS CLI assumer-rôle-avec-identité-web ou la commande AWS STSAssumeRoleWithWebIdentity de l’API.

Étape 3 : Installez git-remote-codecommit et de configurer leAWS CLIVous devez configurer votre ordinateur local pour utiliser les informations d’identification d’accès parinstallation git-remote-codecommit et configuration d’un profil dans le AWS CLI.

1. Suivez les instructions de Configuration de (p. 7) pour configurer l'AWS CLI. Utilisez la commandeaws configure pour configurer un ou plusieurs profils. Envisagez de créer un profil nommé à utiliserlorsque vous vous connectez à des référentiels CodeCommit à l'aide d'informations d'identificationrotatives.

2. Vous pouvez associer les informations d'identification au profil nommé d'AWS CLI de l'utilisateur del'une des manières suivantes.

Version de l'API 2015-04-13314

Page 324: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurUtilisation des informations d’identification en rotation

• Si vous endossez un rôle pour accéder CodeCommit, configurez un profil nommé avec lesinformations requises pour assumer ce rôle. Par exemple, si vous souhaitez assumer un rôle nomméCodeCommitAccess dans le AWS compte 111111111111, vous pouvez configurer un profil pardéfaut à utiliser lorsque vous travaillez avec d’autres AWS et un profil nommé à utiliser lors del’endossement de ce rôle. Les commandes suivantes créent un profil nommé CodeAccess quiassume un rôle nommé CodeCommitAccessNom de l'utilisateur. Maria Garcia est associé à lasession et le profil par défaut est défini comme source de son AWS informations d’identification :

aws configure set role_arn arn:aws:iam:::111111111111:role/CodeCommitAccess --profile CodeAccessaws configure set source_profile default --profile CodeAccessaws configure set role_session_name "Maria Garcia" --profile CodeAccess

Si vous souhaitez vérifier les modifications, affichez ou modifiez manuellement le fichier ~/.aws/config (pour Linux) ou le fichier %UserProfile%.aws\config (pour Windows) et examinez lesinformations sous le profil nommé. Votre fichier peut ressembler à l'exemple suivant :

[default]region = us-east-1output = json

[profile CodeAccess]source_profile = defaultrole_session_name = Maria Garciarole_arn = arn:aws:iam:::111111111111:role/CodeCommitAccess

Après avoir configuré votre profil nommé, vous pouvez ensuite cloner des référentiels CodeCommitavec l'utilitaire git-remote-codecommit à l'aide du profil nommé. Par exemple, pour cloner unréférentiel nommé MyDemoRepo:

git clone codecommit://CodeAccess@MyDemoRepo

• Si vous utilisez la fédération d’identité web et OpenID Connect (OIDC), configurez un profil nomméqui rend le AWS Security Token Service (AWS STS) AssumeRoleWithWebIdentity de l’APIen votre nom pour actualiser les informations d’identification temporaires. Utilisez la commandeaws configure set ou modifiez manuellement le fichier ~/.aws/credentials (pour Linux) ou lefichier %UserProfile%.aws\credentials (pour Windows) pour ajouter un profil d'AWS CLInommé avec les valeurs de paramètre requises. Par exemple, pour créer un profil qui assume leCodeCommitAccess et utilise un fichier de jeton d’identité web ~/my-credentials/my-token-file:

[CodeCommitWebIdentity]role_arn = arn:aws:iam:::111111111111:role/CodeCommitAccessweb_identity_token_file=~/my-credentials/my-token-filerole_session_name = Maria Garcia

Pour plus d'informations, consultez Configuration de l'AWS Command Line Interface et Utilisation d'unrôle IAM dans l'AWS CLI dans le Guide de l'utilisateur AWS Command Line Interface.

Étape 4 : Accédez au CodeCommit référentielsEn supposant que l'utilisateur a suivi les instructions indiquées dans Connexion à un référentiel (p. 99) pourse connecter aux référentiels CodeCommit, puis qu'il utilise Git pour appeler git-remote-codecommit,git

Version de l'API 2015-04-13315

Page 325: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurIdentity and Access Management

clone, git push et git pull afin d'effectuer des opérations de clonage, de transmission (push) et d'extraction(pull) sur les référentiels CodeCommit auxquels il a accès. Par exemple, pour cloner un référentiel :

git clone codecommit://CodeAccess@MyDemoRepo

Les commandes Git commit, push et pull utilisent la syntaxe Git régulière.

Lorsque l'utilisateur utilise l'AWS CLI et spécifie le profil nommé d'AWS CLI associé aux informationsd'identification d'accès rotatives, les résultats correspondant à ce profil sont renvoyés.

Identity and Access Management pour AWSCodeCommit

AWS Identity and Access Management (IAM) est un service AWS qui permet à un administrateur decontrôler en toute sécurité l'accès aux ressources AWS. Les administrateurs IAM contrôlent qui peut êtreauthentifié (connecté) et autorisé (disposant des autorisations) à utiliser les ressources CodeCommit. IAMest un service AWS que vous pouvez utiliser sans frais supplémentaires.

Rubriques• Audience (p. 316)• Authentification avec des identités (p. 317)• Gestion de l'accès à l'aide de stratégies (p. 319)• Authentification et contrôle d'accès pour AWS CodeCommit (p. 321)• Fonctionnement d'AWS CodeCommit avec IAM (p. 365)• Stratégies CodeCommit basées sur les ressources (p. 366)• Autorisation basée sur les balises CodeCommit (p. 366)• Rôles IAM CodeCommit (p. 368)• Exemples de stratégies basées sur l'identité AWS CodeCommit (p. 369)• Résolution des problèmes d'identité et d'accès AWS CodeCommit (p. 371)

AudienceVotre utilisation d'AWS Identity and Access Management (IAM) évolue selon la tâche que vous réalisezdans CodeCommit.

Utilisateur du service – Si vous utilisez le service CodeCommit pour effectuer votre tâche, votreadministrateur vous fournit les informations d'identification et les autorisations dont vous avez besoin. Plusvous utiliserez de fonctionnalités CodeCommit pour effectuer votre travail, plus vous pourrez avoir besoind'autorisations supplémentaires. Comprendre la gestion des accès peut vous aider à demander à votreadministrateur les autorisations appropriées. Si vous ne pouvez pas accéder à une fonctionnalité dansCodeCommit, consultez Résolution des problèmes d'identité et d'accès AWS CodeCommit (p. 371).

Administrateur du service –Si vous êtes le responsable des ressources CodeCommit de votreentreprise, vous bénéficiez probablement d'un accès total à CodeCommit. C'est à vous de déterminer lesfonctionnalités et les ressources CodeCommit auxquelles vos employés pourront accéder. Vous devezensuite soumettre les demandes à votre administrateur IAM pour modifier les autorisations des utilisateursde votre service. Consultez les informations sur cette page pour comprendre les concepts de base d'IAM.Pour en savoir plus sur la façon dont votre entreprise peut utiliser IAM avec CodeCommit, consultezFonctionnement d'AWS CodeCommit avec IAM (p. 365).

Administrateur IAM – Si vous êtes un administrateur IAM, vous souhaiterez peut-être obtenir des détailssur la façon dont vous pouvez écrire des stratégies pour gérer l'accès à CodeCommit. Pour obtenir des

Version de l'API 2015-04-13316

Page 326: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAuthentification avec des identités

exemples de stratégies CodeCommit basées sur l'identité que vous pouvez utiliser dans IAM, consultezExemples de stratégies basées sur l'identité AWS CodeCommit (p. 369).

Authentification avec des identitésL'authentification correspond au processus par lequel vous vous connectez à AWS via vos informationsd'identification. Pour de plus amples informations sur la connexion avec AWS Management Console,veuillez consulter Connexion à AWS Management Console en tant qu'utilisateur IAM ou utilisateur racinedans le IAM Guide de l'utilisateur.

Vous devez être authentifié (connecté à AWS) en tant que Utilisateur racine d'un compte AWS ouutilisateurIAM, ou en assumant un rôle IAM. Vous pouvez également utiliser l'authentification de connexionunique de votre entreprise ou vous connecter par le biais de Google ou de Facebook. Dans ce cas, votreadministrateur aura précédemment configuré une fédération d’identités avec des rôles IAM. Lorsque vousaccédez à AWS avec des informations d’identification d’une autre entreprise, vous assumez indirectementun rôle.

Pour vous connecter directement à AWS Management Console, utilisez votre mot de passe avec votree-mail utilisateur racine ou votre nom d'utilisateur IAM. Vous pouvez accéder à AWS par programmationavec vos clés d'accès utilisateur utilisateur racine ou IAM. AWS fournit un kit SDK et des outils de ligne decommande pour signer de manière chiffrée votre demande avec vos informations d'identification. Si vousn'utilisez pas les outils AWS, vous devez signer la requête vous-même. Pour ce faire, utilisez SignatureVersion 4, un protocole permettant d'authentifier les demandes d'API entrantes. Pour en savoir plus surl'authentification des demandes, consultez Processus de signature Signature Version 4 dans AWS GeneralReference.

Quelle que soit la méthode d'authentification que vous utilisez, vous devrez peut-être également fournir desinformations de sécurité supplémentaires. Par exemple, AWS vous recommande d'utiliser l'authentificationmulti-facteurs (MFA) pour améliorer la sécurité de votre compte. Pour en savoir plus, consultez Utilisationde Multi-Factor Authentication (MFA) dans AWS dans le IAM Guide de l'utilisateur.

Utilisateur racine d'un compte AWSLorsque vous créez un compte AWS, vous commencez avec une seule identité de connexion disposantd'un accès complet à tous les services et ressources AWS du compte. Cette identité est appelée lautilisateur racinedu compte AWS et elle est accessible après connexion à l'aide de l'adresse e-mail et dumot de passe utilisés pour la création du compte. Il est vivement recommandé de ne pas utiliser l'utilisateurracine pour vos tâches quotidiennes, y compris pour les tâches administratives. Au lieu de cela, respectezla bonne pratique qui consiste à avoir recours à l'utilisateur racine uniquement pour créer le premierutilisateurIAM. Ensuite, mettez en sécurité les informations d'identification de l'utilisateur racine et utilisez-les pour effectuer uniquement certaines tâches de gestion des comptes et des services.

Utilisateurs et groupes IAMUn utilisateur IAM est une identité dans votre compte AWS qui dispose d'autorisations spécifiques pourune seule personne ou application. Un utilisateur IAM peut disposer d'informations d'identification à longterme comme un nom d'utilisateur et un mot de passe ou un ensemble de clés d'accès. Pour savoircomment générer des clés d'accès, consultez Gestion des clés d’accès pour les utilisateurs IAM dans leIAM Guide de l'utilisateur. Lorsque vous générez des clés d'accès pour un utilisateur IAM, veillez à afficheret enregistrer la paire de clés de manière sécurisée. Vous ne pourrez plus récupérer la clé d'accès secrèteà l'avenir. Au lieu de cela, vous devrez générer une nouvelle paire de clés d'accès.

Un groupe IAM est une identité qui spécifie un ensemble d’utilisateurs IAM. Vous ne pouvez pas vousconnecter en tant que groupe. Vous pouvez utiliser les groupes pour spécifier des autorisations pourplusieurs utilisateurs à la fois. Les groupes permettent de gérer plus facilement les autorisations pourde grands ensembles d'utilisateurs. Par exemple, vous pouvez avoir un groupe nommé Admins IAM etaccorder à ce groupe les autorisations leur permettant d'administrer des ressources IAM.

Version de l'API 2015-04-13317

Page 327: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAuthentification avec des identités

Les utilisateurs sont différents des rôles. Un utilisateur est associé de manière unique à une personneou une application, alors qu’un rôle est conçu pour être endossé par tout utilisateur qui en a besoin.Les utilisateurs disposent d'informations d'identification permanentes, mais les rôles fournissent desinformations d'identification temporaires. Pour en savoir plus, consultez Quand créer un utilisateur IAM (aulieu d'un rôle) dans le IAM Guide de l'utilisateur.

Rôles IAMUn rôle IAM est une entité au sein de votre compte AWS qui dispose d'autorisations spécifiques. Leconcept ressemble à celui d’utilisateur IAM, mais un rôle n'est pas associé à une personne en particulier.Vous pouvez temporairement endosser un rôle IAM dans l’AWS Management Console grâce auchangement de rôle. Vous pouvez obtenir un rôle en appelant une opération d’API AWS CLI ou AWS àl'aide d'une URL personnalisée. Pour plus d'informations sur les méthodes d'utilisation des rôles, consultezUtilisation de rôles IAM dans le IAM Guide de l'utilisateur.

Les rôles IAM avec des informations d'identification temporaires sont utiles dans les cas suivants :

• Autorisations utilisateur IAM temporaires – Un utilisateur IAM peut endosser un rôle IAM pour accepterdifférentes autorisations temporaires concernant une tâche spécifique.

• Accès d'utilisateurs fédérés – Au lieu de créer un utilisateur IAM, vous pouvez utiliser des identitésd'utilisateur préexistantes provenant d'AWS Directory Service, de l'annuaire d'utilisateurs de votreentreprise ou d'un fournisseur d'identité web. On parle alors d'utilisateurs fédérés. AWS attribue un rôleà un utilisateur fédéré lorsque l'accès est demandé via un fournisseur d'identité. Pour de plus amplesinformations sur les utilisateurs fédérés, veuillez consulter Utilisateurs et rôles fédérés dans le IAM Guidede l'utilisateur.

• Accès entre comptes – Vous pouvez utiliser un rôle IAM pour permettre à un utilisateur (mandatairede confiance) d'un compte différent d'accéder aux ressources de votre compte. Les rôles constituentle principal moyen d'accorder l'accès entre plusieurs comptes. Toutefois, certains services AWS vouspermettent d'attacher une stratégie directement à une ressource (au lieu d'utiliser un rôle en tant queproxy). Pour en savoir plus sur la différence entre les rôles et les stratégies basées sur les ressourcespour l'accès entre comptes, consultez Différence entre les rôles IAM et les stratégies basées sur lesressources dans le IAM Guide de l'utilisateur.

• Accès inter-service – Some AWS services use features in other AWS services. For example, when youmake a call in a service, it's common for that service to run applications in Amazon EC2 or store objectsin Amazon S3. A service might do this using the calling principal's permissions, using a service role, orusing a service-linked role.• Autorisations principales – When you use an IAM user or role to perform actions in AWS, you are

considered a principal. Policies grant permissions to a principal. When you use some services, youmight perform an action that then triggers another action in a different service. In this case, you musthave permissions to perform both actions. To see whether an action requires additional dependentactions in a policy, see Actions, Resources, and Condition Keys for AWS CodeCommit in the ServiceAuthorization Reference.

• Rôle de service –Un rôle de service est un rôle IAM qu'un service assume pour exécuter des actionsen votre nom. Les rôles de service fournissent un accès uniquement au sein de votre compteet ne peuvent pas être utilisés pour accorder l'accès à des services dans d'autres comptes. Unadministrateur IAM peut créer, modifier et supprimer un rôle de service à partir d'IAM. Pour de plusamples informations, veuillez consulter Création d'un rôle pour la délégation d'autorisations à unservice AWS dans le IAM Guide de l'utilisateur.

• Rôle lié à un service – A service-linked role is a type of service role that is linked to an AWS service.The service can assume the role to perform an action on your behalf. Service-linked roles appearin your IAM account and are owned by the service. An IAM administrator can view, but not edit thepermissions for service-linked roles.

• Applications qui s'exécutent sur Amazon EC2 –Vous pouvez utiliser un rôle IAM pour gérer desinformations d'identification temporaires pour les applications qui s'exécutent sur une instance EC2 eteffectuent des demandes d'API AWS CLI ou AWS. Cette solution est préférable au stockage des clés

Version de l'API 2015-04-13318

Page 328: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurGestion de l'accès à l'aide de stratégies

d'accès au sein de l'instance EC2. Pour attribuer un rôle AWS à une instance EC2 et le rendre disponibleà toutes les applications associées, vous pouvez créer un profil d'instance attaché à l'instance. Un profild'instance contient le rôle et permet aux programmes qui s'exécutent sur l'instance EC2 d'obtenir desinformations d'identification temporaires. Pour de plus amples informations, veuillez consulter Utilisationd'un rôle IAM pour accorder des autorisations à des applications s'exécutant sur des instances AmazonEC2 dans le IAM Guide de l'utilisateur.

Pour savoir si vous devez utiliser les rôles IAM ou les utilisateurs IAM, veuillez consulter Quand créer unrôle IAM (au lieu d'un utilisateur) dans le IAM Guide de l'utilisateur.

Gestion de l'accès à l'aide de stratégiesVous contrôler les accès dans AWS en créant des stratégies et en les attachant à des identités IAM ouà des ressources AWS. Une stratégie est un objet dans AWS qui, lorsqu'il est associé à une identité ouà une ressource, définit ses autorisations. Vous pouvez vous connecter en tant que utilisateur racine,en tant qu'utilisateur IAM ou vous pouvez assumer un rôle IAM. Lorsque vous effectuez ensuite unedemande, AWS évalue les stratégies relatives basées sur l'identité ou les ressources. Les autorisationsdans les stratégies déterminent si la demande est autorisée ou refusée. La plupart des stratégies sontstockées dans AWS en tant que documents JSON. Pour plus d'informations sur la structure et le contenudu document de stratégie JSON, consultez Présentation des stratégies JSON dans le IAM Guide del'utilisateur.

Administrators can use AWS JSON policies to specify who has access to what. That is, which principal canperform actions on what resources, and under what conditions.

Chaque entité IAM (utilisateur ou rôle) démarre sans autorisation. En d'autres termes, par défaut, lesutilisateurs ne peuvent rien faire, pas même changer leurs propres mots de passe. Pour autoriser unutilisateur à effectuer une opération, un administrateur doit associer une stratégie d'autorisations à cedernier. Il peut également ajouter l'utilisateur à un groupe disposant des autorisations prévues. Lorsqu'unadministrateur accorde des autorisations à un groupe, tous les utilisateurs de ce groupe se voient octroyerces autorisations.

Les stratégies IAM définissent les autorisations d'une action quelle que soit la méthode que vous utilisezpour exécuter l'opération. Par exemple, supposons que vous disposiez d'une stratégie qui autorise l'actioniam:GetRole. Un utilisateur avec cette stratégie peut obtenir des informations utilisateur à partir de l'AWSManagement Console, de l'AWS CLI ou de l'API AWS.

Stratégies basées sur l'identitéIdentity-based policies are JSON permissions policy documents that you can attach to an identity, such asan IAM user, group of users, or role. These policies control what actions users and roles can perform, onwhich resources, and under what conditions. To learn how to create an identity-based policy, see CreatingIAM policies in the IAM Guide de l'utilisateur.

Les stratégies basées sur l'identité peuvent être classées comme étant des stratégies en ligne ou desstratégies gérées. Les stratégies en ligne sont intégrées directement à un utilisateur, groupe ou rôle. Lesstratégies gérées sont des stratégies autonomes que vous pouvez lier à plusieurs utilisateurs, groupes etrôles de votre compte AWS. Les stratégies gérées incluent les stratégies gérées par AWS et les stratégiesgérées par le client. Pour découvrir comment choisir entre une politique gérée ou une politique en ligne,consultez Choix entre les stratégies gérées et les stratégies en ligne dans le IAM Guide de l'utilisateur.

Stratégies basées sur les ressourcesResource-based policies are JSON policy documents that you attach to a resource. Examples of resource-based policies are IAM role trust policies and Amazon S3 bucket policies. In services that support resource-based policies, service administrators can use them to control access to a specific resource. For the

Version de l'API 2015-04-13319

Page 329: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurGestion de l'accès à l'aide de stratégies

resource where the policy is attached, the policy defines what actions a specified principal can perform onthat resource and under what conditions. You must specify a principal in a resource-based policy. Principalscan include accounts, users, roles, federated users, or AWS services.

Les stratégies basées sur les ressources sont des stratégies en ligne situées dans ce service. Vous nepouvez pas utiliser les stratégies gérées AWS depuis IAM dans une stratégie basée sur les ressources.

Listes de contrôle d'accès (ACL)Access control lists (ACLs) control which principals (account members, users, or roles) have permissions toaccess a resource. ACLs are similar to resource-based policies, although they do not use the JSON policydocument format.

Amazon S3, AWS WAF et Amazon VPC sont des exemples de services qui prennent en charge leslistes de contrôle d'accès (ACL). Pour en savoir plus sur les listes de contrôle d'accès, veuillez consulterPrésentation des listes de contrôle d'accès (ACL) dans le Guide du développeur Amazon Simple StorageService.

Autres types de stratégieAWS prend en charge d'autres types de stratégies moins courantes. Ces types de stratégies peuventdéfinir le nombre maximal d'autorisations qui vous sont accordées par des types de stratégies pluscourants.

• Limite d'autorisations – Une limite d'autorisations est une fonctionnalité avancée dans laquelle vousdéfinissez les autorisations maximales qu'une stratégie basée sur l'identité peut accorder à uneentité IAM (utilisateur ou rôle IAM). Vous pouvez définir une limite d'autorisations pour une entité. Lesautorisations obtenues représentent la combinaison des stratégies basées sur l'identité de l'entité et deses limites d'autorisations. Les stratégies basées sur les ressources qui spécifient l'utilisateur ou le rôledans le champ Principal ne sont pas limitées par les limites d'autorisations. Un refus explicite dansl'une de ces stratégies remplace l'autorisation. Pour plus d'informations sur les limites d'autorisations,consultez Limites d'autorisations pour des entités IAM dans le IAM Guide de l'utilisateur.

• Stratégies de contrôle de service (SCP) – Les SCP sont des stratégies JSON qui spécifient lenombre maximal d'autorisations pour une organisation ou une unité d'organisation (OU) dans AWSOrganizations. AWS Organizations est un service qui vous permet de regrouper et de gérer de façoncentralisée plusieurs comptes AWS détenus par votre entreprise. Si vous activez toutes les fonctionsd'une organisation, vous pouvez appliquer les stratégies de contrôle de service (SCP) à l'un ou àl'ensemble de vos comptes. La politique de contrôle des services limite les autorisations pour les entitésdans les comptes membres, y compris dans chaque Utilisateur racine d'un compte AWS. Pour plusd'informations sur les Organisations et les SCP, consultez Fonctionnement des stratégies de contrôle deservice dans le Manuel de l'utilisateur AWS Organizations.

• Stratégies de session – Les stratégies de session sont des stratégies avancées que vous transmettezen tant que paramètre lorsque vous créez par programmation une session temporaire pour un rôleou un utilisateur fédéré. Les autorisations de la session obtenue sont une combinaison des stratégiesbasées sur l'identité de l'utilisateur ou du rôle et des stratégies de session. Les autorisations peuventégalement provenir d'une stratégie basée sur les ressources. Un refus explicite dans l'une de cesstratégies remplace l'autorisation. Pour plus d'informations, consultez Stratégies de session dans le IAMGuide de l'utilisateur.

Plusieurs types de stratégieLorsque plusieurs types de stratégies s'appliquent à la requête, les autorisations obtenues sont pluscompliquées à comprendre. Pour découvrir la façon dont AWS détermine s'il convient d'autoriser unerequête en présence de plusieurs types de stratégies, consultez Logique d'évaluation de stratégies dans leIAM Guide de l'utilisateur.

Version de l'API 2015-04-13320

Page 330: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAuthentification et contrôle d'accès

Authentification et contrôle d'accès pour AWSCodeCommitL'accès à AWS CodeCommit requiert des informations d'identifications. Ces informations d'identificationdoivent être associées à des autorisations permettant d'accéder aux ressources AWS, comme lesréférentiels CodeCommit et le compte utilisateur IAM que vous utilisez pour gérer vos informationsd'identification Git ou la clé publique SSH que vous utilisez pour établir les connexions Git. Les sectionssuivantes décrivent comment utiliser AWS Identity and Access Management (IAM) et CodeCommit poursécuriser l'accès à vos ressources :

• Authentication (p. 321)• Contrôle d'accès (p. 322)

AuthenticationÉtant donné que les référentiels CodeCommit sont basés sur Git et prennent en charge la fonctionnalitéstandard de Git, y compris les informations d'identification Git, nous vous recommandons d'opter pour unutilisateur IAM pour travailler avec CodeCommit. Vous pouvez accéder à CodeCommit avec d'autres typesd'identité, mais les autres types d'identités sont soumis à des limitations, comme décrit ci-dessous.

Type d'identité :

• Utilisateur IAM – Un utilisateur IAM est une identité au sein de votre compte AWS qui disposed'autorisations personnalisées spécifiques. Par exemple, un utilisateur IAM peut avoir l'autorisation decréer et de gérer les informations d'identification Git permettant d'accéder aux référentiels CodeCommit.Il s’agit du type d’utilisateur recommandé pour travailler avec CodeCommit. Vous pouvez utiliser un nomd'utilisateur et un mot de passe IAM pour vous connecter aux pages web AWS sécurisées telles queAWS Management Console, les forums de discussion AWS ou l'AWS Support Center.

Vous pouvez générer des informations d’identification Git ou associer des clés publiques SSH à votreIAM ou vous pouvez installer et configurer git-remote-codecommit. Voici les façons les plus simplesde configurer Git pour qu’il fonctionne avec votre CodeCommit référentiels. Avec les informationsd'identification Git (p. 10), vous générez un nom d'utilisateur et un mot de passe statiques dans IAM.Ensuite, vous utilisez ces informations pour les connexions HTTPS avec Git et n'importe quel outil tiersprenant en charge l'authentification par nom d'utilisateur et mot de passe Git. Avec les connexionsSSH, vous créez des fichiers de clé publique et privée sur votre ordinateur local, utilisés par Git etCodeCommit pour l'authentification SSH. Vous associez la clé publique à votre utilisateur IAM et stockezla clé privée sur votre ordinateur local. git-remote-codecommit (p. 15) étend Git lui-même et ne nécessitepas de configurer les informations d’identification Git pour l’utilisateur.

En outre, vous pouvez générer des clés d'accès pour chaque utilisateur. Utilisez les clés d’accès lorsquevous accédez à AWS par programmation, soit via l’un des AWS SDKs ou en utilisant le AWS CommandLine Interface (AWS CLI). Les kits SDK et les outils de l'interface de ligne de commande utilisent les clésd'accès pour chiffrer la signature des demandes. Si vous n’utilisez pas le AWS , vous devez signer lesdemandes vous-même. CodeCommit supports Version de signature 4, un protocole d’authentificationdes demandes d’API entrantes. Pour plus d'informations sur l'authentification des demandes, consultezProcessus de signature Signature Version 4 dans le AWS General Reference.

• Utilisateur racine du compte AWS – Lorsque vous vous inscrivez à AWS, vous fournissez une adressede messagerie et un mot de passe qui sont associés à votre compte AWS. Il s'agit de vos informationsd'identification racine et elles fournissent un accès complet à l'ensemble de vos ressources AWS.Certaines fonctionnalités CodeCommit ne sont pas disponibles pour les utilisateurs du compte racine.En outre, la seule façon d'utiliser Git avec votre compte racine est d'installer et de configurer git-remote-codecommit (recommandé) ou de configurer l'assistant d'informations d'identification AWS, qui est inclusavec l'AWS CLI. Vous ne pouvez pas utiliser les informations d'identification Git ni les paires de clés

Version de l'API 2015-04-13321

Page 331: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAuthentification et contrôle d'accès

publiques/privées SSH avec votre compte utilisateur racine. C'est pourquoi nous vous déconseillonsd'utiliser votre compte utilisateur racine lors de l'interaction avec CodeCommit.

Important

Pour des raisons de sécurité, nous vous conseillons d'utiliser les informations d'identificationracine uniquement pour créer un utilisateur administrateur, qui est un utilisateur IAM disposantdes autorisations complètes sur votre compte AWS. Vous pouvez ensuite utiliser cet utilisateuradministrateur pour créer d'autres rôles et utilisateurs IAM dotés d'autorisations limitées. Pourplus d'informations, consultez Bonnes pratiques IAM et Création d'un utilisateur et groupeadministrateur dans le IAM Guide de l'utilisateur.

• Rôle IAM – Comme un utilisateur IAM, un rôle IAM est une identité IAM que vous pouvez créer dansvotre compte pour accorder des autorisations spécifiques. Le concept ressemble à celui d'un utilisateurIAM, mais ce rôle n'est pas associé à une personne en particulier. Contrairement à une identitéd'utilisateur IAM, vous ne pouvez pas utiliser les informations d'identification Git ni les clés SSH avecce type d'identité. Toutefois, un rôle IAM vous permet d'obtenir des clés d'accès temporaires que vouspouvez utiliser pour accéder aux ressources et services AWS. Les rôles IAM avec des informationsd'identification temporaires sont utiles dans les cas suivants :• Accès par des utilisateurs fédérés – Au lieu de créer un utilisateur IAM, vous pouvez utiliser

des identités d'utilisateur préexistantes provenant de AWS Directory Service, de votre annuaired'utilisateurs d'entreprise ou d'un fournisseur d'identité web. On parle alors d'utilisateurs fédérés. AWSattribue un rôle à un utilisateur fédéré lorsque l'accès est demandé via un fournisseur d'identité. Pourplus d'informations sur les utilisateurs fédérés, consultez Utilisateurs et rôles fédérés dans le IAMGuide de l'utilisateur.

Note

Vous ne pouvez pas utiliser les informations d'identification Git ni les paires de clés publiques/privées SSH avec les utilisateur fédérés. En outre, les préférences utilisateur ne sont pasdisponibles pour les utilisateurs fédérés. Pour plus d'informations sur la configuration desconnexions à l'aide de l'accès fédéré, consultez Étapes de configuration pour les connexionsHTTPS à AWS CodeCommit avec git-remote-codecommit (p. 15).

• Accès entre comptes – Vous pouvez utiliser un rôle IAM de votre compte pour autoriser un autrecompte AWS à accéder aux ressources de votre compte. Pour un exemple, voir Configurer l’accèsentre comptes à un AWS CodeCommit du référentiel à l’aide de rôles (p. 150) et Tutoriel : Déléguerl’accès à travers AWS Comptes utilisant IAM Rôles dans le IAM Guide de l'utilisateur.

• Accès au service AWS – Vous pouvez utiliser un rôle IAM dans votre compte afin d'accorder àun service AWS les autorisations nécessaires pour accéder aux ressources de votre compte.Par exemple, vous pouvez créer un rôle qui permet à AWS Lambda d'accéder à un référentielCodeCommit en votre nom. Pour plus d'informations, consultez Création d'un rôle pour déléguer desautorisations à un AWSservice dans le IAM Guide de l'utilisateur.

• Applications qui s'exécutent sur Amazon EC2 – Au lieu de stocker des clés d'accès dans l'instanceEC2 afin qu'elles soient utilisées par les applications s'exécutant sur l'instance et émettant desdemandes d'API AWS, vous pouvez utiliser un rôle IAM afin de gérer des informations d'identificationtemporaires pour ces applications. Pour attribuer un rôle AWS à une instance EC2 et le rendredisponible pour toutes les applications associées, vous pouvez créer un profil d'instance attachéà l'instance. Un profil d'instance contient le rôle et permet aux programmes qui s'exécutent surl'instance EC2 d'obtenir des informations d'identification temporaires. Pour plus d'informations,consultez Utilisation de rôles pour des applications s'exécutant sur Amazon EC2 dans le IAM Guide del'utilisateur.

Contrôle d'accèsVous pouvez avoir des informations d'identification valides pour authentifier vos demandes, mais à moinsd'avoir les autorisations requises, vous ne pouvez pas créer de ressources CodeCommit ni y accéder. Par

Version de l'API 2015-04-13322

Page 332: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAuthentification et contrôle d'accès

exemple, vous devez disposer des autorisations requises pour afficher les référentiels, transmettre le code,créer et gérer les informations d'identification Git, etc.

Les sections suivantes décrivent comment gérer les autorisations pour CodeCommit. Nous vousrecommandons de commencer par lire la présentation.

• Présentation de la gestion des autorisations d'accès à vos ressources CodeCommit (p. 323)• Utilisation de stratégies basées sur l’identité (IAM ) pour CodeCommit (p. 327)• Référence des autorisations CodeCommit (p. 349)

Présentation de la gestion des autorisations d'accès à vosressources CodeCommitChaque ressource AWS appartient à un compte AWS. Les autorisations pour créer ou accéder à unressource sont gérées par des stratégies d'autorisations. Un compte administrateur peut attacher desstratégies d'autorisations à des identités IAM (c'est-à-dire des utilisateurs, des groupes et des rôles).Certains services, comme AWS Lambda, prennent également en charge l'attachement de stratégiesd'autorisation aux ressources.

Note

Un administrateur de compte (ou utilisateur administrateur) est un utilisateur doté des privilègesd'administrateur. Pour plus d'informations, consultez Bonnes pratiques IAM dans le IAM Guide del'utilisateur.

Lorsque vous accordez des autorisations, vous décidez qui les reçoit, à quelles ressources cesautorisations s'appliquent et les actions spécifiques que vous souhaitez autoriser sur ces ressources.

Rubriques• Ressources et opérations CodeCommit (p. 323)• Présentation de la propriété des ressources (p. 324)• Gestion de l'accès aux ressources (p. 325)• Champ d’application des ressources dans CodeCommit (p. 326)• Spécification des éléments de stratégie : ressources, actions, effets et mandataires (p. 326)• Spécification de conditions dans une stratégie (p. 327)

Ressources et opérations CodeCommit

DansIn CodeCommit, la ressource principale est repository. Chaque ressource possède un AmazonResource Name (ARN) associé unique. Dans votre stratégie, vous utilisez un Amazon Resource Name(ARN) pour identifier la ressource à laquelle la stratégie s'applique. Pour plus d’informations sur ARNs, voirNoms de ressources Amazon (ARN) et AWS Espaces de noms de service dans le Référence généraled'Amazon Web Services. CodeCommit ne prend pas actuellement en charge d’autres types de ressources,qui sont appelés sous-ressources.

Le tableau suivant décrit comment spécifier les ressources CodeCommit.

Type de ressource Format ARN

Référentiel. arn :aws :codecommit :region:account-id:repository-name

Tous les référentielsCodeCommit

arn:aws:codecommit:*

Version de l'API 2015-04-13323

Page 333: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAuthentification et contrôle d'accès

Type de ressource Format ARN

Tous CodeCommit lesréférentiels détenus parle compte spécifié dans larégion AWS spécifiée

arn :aws :codecommit :region:account-id:*

Note

La plupart AWS les services traitent un signe deux-points ( :) ou une barre oblique (/) dans ARNscomme le même caractère. Cependant, CodeCommit nécessite une correspondance exacte dansles règles et les modèles de ressources. Lors de la création de modèles d'événements, veillez àutiliser les caractères ARN corrects afin qu'ils correspondent à la syntaxe ARN de la ressource.

Par exemple, vous pouvez indiquer un référentiel spécifique (MyDemoRepo) dans votre instruction à l’aidede son ARN comme suit :

"Resource": "arn:aws:codecommit:us-west-2:111111111111:MyDemoRepo"

Pour spécifier tous les repositories qui appartiennent à un compte spécifique, utilisez le caractèregénérique (*) comme suit :

"Resource": "arn:aws:codecommit:us-west-2:111111111111:*"

Pour spécifier toutes les ressources, ou si une action d’API spécifique ne prend pas en charge ARNs,utilisez le caractère générique (*) dans le champ Resource comme suit :

"Resource": "*"

Vous pouvez également utiliser le caractère générique (*) pour spécifier toutes les ressources quicorrespondent à une partie du nom du référentiel. Par exemple, l'ARN suivant spécifie tout référentielCodeCommit qui commence par le nom MyDemo et qui est enregistré sur le compte AWS 111111111111dans la région us-east-2 :

arn:aws:codecommit:us-east-2:111111111111:MyDemo*

Pour obtenir une liste des opérations disponibles qui fonctionnent avec les ressources CodeCommit,consultez Référence des autorisations CodeCommit (p. 349).

Présentation de la propriété des ressources

Le compte AWS est propriétaire des ressources créées dans le compte, quel que soit le créateur. Plusspécifiquement, le propriétaire des ressources est le compte AWS de l'entité principale (à savoir, le compteracine, un utilisateur IAM ou un rôle IAM) qui authentifie la demande de création des ressources. Lesexemples suivants illustrent comment cela fonctionne :

• Si vous créez un utilisateur IAM dans votre compte AWS et autorisez cet utilisateur à créer uneressource CodeCommit il peut créer une ressource CodeCommit. Toutefois, votre compte AWS, auquelcet utilisateur appartient, reste le propriétaire des ressources CodeCommit.

• Si vous utilisez les informations d'identification du compte racine de votre compte AWS pour créer unerègle, votre compte AWS est considéré comme propriétaire de la ressource CodeCommit.

• Si vous créez un rôle IAM dans votre compte AWS et que vous l'autorisez à créer des ressourcesCodeCommit, toute personne capable d'assumer le rôle peut créer des ressources CodeCommit.

Version de l'API 2015-04-13324

Page 334: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAuthentification et contrôle d'accès

Toutefois, votre compte AWS, auquel ce rôle appartient, reste le propriétaire des ressourcesCodeCommit.

Gestion de l'accès aux ressourcesPour gérer l'accès aux ressources AWS, vous pouvez utiliser des stratégies d'autorisation. Une stratégied'autorisation décrit qui a accès à quoi. La section suivante explique les options disponibles pour créer desstratégies d'autorisation.

Note

Cette section décrit l'utilisation de l'IAM dans le contexte d'CodeCommit. Elle ne fournissent pasd'informations détaillées sur le service IAM. Pour plus d'informations sur IAM, consultez Qu'est-ce qu'IAM ? dans le IAM Guide de l'utilisateur. Pour de plus amples informations sur la syntaxedes stratégies IAM et des descriptions, veuillez consulter Référence de stratégie AWS IAM dans leIAM Guide de l'utilisateur.

Les stratégies d'autorisation qui sont attachées à une identité IAM sont des stratégies basées sur l'identité(stratégies IAM). Les stratégies d'autorisation qui sont associées à une ressource sont des stratégiesbasées sur la ressource. Actuellement,Currently, CodeCommit prend en charge uniquement les stratégiesbasées sur une identité (stratégies IAM).

Rubriques• Stratégies basées sur l’identité (IAM les politiques) (p. 325)• Stratégies basées sur les ressources (p. 326)

Stratégies basées sur l’identité (IAM les politiques)

Pour gérer l'accès aux ressources AWS, vous associez des stratégies d'autorisation aux identités IAM.Dans CodeCommit, vous utilisez des stratégies basées sur l'identité pour contrôler l'accès aux référentiels.Par exemple, vous pouvez effectuer les opérations suivantes :

• Attacher une stratégie d'autorisation à un utilisateur ou à un groupe de votre compte – Pour accorder àun utilisateur l'autorisation d'afficher les ressources CodeCommit dans la console CodeCommit, vouspouvez attacher une stratégie d'autorisation basée sur l'identité à un utilisateur ou à un groupe auquell'utilisateur appartient.

• Attacher une stratégie d'autorisation à un rôle (pour accorder des autorisations entre comptes) – Ladélégation, notamment lorsque vous voulez autoriser l'accès entre comptes, implique la configurationd'une relation d'approbation entre le compte qui possède la ressource (compte approbateur) et lecompte associé aux utilisateurs qui doivent accéder à la ressource (compte approuvé). Une stratégied'autorisation accorde à l'utilisateur d'un rôle les autorisations nécessaires pour exécuter les tâchesprévues sur la ressource. Une stratégie d'approbation détermine les comptes approuvés autorisés àaccorder à leurs utilisateurs les autorisations nécessaires pour assumer le rôle. Pour plus d'informations,consultez Termes et concepts IAM.

Pour accorder des autorisations entre comptes, vous pouvez attacher une stratégie d'autorisationbasée sur une identité à un rôle IAM. Par exemple, l'administrateur du Compte A peut créer un rôle afind'accorder des autorisations inter-comptes à un autre compte AWS (par exemple, le Compte B) ou à unservice AWS comme suit :1. L'administrateur du Compte A crée un rôle IAM et attache une stratégie d'autorisation à ce rôle qui

accorde des autorisations sur les ressources dans le Compte A.2. L'administrateur du Compte A attache une stratégie d'approbation au rôle identifiant le Compte B

comme mandataire pouvant assumer ce rôle.3. L'administrateur du compte B peut alors déléguer les autorisations pour affecter ce rôle à tous les

utilisateurs figurant dans le compte B. Les utilisateurs du compte B sont ainsi autorisés à créerdes ressources ou à y accéder dans le compte A. Si vous souhaitez accorder à un service AWS

Version de l'API 2015-04-13325

Page 335: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAuthentification et contrôle d'accès

l'autorisation d'assumer ce rôle, le principal dans la stratégie d'approbation peut également être unprincipal du service AWS. Pour plus d'informations, consultez Délégation dans Termes et conceptsIAM.

Pour de plus amples informations sur l'utilisation d'IAM pour déléguer des autorisations, veuillezconsulter Gestion d'accès dans le IAM Guide de l'utilisateur.

L’exemple de stratégie suivant permet à un utilisateur de créer une branche dans un référentiel nomméMyDemoRepo:

{ "Version": "2012-10-17", "Statement" : [ { "Effect" : "Allow", "Action" : [ "codecommit:CreateBranch" ], "Resource" : "arn:aws:codecommit:us-east-2:111111111111:MyDemoRepo" } ]}

Pour restreindre les appels et les ressources auxquels les utilisateurs de votre compte ont accès, créezdes stratégies IAM spécifiques, puis attachez-les à des utilisateurs IAM. Pour plus d'informations sur lacréation des rôles IAM et pour consulter des exemples de déclarations de stratégie IAM pour CodeCommit,consultez Exemples de stratégie d’identité gérée par le client (p. 342).

Stratégies basées sur les ressources

Certains services, tels que Amazon S3, prennent également en charge les stratégies d'autorisation baséessur des ressources. Par exemple, vous pouvez attacher une stratégie basée sur les ressources à uncompartiment S3 pour gérer les autorisations d'accès à ce compartiment. CodeCommit ne prend pas encharge les stratégies basées sur les ressources, mais vous pouvez utiliser des balises pour identifier lesressources, que vous pouvez ensuite utiliser dans des stratégies IAM. Pour obtenir un exemple d'unestratégie basée sur les balises, consultez Stratégies basées sur l’identité (IAM les politiques) (p. 325).

Champ d’application des ressources dans CodeCommitDans CodeCommit, vous pouvez définir des autorisations et des stratégies basées sur l'identité pour lesressources, comme décrit dansRessources et opérations CodeCommit (p. 323). Cependant, vous nepouvez pas spécifier l'autorisation ListRepositories pour une ressource. Au lieu de cela, vous devez ladéfinir pour toutes les ressources (en utilisant le caractère générique *). Sinon, l'action échoue.

Toutes les autres autorisations CodeCommit peuvent être adaptées aux ressources.

Spécification des éléments de stratégie : ressources, actions, effets etmandatairesVous pouvez créer des stratégies pour autoriser ou refuser aux utilisateurs l’accès aux ressources , ouautoriser ou refuser aux utilisateurs d’effectuer des actions spécifiques sur ces ressources. CodeCommitdéfinit un ensemble d’opérations d’API publiques qui définissent la façon dont les utilisateurs utilisentle service, que ce soit via le CodeCommit console, le SDKs, le AWS CLI, ou en appelant directementces APIs. Pour accorder des autorisations pour ces opérations d’API, CodeCommit définit un ensembled’actions que vous pouvez spécifier dans une stratégie.

Certaines opérations d'API nécessitent des autorisations pour plusieurs actions. Pour plus d'informationssur les ressources et les opérations de l'API, consultez Ressources et opérations CodeCommit (p. 323) etRéférence des autorisations CodeCommit (p. 349).

Version de l'API 2015-04-13326

Page 336: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAuthentification et contrôle d'accès

Voici les éléments de base d'une stratégie :

• Ressource – Vous utilisez un nom Amazon Resource Name (ARN) pour identifier la ressource àlaquelle s'applique la stratégie. Pour plus d'informations, consultez la section Ressources et opérationsCodeCommit (p. 323).

• Action – Vous utilisez des mots clés d'action pour identifier les opérations de ressource que vousvoulez accorder ou refuser. Par exemple, en fonction de la valeur Effect spécifiée, l'autorisationcodecommit:GetBranch autorise ou interdit à l'utilisateur d'effectuer l'opération GetBranch, quipermet d'obtenir les détails relatifs à une branche dans un référentiel CodeCommit.

• Effet – Vous spécifiez l'effet produit lorsque l'utilisateur demande l'action spécifique, qui peut être unaccord ou un refus. Si vous n'accordez pas explicitement l'accès pour (autoriser) une ressource, l'accèsest implicitement refusé. Vous pouvez aussi explicitement refuser l'accès à une ressource afin de vousassurer qu'un utilisateur n'y a pas accès, même si une stratégie différente accorde cet accès.

• Mandataire – Dans les stratégies basées sur une identité (stratégiesIAM), qui sont le seul type destratégies prises en charge par CodeCommit, l'utilisateur auquel la stratégie est attachée est lemandataire implicite.

Pour en savoir plus sur la syntaxe des stratégies IAM, consultez Référence de stratégie AWS IAM dans leIAM Guide de l'utilisateur.

Pour visualiser un tableau répertoriant toutes les actions d'API CodeCommit, ainsi que les ressourcesauxquelles elles s'appliquent, consultez Référence des autorisations CodeCommit (p. 349).

Spécification de conditions dans une stratégie

Lorsque vous accordez des autorisations, vous utilisez le langage des stratégies d'accès IAM afin despécifier les conditions définissant à quel moment une stratégie doit prendre effet. Par exemple, il estpossible d'appliquer une stratégie après seulement une date spécifique. Pour plus d'informations sur laspécification de conditions dans un langage de stratégie, consultez Condition et Syntaxe de stratégie dansle IAM Guide de l'utilisateur.

Pour exprimer des conditions, vous utilisez des clés de condition prédéfinies. Il n'existe pas de clés decondition spécifiques à CodeCommit. Il existe, toutefois, des clés de condition à l'échelle d'AWS que vouspouvez utiliser selon vos besoins. Pour obtenir une liste complète des clés à l'échelle d'AWS, consultez lasection relative aux clés disponibles pour les conditions dans le IAM Guide de l'utilisateur.

Utilisation de stratégies basées sur l’identité (IAM ) pourCodeCommitLes exemples suivants de stratégies basées sur l'identité montrent comment un administrateur de comptepeut attacher des stratégies d'autorisation à des identités IAM (autrement dit, des utilisateurs, groupes etrôles) et ainsi accorder des autorisations pour effectuer des opérations sur les ressources CodeCommit.

Important

Nous vous recommandons, tout d'abord, d'examiner les rubriques de présentation qui détaillentles concepts de base et les options disponibles pour gérer l'accès à vos ressources CodeCommit.Pour plus d'informations, consultez la section Présentation de la gestion des autorisations d'accèsà vos ressources CodeCommit (p. 323).

Rubriques• Autorisations requises pour utiliser la console CodeCommit (p. 328)• Affichage des ressources dans la console (p. 328)• Stratégies gérées par AWS (prédéfinies) pour CodeCommit (p. 329)• Exemples de stratégies gérées par le client (p. 341)

Version de l'API 2015-04-13327

Page 337: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAuthentification et contrôle d'accès

Un exemple de stratégie d'autorisation basée sur l'identité est présenté ci-dessous :

{ "Version": "2012-10-17", "Statement" : [ { "Effect" : "Allow", "Action" : [ "codecommit:BatchGetRepositories" ], "Resource" : [ "arn:aws:codecommit:us-east-2:111111111111:MyDestinationRepo", "arn:aws:codecommit:us-east-2:111111111111:MyDemo*" ] } ]}

Cette stratégie inclut une instruction qui permet à un utilisateur d'obtenir des informations sur le référentielCodeCommit nommé MyDestinationRepo et sur tous les référentiels CodeCommit qui commencent parle nom MyDemo dans la région us-east-2.

Autorisations requises pour utiliser la console CodeCommitPour consulter les autorisations requises pour chaque opération d'API CodeCommit et pour plusd'informations sur les opérations CodeCommit, reportez-vous à Référence des autorisationsCodeCommit (p. 349).

Pour permettre aux utilisateurs d'utiliser la console CodeCommit, l'administrateur doit leuraccorder des autorisations pour les actions CodeCommit. Par exemple, vous pouvez joindre leAWSCodeCommitPowerUser (p. 332) stratégie gérée ou son équivalent à un utilisateur ou un groupe.

Outre les autorisations accordées aux utilisateurs par les stratégies basées sur une identité, CodeCommitnécessite des autorisations pour les actions AWS Key Management Service (AWS KMS). Un utilisateurIAM n'a pas besoin d'autorisations Allow explicites pour ces actions, mais il ne doit pas avoir de stratégiesattachées définissant les autorisations suivantes sur Deny :

"kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt", "kms:GenerateDataKey", "kms:GenerateDataKeyWithoutPlaintext", "kms:DescribeKey"

Pour plus d'informations sur le chiffrement et CodeCommit, consultez AWS KMS et chiffrement (p. 311).

Affichage des ressources dans la consoleLa console CodeCommit a besoin de l'autorisation ListRepositories afin d'afficher une liste deréférentiels pour votre compte AWS dans la région AWS où vous vous êtes connecté. La consolecomprend également une fonction Go to resource (Accéder aux ressources) qui permet d'effectuerrapidement une recherche de ressources sensible à la casse. Cette recherche est effectuée dans votrecompte AWS dans la région AWS dans laquelle vous vous êtes connecté. Les ressources suivantes sontaffichées pour les services suivants :

• AWS CodeBuild : Projets de génération• AWS CodeCommit : Référentiels• AWS CodeDeploy : Applications• AWS CodePipeline : Pipelines

Version de l'API 2015-04-13328

Page 338: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAuthentification et contrôle d'accès

Pour effectuer cette recherche pour les ressources dans tous les services, vous devez disposer desautorisations suivantes :

• CodeBuild: ListProjects• CodeCommit: ListRepositories• CodeDeploy: ListApplications• CodePipeline: ListPipelines

Les résultats ne sont pas renvoyés pour les ressources d'un service si vous ne disposez pas d'autorisationspour ce service. Même si vous êtes autorisé à afficher des ressources, des ressources spécifiques ne sontpas renvoyées si une valeur Deny explicite est définie pour l'affichage de ces ressources.

Stratégies gérées par AWS (prédéfinies) pour CodeCommit

AWS est adapté à de nombreux cas d'utilisation courants et fournit des stratégies IAM autonomes quisont créées et administrées par AWS. Ces stratégies gérées AWS octroient les autorisations requisespour les cas d'utilisation courants. Les stratégies gérées pour CodeCommit fournissent égalementdes autorisations pour effectuer des opérations dans d'autres services, tels qu'IAM, Amazon SNS etAmazon CloudWatch Events, pour les responsabilités requises pour les utilisateurs à qui la stratégie enquestion a été associée. Par exemple, la stratégie AWSCodeCommitFullAccess est une stratégie utilisateurde niveau administratif qui permet aux utilisateurs à qui elle est associée de créer et gérer les règlesCloudWatch Events pour les référentiels (règles dont les noms comportent le préfixecodecommit) et lesrubriques Amazon SNS pour les notifications d'événements liées aux référentiels (rubriques dont les nomscomportent le préfixe codecommit), et d'administrer les référentiels dans CodeCommit.

Les stratégies gérées AWS suivantes, que vous pouvez attacher aux utilisateurs de votre compte, sontpropres à CodeCommit.

Rubriques• AWSCodeCommitFullAccess (p. 329)• AWSCodeCommitPowerUser (p. 332)• AWSCodeCommitReadOnly (p. 335)• CodeCommit managed policies and notifications (p. 337)• AWS CodeCommit les stratégies gérées et Amazon CodeGuru Reviewer (p. 339)

AWSCodeCommitFullAccess

AWSCodeCommitFullAccess – Accorde l’accès complet à CodeCommit. Attribuez cette stratégieuniquement aux utilisateurs de niveau administratif auxquels vous souhaitez accorder un contrôle total desréférentiels CodeCommit et des ressources connexes de votre compte AWS, ce qui comprend la possibilitéde supprimer les référentiels.

La stratégie AWSCodeCommitFullAccess contient la déclaration suivante :

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codecommit:*" ], "Resource": "*" }, { "Sid": "CloudWatchEventsCodeCommitRulesAccess",

Version de l'API 2015-04-13329

Page 339: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAuthentification et contrôle d'accès

"Effect": "Allow", "Action": [ "events:DeleteRule", "events:DescribeRule", "events:DisableRule", "events:EnableRule", "events:PutRule", "events:PutTargets", "events:RemoveTargets", "events:ListTargetsByRule" ], "Resource": "arn:aws:events:*:*:rule/codecommit*" }, { "Sid": "SNSTopicAndSubscriptionAccess", "Effect": "Allow", "Action": [ "sns:CreateTopic", "sns:DeleteTopic", "sns:Subscribe", "sns:Unsubscribe", "sns:SetTopicAttributes" ], "Resource": "arn:aws:sns:*:*:codecommit*" }, { "Sid": "SNSTopicAndSubscriptionReadAccess", "Effect": "Allow", "Action": [ "sns:ListTopics", "sns:ListSubscriptionsByTopic", "sns:GetTopicAttributes" ], "Resource": "*" }, { "Sid": "LambdaReadOnlyListAccess", "Effect": "Allow", "Action": [ "lambda:ListFunctions" ], "Resource": "*" }, { "Sid": "IAMReadOnlyListAccess", "Effect": "Allow", "Action": [ "iam:ListUsers" ], "Resource": "*" }, { "Sid": "IAMReadOnlyConsoleAccess", "Effect": "Allow", "Action": [ "iam:ListAccessKeys", "iam:ListSSHPublicKeys", "iam:ListServiceSpecificCredentials" ], "Resource": "arn:aws:iam::*:user/${aws:username}" }, { "Sid": "IAMUserSSHKeys", "Effect": "Allow", "Action": [ "iam:DeleteSSHPublicKey",

Version de l'API 2015-04-13330

Page 340: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAuthentification et contrôle d'accès

"iam:GetSSHPublicKey", "iam:ListSSHPublicKeys", "iam:UpdateSSHPublicKey", "iam:UploadSSHPublicKey" ], "Resource": "arn:aws:iam::*:user/${aws:username}" }, { "Sid": "IAMSelfManageServiceSpecificCredentials", "Effect": "Allow", "Action": [ "iam:CreateServiceSpecificCredential", "iam:UpdateServiceSpecificCredential", "iam:DeleteServiceSpecificCredential", "iam:ResetServiceSpecificCredential" ], "Resource": "arn:aws:iam::*:user/${aws:username}" }, { "Sid": "CodeStarNotificationsReadWriteAccess", "Effect": "Allow", "Action": [ "codestar-notifications:CreateNotificationRule", "codestar-notifications:DescribeNotificationRule", "codestar-notifications:UpdateNotificationRule", "codestar-notifications:DeleteNotificationRule", "codestar-notifications:Subscribe", "codestar-notifications:Unsubscribe" ], "Resource": "*", "Condition": { "StringLike": { "codestar-notifications:NotificationsForResource": "arn:aws:codecommit:*" } } }, { "Sid": "CodeStarNotificationsListAccess", "Effect": "Allow", "Action": [ "codestar-notifications:ListNotificationRules", "codestar-notifications:ListTargets", "codestar-notifications:ListTagsforResource", "codestar-notifications:ListEventTypes" ], "Resource": "*" }, { "Sid": "CodeStarNotificationsSNSTopicCreateAccess", "Effect": "Allow", "Action": [ "sns:CreateTopic", "sns:SetTopicAttributes" ], "Resource": "arn:aws:sns:*:*:codestar-notifications*" }, { "Sid": "AmazonCodeGuruReviewerFullAccess", "Effect": "Allow", "Action": [ "codeguru-reviewer:AssociateRepository", "codeguru-reviewer:DescribeRepositoryAssociation", "codeguru-reviewer:ListRepositoryAssociations", "codeguru-reviewer:DisassociateRepository", "codeguru-reviewer:DescribeCodeReview", "codeguru-reviewer:ListCodeReviews"

Version de l'API 2015-04-13331

Page 341: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAuthentification et contrôle d'accès

], "Resource": "*" }, { "Sid": "AmazonCodeGuruReviewerSLRCreation", "Action": "iam:CreateServiceLinkedRole", "Effect": "Allow", "Resource": "arn:aws:iam::*:role/aws-service-role/codeguru-reviewer.amazonaws.com/AWSServiceRoleForAmazonCodeGuruReviewer", "Condition": { "StringLike": { "iam:AWSServiceName": "codeguru-reviewer.amazonaws.com" } } }, { "Sid": "CloudWatchEventsManagedRules", "Effect": "Allow", "Action": [ "events:PutRule", "events:PutTargets", "events:DeleteRule", "events:RemoveTargets" ], "Resource": "*", "Condition": { "StringEquals": { "events:ManagedBy": "codeguru-reviewer.amazonaws.com" } } }, { "Sid": "CodeStarNotificationsChatbotAccess", "Effect": "Allow", "Action": [ "chatbot:DescribeSlackChannelConfigurations" ], "Resource": "*" } ] }

AWSCodeCommitPowerUser

AWSCodeCommitPowerUser – Permet aux utilisateurs d'accéder à toutes les fonctionnalités desressources CodeCommit et des ressources liées aux référentiels, mais ne permet pas de supprimerles référentiels CodeCommit ni de créer ou supprimer des ressources liées au référentiel dans d'autresservices AWS, comme Amazon CloudWatch Events. Nous vous recommandons d'appliquer cette stratégieà la plupart des utilisateurs.

La stratégie AWSCodeCommitPowerUser contient la déclaration suivante :

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codecommit:AssociateApprovalRuleTemplateWithRepository", "codecommit:BatchAssociateApprovalRuleTemplateWithRepositories", "codecommit:BatchDisassociateApprovalRuleTemplateFromRepositories", "codecommit:BatchGet*", "codecommit:BatchDescribe*", "codecommit:Create*",

Version de l'API 2015-04-13332

Page 342: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAuthentification et contrôle d'accès

"codecommit:DeleteBranch", "codecommit:DeleteFile", "codecommit:Describe*", "codecommit:DisassociateApprovalRuleTemplateFromRepository", "codecommit:EvaluatePullRequestApprovalRules", "codecommit:Get*", "codecommit:List*", "codecommit:Merge*", "codecommit:OverridePullRequestApprovalRules", "codecommit:Put*", "codecommit:Post*", "codecommit:TagResource", "codecommit:Test*", "codecommit:UntagResource", "codecommit:Update*", "codecommit:GitPull", "codecommit:GitPush" ], "Resource": "*" }, { "Sid": "CloudWatchEventsCodeCommitRulesAccess", "Effect": "Allow", "Action": [ "events:DeleteRule", "events:DescribeRule", "events:DisableRule", "events:EnableRule", "events:PutRule", "events:PutTargets", "events:RemoveTargets", "events:ListTargetsByRule" ], "Resource": "arn:aws:events:*:*:rule/codecommit*" }, { "Sid": "SNSTopicAndSubscriptionAccess", "Effect": "Allow", "Action": [ "sns:Subscribe", "sns:Unsubscribe" ], "Resource": "arn:aws:sns:*:*:codecommit*" }, { "Sid": "SNSTopicAndSubscriptionReadAccess", "Effect": "Allow", "Action": [ "sns:ListTopics", "sns:ListSubscriptionsByTopic", "sns:GetTopicAttributes" ], "Resource": "*" }, { "Sid": "LambdaReadOnlyListAccess", "Effect": "Allow", "Action": [ "lambda:ListFunctions" ], "Resource": "*" }, { "Sid": "IAMReadOnlyListAccess", "Effect": "Allow", "Action": [

Version de l'API 2015-04-13333

Page 343: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAuthentification et contrôle d'accès

"iam:ListUsers" ], "Resource": "*" }, { "Sid": "IAMReadOnlyConsoleAccess", "Effect": "Allow", "Action": [ "iam:ListAccessKeys", "iam:ListSSHPublicKeys", "iam:ListServiceSpecificCredentials" ], "Resource": "arn:aws:iam::*:user/${aws:username}" }, { "Sid": "IAMUserSSHKeys", "Effect": "Allow", "Action": [ "iam:DeleteSSHPublicKey", "iam:GetSSHPublicKey", "iam:ListSSHPublicKeys", "iam:UpdateSSHPublicKey", "iam:UploadSSHPublicKey" ], "Resource": "arn:aws:iam::*:user/${aws:username}" }, { "Sid": "IAMSelfManageServiceSpecificCredentials", "Effect": "Allow", "Action": [ "iam:CreateServiceSpecificCredential", "iam:UpdateServiceSpecificCredential", "iam:DeleteServiceSpecificCredential", "iam:ResetServiceSpecificCredential" ], "Resource": "arn:aws:iam::*:user/${aws:username}" }, { "Sid": "CodeStarNotificationsReadWriteAccess", "Effect": "Allow", "Action": [ "codestar-notifications:CreateNotificationRule", "codestar-notifications:DescribeNotificationRule", "codestar-notifications:UpdateNotificationRule", "codestar-notifications:Subscribe", "codestar-notifications:Unsubscribe" ], "Resource": "*", "Condition": { "StringLike": { "codestar-notifications:NotificationsForResource": "arn:aws:codecommit:*" } } }, { "Sid": "CodeStarNotificationsListAccess", "Effect": "Allow", "Action": [ "codestar-notifications:ListNotificationRules", "codestar-notifications:ListTargets", "codestar-notifications:ListTagsforResource", "codestar-notifications:ListEventTypes" ], "Resource": "*" }, {

Version de l'API 2015-04-13334

Page 344: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAuthentification et contrôle d'accès

"Sid": "AmazonCodeGuruReviewerFullAccess", "Effect": "Allow", "Action": [ "codeguru-reviewer:AssociateRepository", "codeguru-reviewer:DescribeRepositoryAssociation", "codeguru-reviewer:ListRepositoryAssociations", "codeguru-reviewer:DisassociateRepository", "codeguru-reviewer:DescribeCodeReview", "codeguru-reviewer:ListCodeReviews" ], "Resource": "*" }, { "Sid": "AmazonCodeGuruReviewerSLRCreation", "Action": "iam:CreateServiceLinkedRole", "Effect": "Allow", "Resource": "arn:aws:iam::*:role/aws-service-role/codeguru-reviewer.amazonaws.com/AWSServiceRoleForAmazonCodeGuruReviewer", "Condition": { "StringLike": { "iam:AWSServiceName": "codeguru-reviewer.amazonaws.com" } } }, { "Sid": "CloudWatchEventsManagedRules", "Effect": "Allow", "Action": [ "events:PutRule", "events:PutTargets", "events:DeleteRule", "events:RemoveTargets" ], "Resource": "*", "Condition": { "StringEquals": { "events:ManagedBy": "codeguru-reviewer.amazonaws.com" } } }, { "Sid": "CodeStarNotificationsChatbotAccess", "Effect": "Allow", "Action": [ "chatbot:DescribeSlackChannelConfigurations" ], "Resource": "*" } ] }

AWSCodeCommitReadOnly

AWSCodeCommitReadOnly – Octroie un accès en lecture seule à CodeCommit et aux ressources liéesaux référentiels dans les autres services AWS, ainsi que la possibilité de créer et de gérer leurs propresressources liées à CodeCommit (telles que les informations d'identification Git et les clés SSH requispar leur compte utilisateur IAM pour accéder aux référentiels). Attribuez cette stratégie aux utilisateursauxquels vous souhaitez accorder la possibilité de lire le contenu d'un référentiel, mais pas de le modifier.

La stratégie AWSCodeCommitReadOnly contient la déclaration suivante :

{ "Version":"2012-10-17", "Statement":[

Version de l'API 2015-04-13335

Page 345: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAuthentification et contrôle d'accès

{ "Effect":"Allow", "Action":[ "codecommit:BatchGet*", "codecommit:BatchDescribe*", "codecommit:Describe*", "codecommit:EvaluatePullRequestApprovalRules", "codecommit:Get*", "codecommit:List*", "codecommit:GitPull" ], "Resource":"*" }, { "Sid":"CloudWatchEventsCodeCommitRulesReadOnlyAccess", "Effect":"Allow", "Action":[ "events:DescribeRule", "events:ListTargetsByRule" ], "Resource":"arn:aws:events:*:*:rule/codecommit*" }, { "Sid":"SNSSubscriptionAccess", "Effect":"Allow", "Action":[ "sns:ListTopics", "sns:ListSubscriptionsByTopic", "sns:GetTopicAttributes" ], "Resource":"*" }, { "Sid":"LambdaReadOnlyListAccess", "Effect":"Allow", "Action":[ "lambda:ListFunctions" ], "Resource":"*" }, { "Sid":"IAMReadOnlyListAccess", "Effect":"Allow", "Action":[ "iam:ListUsers" ], "Resource":"*" }, { "Sid":"IAMReadOnlyConsoleAccess", "Effect":"Allow", "Action":[ "iam:ListAccessKeys", "iam:ListSSHPublicKeys", "iam:ListServiceSpecificCredentials", "iam:ListAccessKeys", "iam:GetSSHPublicKey" ], "Resource":"arn:aws:iam::*:user/${aws:username}" }, { "Sid":"CodeStarNotificationsReadOnlyAccess", "Effect":"Allow", "Action":[ "codestar-notifications:DescribeNotificationRule" ],

Version de l'API 2015-04-13336

Page 346: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAuthentification et contrôle d'accès

"Resource":"*", "Condition":{ "StringLike":{ "codestar-notifications:NotificationsForResource":"arn:aws:codecommit:*" } } }, { "Sid":"CodeStarNotificationsListAccess", "Effect":"Allow", "Action":[ "codestar-notifications:ListNotificationRules", "codestar-notifications:ListEventTypes", "codestar-notifications:ListTargets" ], "Resource":"*" }, { "Sid": "AmazonCodeGuruReviewerReadOnlyAccess", "Effect": "Allow", "Action": [ "codeguru-reviewer:DescribeRepositoryAssociation", "codeguru-reviewer:ListRepositoryAssociations", "codeguru-reviewer:DescribeCodeReview", "codeguru-reviewer:ListCodeReviews" ], "Resource": "*" } ] }

CodeCommit managed policies and notifications

AWS CodeCommit supports notifications, which can notify users of important changes to repositories.Managed policies for CodeCommit include policy statements for notification functionality. For moreinformation, see What are notifications?.

Permissions related to notifications in full access managed policies

The AWSCodeCommitFullAccess managed policy includes the following statements to allow full accessto notifications. Users with this managed policy applied can also create and manage Amazon SNS topicsfor notifications, subscribe and unsubscribe users to topics, list topics to choose as targets for notificationrules, and list AWS Chatbot clients configured for Slack.

{ "Sid": "CodeStarNotificationsReadWriteAccess", "Effect": "Allow", "Action": [ "codestar-notifications:CreateNotificationRule", "codestar-notifications:DescribeNotificationRule", "codestar-notifications:UpdateNotificationRule", "codestar-notifications:DeleteNotificationRule", "codestar-notifications:Subscribe", "codestar-notifications:Unsubscribe" ], "Resource": "*", "Condition" : { "StringLike" : {"codestar-notifications:NotificationsForResource" : "arn:aws:codecommit:*"} } }, { "Sid": "CodeStarNotificationsListAccess", "Effect": "Allow",

Version de l'API 2015-04-13337

Page 347: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAuthentification et contrôle d'accès

"Action": [ "codestar-notifications:ListNotificationRules", "codestar-notifications:ListTargets", "codestar-notifications:ListTagsforResource," "codestar-notifications:ListEventTypes" ], "Resource": "*" }, { "Sid": "CodeStarNotificationsSNSTopicCreateAccess", "Effect": "Allow", "Action": [ "sns:CreateTopic", "sns:SetTopicAttributes" ], "Resource": "arn:aws:sns:*:*:codestar-notifications*" }, { "Sid": "CodeStarNotificationsChatbotAccess", "Effect": "Allow", "Action": [ "chatbot:DescribeSlackChannelConfigurations" ], "Resource": "*" }

Permissions related to notifications in read-only managed policies

The AWSCodeCommitReadOnlyAccess managed policy includes the following statements to allow read-only access to notifications. Users with this managed policy applied can view notifications for resources, butcannot create, manage, or subscribe to them.

{ "Sid": "CodeStarNotificationsPowerUserAccess", "Effect": "Allow", "Action": [ "codestar-notifications:DescribeNotificationRule" ], "Resource": "*", "Condition" : { "StringLike" : {"codestar-notifications:NotificationsForResource" : "arn:aws:codecommit:*"} } }, { "Sid": "CodeStarNotificationsListAccess", "Effect": "Allow", "Action": [ "codestar-notifications:ListNotificationRules", "codestar-notifications:ListEventTypes", "codestar-notifications:ListTargets" ], "Resource": "*" }

Permissions related to notifications in other managed policies

The AWSCodeCommitPowerUser managed policy includes the following statements to allow users tocreate, edit, and subscribe to notifications. Users cannot delete notification rules or manage tags forresources.

{ "Sid": "CodeStarNotificationsReadWriteAccess",

Version de l'API 2015-04-13338

Page 348: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAuthentification et contrôle d'accès

"Effect": "Allow", "Action": [ "codestar-notifications:CreateNotificationRule", "codestar-notifications:DescribeNotificationRule", "codestar-notifications:UpdateNotificationRule", "codestar-notifications:DeleteNotificationRule", "codestar-notifications:Subscribe", "codestar-notifications:Unsubscribe" ], "Resource": "*", "Condition" : { "StringLike" : {"codestar-notifications:NotificationsForResource" : "arn:aws:codecommit*"} } }, { "Sid": "CodeStarNotificationsListAccess", "Effect": "Allow", "Action": [ "codestar-notifications:ListNotificationRules", "codestar-notifications:ListTargets", "codestar-notifications:ListTagsforResource", "codestar-notifications:ListEventTypes" ], "Resource": "*" }, { "Sid": "SNSTopicListAccess", "Effect": "Allow", "Action": [ "sns:ListTopics" ], "Resource": "*" }, { "Sid": "CodeStarNotificationsChatbotAccess", "Effect": "Allow", "Action": [ "chatbot:DescribeSlackChannelConfigurations" ], "Resource": "*" }

For more information about IAM and notifications, see Identity and Access Management for AWS CodeStarNotifications.

AWS CodeCommit les stratégies gérées et Amazon CodeGuru Reviewer

CodeCommit prend en charge Amazon CodeGuru Reviewer, un service de révision de code automatiséqui utilise l'analyse de programme et le Machine Learning pour détecter les problèmes courants etrecommander des correctifs dans votre code Java. Les stratégies gérées pour CodeCommit incluent desdéclarations de stratégie pour la fonction CodeGuru Reviewer. Pour de plus amples informations, veuillezconsulter Qu'est-ce-que Amazon CodeGuru Reviewer ?.

Permissions liées à CodeGuru Reviewer dans AWSCodeCommitFullAccess

La stratégie gérée AWSCodeCommitFullAccess inclut les déclarations suivantes pour permettrel'association et la dissociation de CodeGuru Reviewer avec des référentiels CodeCommit. Les utilisateursavec cette stratégie gérée appliquée peuvent également afficher l’état de l’association entre CodeCommitles référentiels et CodeGuru Reviewer et affichez l’état des tâches de vérification pour les demandesd’extraction.

{

Version de l'API 2015-04-13339

Page 349: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAuthentification et contrôle d'accès

"Sid": "AmazonCodeGuruReviewerFullAccess", "Effect": "Allow", "Action": [ "codeguru-reviewer:AssociateRepository", "codeguru-reviewer:DescribeRepositoryAssociation", "codeguru-reviewer:ListRepositoryAssociations", "codeguru-reviewer:DisassociateRepository", "codeguru-reviewer:DescribeCodeReview", "codeguru-reviewer:ListCodeReviews" ], "Resource": "*" }, { "Sid": "AmazonCodeGuruReviewerSLRCreation", "Action": "iam:CreateServiceLinkedRole", "Effect": "Allow", "Resource": "arn:aws:iam::*:role/aws-service-role/codeguru-reviewer.amazonaws.com/AWSServiceRoleForAmazonCodeGuruReviewer", "Condition": { "StringLike": { "iam:AWSServiceName": "codeguru-reviewer.amazonaws.com" } } }, { "Sid": "CloudWatchEventsManagedRules", "Effect": "Allow", "Action": [ "events:PutRule", "events:PutTargets", "events:DeleteRule", "events:RemoveTargets" ], "Resource": "*", "Condition": { "StringEquals": { "events:ManagedBy": "codeguru-reviewer.amazonaws.com" } } }

Permissions liées à CodeGuru Reviewer dans AWSCodeCommitPowerUser

Le AWSCodeCommitPowerUser La stratégie gérée inclut les instructions suivantes pour permettreaux utilisateurs d’associer et de dissocier des référentiels avec CodeGuru Reviewer, afficher l’état del’association et afficher l’état des tâches de vérification pour les demandes d’extraction.

{ "Sid": "AmazonCodeGuruReviewerFullAccess", "Effect": "Allow", "Action": [ "codeguru-reviewer:AssociateRepository", "codeguru-reviewer:DescribeRepositoryAssociation", "codeguru-reviewer:ListRepositoryAssociations", "codeguru-reviewer:DisassociateRepository", "codeguru-reviewer:DescribeCodeReview", "codeguru-reviewer:ListCodeReviews" ], "Resource": "*" }, { "Sid": "AmazonCodeGuruReviewerSLRCreation", "Action": "iam:CreateServiceLinkedRole", "Effect": "Allow",

Version de l'API 2015-04-13340

Page 350: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAuthentification et contrôle d'accès

"Resource": "arn:aws:iam::*:role/aws-service-role/codeguru-reviewer.amazonaws.com/AWSServiceRoleForAmazonCodeGuruReviewer", "Condition": { "StringLike": { "iam:AWSServiceName": "codeguru-reviewer.amazonaws.com" } } }, { "Sid": "CloudWatchEventsManagedRules", "Effect": "Allow", "Action": [ "events:PutRule", "events:PutTargets", "events:DeleteRule", "events:RemoveTargets" ], "Resource": "*", "Condition": { "StringEquals": { "events:ManagedBy": "codeguru-reviewer.amazonaws.com" } } }

Permissions liées à CodeGuru Reviewer dans AWSCodeCommitReadOnly

Le AWSCodeCommitReadOnlyAccess La stratégie gérée inclut les instructions suivantes pour autoriserl’accès en lecture seule à CodeGuru Reviewer statut d’association et afficher le statut des tâches derévision pour les demandes d’extraction. Les utilisateurs pour lesquels cette stratégie gérée est appliquéene peuvent pas associer ou dissocier des référentiels.

{ "Sid": "AmazonCodeGuruReviewerReadOnlyAccess", "Effect": "Allow", "Action": [ "codeguru-reviewer:DescribeRepositoryAssociation", "codeguru-reviewer:ListRepositoryAssociations", "codeguru-reviewer:DescribeCodeReview", "codeguru-reviewer:ListCodeReviews" ], "Resource": "*" }

Rôle lié à un service Amazon CodeGuru Reviewer

Lorsque vous associez un référentiel à CodeGuru Reviewer, un rôle lié au service est crééafin que CodeGuru Reviewer puisse détecter les problèmes et recommander des correctifspour le code Java dans les demandes d'extraction. Le rôle lié à un service se nommeAWSServiceRoleForAmazonCodeGuruReviewer. Pour de plus amples informations, veuillez consulterUtilisation des rôles liés à un service pour Amazon CodeGuru Reviewer.

Pour plus d'informations, consultez Stratégies gérées par AWS dans le IAM Guide de l'utilisateur.

Exemples de stratégies gérées par le client

Vous pouvez créer vos propres stratégies IAM personnalisées afin d'accorder des autorisations pourles actions et les ressources CodeCommit. Vous pouvez attacher ces stratégies personnalisées auxutilisateurs ou groupes IAM qui nécessitent ces autorisations. Vous pouvez également créer vos propresstratégies IAM pour l'intégration entre CodeCommit et d'autres services AWS.

Version de l'API 2015-04-13341

Page 351: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAuthentification et contrôle d'accès

Rubriques• Exemples de stratégie d’identité gérée par le client (p. 342)• Exemples de stratégie d’intégration gérée par le client (p. 347)

Exemples de stratégie d’identité gérée par le client

Les exemples suivants de stratégies IAM accordent des autorisations pour différentes actionsCodeCommit. Utilisez-les pour limiter l'accès des utilisateurs et des rôles IAM àCodeCommit. Cesstratégies contrôlent la possibilité d’effectuer des actions avec le CodeCommit console, API, AWS SDKs,ou le AWS CLI.

Note

Tous les exemples utilisent le Région USA Ouest (Oregon) (us-west-2) et contenir un compte fictifIDs.

Exemples

• Exemple 1 : Autoriser un utilisateur à effectuer CodeCommit opérations dans une seule régionAWS (p. 342)

• Exemple 2 : Autoriser un utilisateur à utiliser Git pour un référentiel unique (p. 343)• Exemple 3 : Autoriser un utilisateur se connectant à partir d’une plage d’adresses IP spécifiée à accéder

à un référentiel (p. 343)• Exemple 4 : Refuser ou autoriser des actions sur les branches (p. 344)• Exemple 5 : Refuser ou autoriser des actions sur les référentiels avec des balises (p. 346)

Exemple 1 : Autoriser un utilisateur à effectuer CodeCommit opérations dans une seule régionAWS

La stratégie d'autorisations suivante utilise un caractère générique ("codecommit:*") pour autoriser lesutilisateurs à effectuer toutes les actions CodeCommit dans la région us-east-2 et non à partir des autresrégions AWS.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codecommit:*", "Resource": "arn:aws:codecommit:us-east-2:111111111111:*", "Condition": { "StringEquals": { "aws:RequestedRegion": "us-east-2" } } }, { "Effect": "Allow", "Action": "codecommit:ListRepositories", "Resource": "*", "Condition": { "StringEquals": { "aws:RequestedRegion": "us-east-2" } } } ]

Version de l'API 2015-04-13342

Page 352: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAuthentification et contrôle d'accès

}

Exemple 2 : Autoriser un utilisateur à utiliser Git pour un référentiel unique

Dans CodeCommit, la stratégie d'autorisation GitPull IAM s'applique à toute commande client Gitdans laquelle des données sont extraites d'CodeCommit, y compris git fetch, git clone, etc. De même, lastratégie d'autorisatione GitPush IAM s'applique à toute commande client Git dans laquelle des donnéessont envoyées à CodeCommit. Par exemple, si la stratégie d'autorisation GitPush IAM est définie surAllow, un utilisateur peut transmettre la suppression d'une branche avec le protocole Git. Cette actionn'est pas concernée par les autorisations appliquées à l'opération DeleteBranch pour cet utilisateur IAM.Le DeleteBranch s’applique aux actions effectuées avec la console , l’ AWS CLI, le SDKset l’API , maispas le protocole Git.

L'exemple suivant permet à l'utilisateur spécifié d'extraire et de transmettre des informations depuis et versle référentiel CodeCommit nommé MyDemoRepo :

{ "Version": "2012-10-17", "Statement" : [ { "Effect" : "Allow", "Action" : [ "codecommit:GitPull", "codecommit:GitPush" ], "Resource" : "arn:aws:codecommit:us-east-2:111111111111:MyDemoRepo" } ]}

Exemple 3 : Autoriser un utilisateur se connectant à partir d’une plage d’adresses IP spécifiée àaccéder à un référentiel

Vous pouvez créer une stratégie qui permet uniquement aux utilisateurs de se connecter à un référentielCodeCommit si leur adresse IP se trouve dans une plage d'adresses IP spécifique. Il existe deuxapproches également valables. Vous pouvez créer une stratégie Deny qui interdit les opérationsCodeCommit si l'adresse IP de l'utilisateur ne fait pas partie d'un bloc spécifique ou vous pouvez créer unestratégie Allow qui autorise les opérations CodeCommit si l'adresse IP de l'utilisateur se trouve dans unbloc spécifique.

Vous pouvez créer une stratégie Deny qui refuse l'accès à tous les utilisateurs qui ne font paspartie d'une plage d'adresses IP spécifique. Par exemple, vous pouvez attacher la stratégie géréeAWSCodeCommitPowerUser et une stratégie gérée par le client à tous les utilisateurs qui ont besoind'accéder à votre référentiel. L'exemple suivant de stratégie refuse toutes les autorisations CodeCommitpour les utilisateurs dont les adresses IP ne sont pas dans le bloc d'adresse IP 203.0.113.0/16 :

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "codecommit:*" ], "Resource": "*", "Condition": { "NotIpAddress": { "aws:SourceIp": [ "203.0.113.0/16"

Version de l'API 2015-04-13343

Page 353: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAuthentification et contrôle d'accès

] } } } ]}

L'exemple suivant de stratégie permet à l'utilisateur spécifié d'accéder à un référentiel CodeCommit nomméMyDemoRepo avec les autorisations équivalentes de la stratégie gérée AWSCodeCommitPowerUseruniquement si son adresse IP est dans le bloc d'adresses 203.0.113.0/16 :

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codecommit:BatchGetRepositories", "codecommit:CreateBranch", "codecommit:CreateRepository", "codecommit:Get*", "codecommit:GitPull", "codecommit:GitPush", "codecommit:List*", "codecommit:Put*", "codecommit:Post*", "codecommit:Merge*", "codecommit:TagResource", "codecommit:Test*", "codecommit:UntagResource", "codecommit:Update*" ], "Resource": "arn:aws:codecommit:us-east-2:111111111111:MyDemoRepo", "Condition": { "IpAddress": { "aws:SourceIp": [ "203.0.113.0/16" ] } } } ]}

Exemple 4 : Refuser ou autoriser des actions sur les branches

Vous pouvez créer une stratégie qui refuse aux utilisateurs les autorisations pour les actions que vousspécifiez sur une ou plusieurs branches. Sinon, vous pouvez créer une stratégie qui autorise desactions sur une ou plusieurs branches qui n'auraient pas été possibles dans d'autres branches d'unréférentiel. Vous pouvez utiliser ces stratégies avec les stratégies gérées appropriées (prédéfinies).Pour plus d'informations, consultez la section La limite pousse et fusionne vers les branches dans AWSCodeCommit (p. 269).

Par exemple, vous pouvez créer un Deny stratégie qui refuse aux utilisateurs la possibilité d’apporterdes modifications à une branche nommée master, y compris la suppression de cette branche, dans unréférentiel nommé MyDemoRepo. Vous pouvez utiliser cette stratégie avec le AWSCodeCommitPowerUserstratégie gérée par. Les utilisateurs avec ces deux stratégies appliquées seront en mesure de créer et desupprimer des branches, de créer des demandes d'extraction, et toutes les autres actions autorisées parAWSCodeCommitPowerUser, mais ils ne pourront pas transmettre les modifications à la branche nomméemaster, ajouter ou modifier un fichier dans la branche master de la console CodeCommit ou fusionner desbranches ou une demande d'extraction dans la branche master. Comme Deny est appliqué à GitPush,

Version de l'API 2015-04-13344

Page 354: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAuthentification et contrôle d'accès

vous devez inclure une instruction Null dans la stratégie, afin d'autoriser l'analyse de validité des appelsGitPush initiaux lorsque les utilisateurs effectuent des transmissions à partir de leurs référentiels locaux.

Tip

Si vous voulez créer une stratégie qui s'applique à toutes les branches master dans tous lesréférentiels de votre compte AWS, pour Resource, spécifiez un astérisque (*) au lieu d'un ARNde référentiel.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "codecommit:GitPush", "codecommit:DeleteBranch", "codecommit:PutFile", "codecommit:Merge*" ], "Resource": "arn:aws:codecommit:us-east-2:111111111111:MyDemoRepo", "Condition": { "StringEqualsIfExists": { "codecommit:References": [ "refs/heads/master" ] }, "Null": { "codecommit:References": false } } } ]}

L'exemple de stratégie suivant autorise un utilisateur à apporter des modifications à une branchenommée master dans tous les référentiels d'un compte AWS. Il ne permettra pas de modifier d'autresbranches. Vous pouvez utiliser cette stratégie avec la stratégie gérée par AWSCodeCommitReadOnlypour permettre les transmissions autorisées vers le référentiel de la branche principale. Comme Effecta la valeur Allow, cet exemple de stratégie ne fonctionne pas avec les stratégies gérées commeAWSCodeCommitPowerUser.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codecommit:GitPush", "codecommit:Merge*" ], "Resource": "*", "Condition": { "StringEqualsIfExists": { "codecommit:References": [ "refs/heads/master" ] } } } ]}

Version de l'API 2015-04-13345

Page 355: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAuthentification et contrôle d'accès

Exemple 5 : Refuser ou autoriser des actions sur les référentiels avec des balises

Vous pouvez créer une stratégie qui autorise ou refuse des actions sur les référentiels en fonction desbalises AWS associées à ces référentiels, puis appliquer ces stratégies aux groupes IAM que vousconfigurez pour la gestion des utilisateurs IAM. Par exemple, vous pouvez créer une stratégie qui refusetous CodeCommit actions sur n’importe quel référentiel avec le AWS clé de balise État et la valeur clé deSecret, puis appliquez cette stratégie au groupe IAM que vous avez créé pour les développeurs généraux(Developers). Vous devez ensuite vous assurer que les développeurs qui travaillent sur ces référentielsbalisés ne sont pas membres de ce groupe Developers mais appartiennent à un groupe IAM groupe pourlequel la politique restrictive n’est pas appliquée (SecretDevelopers).

L'exemple suivant refuse toutes les actions CodeCommit sur les référentiels balisés avec la clé Status et lavaleur de clé Secret :

{ "Version": "2012-10-17", "Statement" : [ { "Effect" : "Deny", "Action" : "codecommit:*" "Resource" : "*", "Condition" : { "StringEquals" : "aws:ResourceTag/Status": "Secret" } } ]}

Vous pouvez affiner davantage cette stratégie en spécifiant des référentiels spécifiques, plutôt que tous lesréférentiels, en tant que ressources. Vous pouvez également créer des stratégies qui autorisent des actionsCodeCommit sur tous les référentiels qui ne sont pas balisés avec des balises spécifiques. Par exemple,la stratégie suivante accorde l'équivalent des autorisations AWSCodeCommitPowerUser pour tous lesréférentiels, sauf ceux balisés avec les balises spécifiées :

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codecommit:BatchGetRepositories", "codecommit:CreateBranch", "codecommit:CreateRepository", "codecommit:Get*", "codecommit:GitPull", "codecommit:GitPush", "codecommit:List*", "codecommit:Put*", "codecommit:TagResource", "codecommit:Test*", "codecommit:UntagResource", "codecommit:Update*" ], "Resource": "*", "Condition": { "StringNotEquals": { "aws:ResourceTag/Status": "Secret", "aws:ResourceTag/Team": "Saanvi" } } } ]

Version de l'API 2015-04-13346

Page 356: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAuthentification et contrôle d'accès

}

Exemples de stratégie d’intégration gérée par le client

Cette section fournit des exemples de stratégies utilisateur gérées par le client qui accordent desautorisations pour les intégrations entre CodeCommit et d'autres services AWS. Pour obtenir des exemplesspécifiques de stratégies qui permettent un accès entre comptes à un référentiel CodeCommit, consultezConfigurer l’accès entre comptes à un AWS CodeCommit du référentiel à l’aide de rôles (p. 150).

Note

Tous les exemples utilisent le Région USA Ouest (Oregon) (us-west-2) lorsqu’une région AWS estrequise et contient un compte fictif IDs.

Exemples

• Exemple 1 : Créez une stratégie qui autorise l’accès entre comptes à un Amazon SNS thème (p. 347)• Exemple 2 : Créez un Amazon Simple Notification Service (Amazon SNS) Stratégie de rubrique pour

autoriser Amazon CloudWatch Events pour publier CodeCommit aux événements de la rubrique (p. 348)

• Exemple 3 : Créer une stratégie pour AWS Lambda avec une CodeCommit déclencheur (p. 349)

Exemple 1 : Créez une stratégie qui autorise l’accès entre comptes à un Amazon SNS thème

Vous pouvez configurer un référentiel CodeCommit afin que le code exécute des transmissions ou qued'autres événements déclenchent des actions, telles que l'envoi d'une notification depuis Amazon SimpleNotification Service (Amazon SNS). Si vous créez la rubrique Amazon SNS avec le même compte quecelui utilisé pour créer le référentiel CodeCommit, vous n'avez pas besoin de configurer de stratégies oud'autorisations IAM supplémentaires. Vous pouvez créer la rubrique, puis créer le déclencheur pour leréférentiel. Pour plus d'informations, consultez la section Créer un déclencheur pour un Amazon SNSthème (p. 119).

Toutefois, si vous souhaitez configurer votre déclencheur pour utiliser une rubrique Amazon SNS dansun autre compte AWS, vous devez d'abord configurer cette rubrique avec une stratégie qui autoriseCodeCommit à publier dans cette rubrique. Depuis cet autre compte, ouvrez la console Amazon SNS,choisissez la rubrique dans la liste et, dans Other topic actions (Autres actions de rubrique), choisissez Edittopic policy (Modifier la stratégie de rubrique). Sous l'onglet Advanced (Avancé), modifiez la stratégie de larubrique afin de permettre à CodeCommit de publier dans cette rubrique. Par exemple, si la stratégie estla stratégie par défaut, vous devez la modifier comme suit, en modifiant les éléments dans red italictext pour faire correspondre les valeurs de votre référentiel, Amazon SNS et compte :

{ "Version": "2008-10-17", "Id": "__default_policy_ID", "Statement": [ { "Sid": "__default_statement_ID", "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": [ "sns:Subscribe", "sns:ListSubscriptionsByTopic", "sns:DeleteTopic", "sns:GetTopicAttributes", "sns:Publish", "sns:RemovePermission", "sns:AddPermission",

Version de l'API 2015-04-13347

Page 357: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAuthentification et contrôle d'accès

"sns:Receive", "sns:SetTopicAttributes" ], "Resource": "arn:aws:sns:us-east-2:111111111111:NotMySNSTopic", "Condition": { "StringEquals": { "AWS:SourceOwner": "111111111111" } } }, { "Sid": "CodeCommit-Policy_ID", "Effect": "Allow", "Principal": { "Service": "codecommit.amazonaws.com" }, "Action": "sns:Publish", "Resource": "arn:aws:sns:us-east-2:111111111111:NotMySNSTopic", "Condition": { "StringEquals": { "AWS:SourceArn": "arn:aws:codecommit:us-east-2:111111111111:MyDemoRepo", "AWS:SourceAccount": "111111111111" } } } ]}

Exemple 2 : Créez un Amazon Simple Notification Service (Amazon SNS) Stratégie de rubriquepour autoriser Amazon CloudWatch Events pour publier CodeCommit aux événements de larubrique

Vous pouvez configurer CloudWatch Events pour qu'une rubrique Amazon SNS soit publiée lorsquedes événements se produisent, notamment des événements CodeCommit. Pour ce faire, vous devezvous assurer que CloudWatch Events a l'autorisation de publier des événements dans votre rubriqueAmazon SNS en créant une stratégie pour la rubrique ou en modifiant une stratégie existante, similaire à lasuivante :

{ Version":"2012-10-17", "Id":"__default_policy_ID", "Statement":[ { "Sid":"__default_statement_ID", "Effect":"Allow", "Principal":"{"AWS":"*"}, "Action": "sns:Publish" ] "Resource":"arn:aws:sns:us-east-2:123456789012:MyTopic", "Condition":{ "StringEquals":{"AWS:SourceOwner":123456789012"} } }, { "Sid":"Allow_Publish_Events", "Effect":"Allow", "Principal":{"Service":"events.amazonaws.com"}, "Action":"sns:Publish", "Resource":"arn:aws:sns:us-east-2:123456789012:MyTopic" } ]}

Version de l'API 2015-04-13348

Page 358: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAuthentification et contrôle d'accès

Pour plus d'informations concernant CodeCommit et CloudWatch Events, reportez-vous à la sectionExemples d'événements CloudWatch Events issus des services pris en charge. Pour plus d’informationssur IAM et langage de politique, voir Grammaire du langage de stratégie JSON IAM.

Exemple 3 : Créer une stratégie pour AWS Lambda avec une CodeCommit déclencheur

Vous pouvez configurer un CodeCommit afin que le code transmette ou que d’autres événementsdéclenchent des actions, telles que l’appel d’une fonction dans AWS Lambda. Pour plus d'informations,consultez la section Créer un déclencheur pour un Lambda fonction (p. 123). Cette information s'appliqueuniquement aux déclencheurs, pas à CloudWatch Events.

Si vous voulez que votre déclencheur exécute directement une fonction Lambda (au lieu d'utiliser unerubrique Amazon SNS pour appeler la fonction Lambda), et que vous ne configurez pas le déclencheurdans la console Lambda, vous devez inclure une stratégie similaire à ce qui suit dans la stratégie deressources de la fonction :

{ "Statement":{ "StatementId":"Id-1", "Action":"lambda:InvokeFunction", "Principal":"codecommit.amazonaws.com", "SourceArn":"arn:aws:codecommit:us-east-2:111111111111:MyDemoRepo", "SourceAccount":"111111111111" }}

Lors de la configuration manuelle d’un CodeCommit qui appelle un Lambda fonction, vous devezégalement utiliser le Lambda AddPermission pour accorder l’autorisation pour CodeCommit pour appelerla fonction. Pour un exemple, consultez la section Pour autoriser CodeCommit à exécuter la fonctionLambda (p. 127) de Créer un déclencheur pour un Lambda fonction (p. 127).

Pour plus d’informations sur les stratégies de ressources pour Lambda fonctions, voir AddPermission etLes modèles d’événements Pull/Push dans le AWS Lambda Guide du développeur.

Référence des autorisations CodeCommitLes tableaux suivants répertorient chaque opération d'API CodeCommit et les actions correspondantespour lesquelles vous pouvez accorder des autorisations, ainsi que le format de l'ARN de ressource à utiliserpour accorder les autorisations. Le CodeCommit APIs sont regroupés en tables en fonction de la portéedes actions autorisées par cette API. Utilisez-le comme référence lorsque vous configurez des stratégiesd'autorisation d'écriture et de Contrôle d'accès (p. 322) que vous pouvez attacher à une identité IAM(stratégies basées sur une identité).

Lorsque vous créez une stratégie d'autorisation, vous spécifiez les actions dans le champ Action de lastratégie. Vous spécifiez un ARN, avec ou sans caractère générique (*), comme valeur de ressource dansle champ Resource de la stratégie.

Pour exprimer des conditions dans les stratégies CodeCommit, vous pouvez utiliser des clés de condition àl'échelle d'AWS. Pour obtenir la liste complète des clés à l'échelle d'AWS, consultez Clés disponibles dansle IAM Guide de l'utilisateur.

Note

Pour spécifier une action, utilisez le préfixe codecommit: suivi du nom de l'opération d'API (parexemple, codecommit:GetRepository ou codecommit:CreateRepository).

Utilisation de caractères génériques

Pour spécifier plusieurs actions ou ressources, vous pouvez utiliser un caractère générique (*) dans votreARN. Par exemple, codecommit:* spécifie tout CodeCommit actions et codecommit:Get* spécifie tout

Version de l'API 2015-04-13349

Page 359: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAuthentification et contrôle d'accès

CodeCommit les actions qui commencent par le mot Get. L’exemple suivant accorde l’accès à tous lesréférentiels dont les noms commencent par MyDemo.

arn:aws:codecommit:us-west-2:111111111111:MyDemo*

Vous pouvez utiliser des caractères génériques uniquement avec le repository-name aux ressourcesrépertoriées dans le tableau suivant. Vous ne pouvez pas utiliser de caractères génériques avec regionou account-id AWS. Pour plus d'informations sur les caractères génériques, consultezIdentifiants IAMdans le IAM Guide de l'utilisateur.

Rubriques• Autorisations requises pour les commandes client Git (p. 350)• Autorisations pour les actions sur les branches (p. 351)• Autorisations pour les actions sur les fusions (p. 352)• Autorisations pour les actions sur les demandes d’extraction (p. 353)• Autorisations pour les actions sur les modèles de règles d’approbation (p. 356)• Autorisations pour les actions sur des fichiers individuels (p. 358)• Permissions pour les actions sur les commentaires (p. 359)• Autorisations pour les actions sur le code validé (p. 360)• Autorisations pour les actions sur les référentiels (p. 362)• Autorisations pour les actions sur les balises (p. 363)• Autorisations pour les actions sur les déclencheurs (p. 363)• Autorisations pour les actions sur CodePipeline intégration (p. 364)

Autorisations requises pour les commandes client Git

Dans CodeCommit, la stratégie d'autorisation GitPull IAM s'applique à toute commande client Gitdans laquelle des données sont extraites d'CodeCommit, y compris git fetch, git clone, etc. De même, lastratégie d'autorisatione GitPush IAM s'applique à toute commande client Git dans laquelle des donnéessont envoyées à CodeCommit. Par exemple, si la stratégie d'autorisation GitPush IAM est définie surAllow, un utilisateur peut transmettre la suppression d'une branche avec le protocole Git. Cette actionn'est pas concernée par les autorisations appliquées à l'opération DeleteBranch pour cet utilisateur IAM.Le DeleteBranch s’applique aux actions effectuées avec la console , l’ AWS CLI, le SDKset l’API , maispas le protocole Git.

GitPull et GitPush sont des autorisations de stratégie IAM. Ce ne sont pas des actions d'API.

CodeCommit Autorisations requises pour les actions des commandes client Git

GitPull

Action(s) : codecommit:GitPull

Autorisation requise pour extraire des informations d'un référentiel CodeCommit vers un référentiellocal. Il s'agit d'une autorisation de stratégie IAM uniquement, pas d'une action d'API.

Ressource : arn:aws:codecommit:region:account-id:repository-nameGitPush

Action(s) : codecommit:Git Push

Autorisation requise pour transférer des informations d'un référentiel local vers un référentielCodeCommit. Il s'agit d'une autorisation de stratégie IAM uniquement, pas d'une action d'API.

Version de l'API 2015-04-13350

Page 360: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAuthentification et contrôle d'accès

Ressource : arn:aws:codecommit:region:account-id:repository-name

Autorisations pour les actions sur les branches

Les autorisations suivantes autorisent ou refusent des actions au niveau des branches dans les référentielsCodeCommit. Ces autorisations s'appliquent uniquement aux actions effectuées dans la consoleCodeCommit et avec l'API CodeCommit, ainsi qu'aux commandes exécutées à l'aide de l'interface de lignede commande AWS. Elles ne concernent pas les actions similaires qui peuvent être effectuées à l'aide duprotocole Git. Par exemple, la commande git show-branch -r affiche une liste des branches distantes pourun référentiel et ses validations à l'aide du protocole Git. Elle n'est pas concernée par les autorisations del'opération CodeCommit ListBranches.

CodeCommit Opérations d’API et autorisations requises pour les actions sur les branches

CreateBranch

Action(s) : codecommit:CreateBranch

Autorisation requise pour créer une branche dans un référentiel CodeCommit.

Ressource : arn:aws:codecommit:region:account-id:repository-nameDeleteBranch

Action(s) : codecommit:DeleteBranch

Autorisation requise pour supprimer une branche d'un référentiel CodeCommit.

Ressource : arn:aws:codecommit:region:account-id:repository-nameGetBranch

Action(s) : codecommit:GetBranch

Autorisation requise pour obtenir les détails relatifs à une branche dans un référentiel CodeCommit.

Ressource : arn:aws:codecommit:region:account-id:repository-nameListBranches

Action(s) : codecommit:ListBranches

Autorisation requise pour obtenir une liste de branches dans un référentiel CodeCommit.

Ressource : arn:aws:codecommit:region:account-id:repository-nameMergeBranchesByFastForward

Action(s) : codecommit:MergeBranchesByFastForward

Autorisation requise pour fusionner deux branches à l'aide de la stratégie de fusion rapide dans unréférentiel CodeCommit.

Ressource : arn:aws:codecommit:region:account-id:repository-nameMergeBranchesBySquash

Action(s) : codecommit:ListBranches

Autorisation requise pour fusionner deux branches à l'aide de la stratégie de fusion par écrasementdans un référentiel CodeCommit.

Ressource : arn:aws:codecommit:region:account-id:repository-name

Version de l'API 2015-04-13351

Page 361: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAuthentification et contrôle d'accès

MergeBranchesByThreeWay

Action(s) : codecommit:ListBranches

Autorisation requise pour fusionner deux branches en utilisant la stratégie de fusion tripartite dans unréférentiel CodeCommit.

Ressource : arn:aws:codecommit:region:account-id:repository-nameUpdateDefaultBranch

Action(s) : codecommit:UpdateDefaultBranch

Autorisation requise pour modifier la branche par défaut dans un référentiel CodeCommit.

Ressource : arn:aws:codecommit:region:account-id:repository-name

Autorisations pour les actions sur les fusionsLes autorisations suivantes accordent ou interdisent des actions sur les fusions dans les référentielsCodeCommit. Ces autorisations s'appliquent uniquement aux actions effectuées avec la consoleCodeCommit et l'API CodeCommit, ainsi qu'aux commandes exécutées à l'aide de l'interface de lignede commande AWS. Elles ne concernent pas les actions similaires qui peuvent être effectuées à l'aidedu protocole Git. Pour plus d’informations sur les autorisations connexes sur les branches, consultezAutorisations pour les actions sur les branches (p. 351). Pour plus d’informations sur les autorisationsconnexes sur les demandes d'extraction, consultez Autorisations pour les actions sur les demandesd’extraction (p. 353).

Opérations d’API CodeCommit et autorisations requises pour des actions pour les commandes de fusion

BatchDescribeMergeConflicts

Action(s) : codecommit:BatchDescribeMergeConflicts

Autorisation requise pour renvoyer des informations sur les conflits dans une fusion entre lesvalidations dans un référentiel CodeCommit.

Ressource : arn:aws:codecommit:region:account-id:repository-nameCreateUnreferencedMergeCommit

Action(s) : codecommit:CreateUnreferencedMergeCommit

Autorisation requise pour créer une validation non référencée entre deux branches ou des validationsdans un référentiel CodeCommit afin de les comparer et d’identifier des conflits potentiels.

Ressource : arn:aws:codecommit:region:account-id:repository-nameDescribeMergeConflicts

Action(s) : codecommit:DescribeMergeConflicts

Autorisation requise pour renvoyer des informations sur des conflits de fusion entre les versions debase, source et de destination d'un fichier dans une fusion potentielle dans un référentiel CodeCommit.

Ressource : arn:aws:codecommit:region:account-id:repository-nameGetMergeCommit

Action(s) : codecommit:GetMergeCommit

Autorisation requise pour renvoyer des informations sur la fusion entre une validation source et dedestination dans un référentiel CodeCommit.

Version de l'API 2015-04-13352

Page 362: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAuthentification et contrôle d'accès

Ressource : arn:aws:codecommit:region:account-id:repository-nameGetMergeOptions

Action(s) : codecommit:GetMergeOptions

Autorisation requise pour renvoyer des informations sur les options de fusion disponibles entre deuxbranches ou spécificateurs de validation dans un référentiel CodeCommit.

Ressource : arn:aws:codecommit:region:account-id:repository-name

Autorisations pour les actions sur les demandes d’extractionLes autorisations suivantes autorisent ou refusent des actions au niveau des demandes d'extraction dansles référentiels CodeCommit. Ces autorisations s'appliquent uniquement aux actions effectuées avec laconsole CodeCommit et l'API CodeCommit, ainsi qu'aux commandes exécutées à l'aide de l'interface deligne de commande AWS. Elles ne concernent pas les actions similaires qui peuvent être effectuées àl'aide du protocole Git. Pour voir les autorisations connexes pour les commentaires, consultez Permissionspour les actions sur les commentaires (p. 359).

CodeCommit Opérations d’API et autorisations requises pour les actions sur les demandes d’extraction

BatchGetPullRequests

Action(s) : codecommit:BatchGetPullRequests

Autorisation requise pour renvoyer des informations sur une ou plusieurs demandes d'extraction dansun référentiel CodeCommit. Il s'agit d'une autorisation de stratégie IAM uniquement, pas d'une actiond'API que vous pouvez appeler.

Ressource : arn:aws:codecommit:region:account-id:repository-nameCreatePullRequest

Action(s) : codecommit:CreatePullRequest

Autorisation requise pour créer une demande d'extraction dans un référentiel CodeCommit.

Ressource : arn:aws:codecommit:region:account-id:repository-nameCreatePullRequestApprovalRule

Action(s) : codecommit:CreatePullRequestApprovalRule

Autorisation requise pour créer une règle d'approbation pour une demande d'extraction dans unréférentiel CodeCommit.

Ressource : arn:aws:codecommit:region:account-id:repository-nameDeletePullRequestApprovalRule

Action(s) : codecommit:DeletePullRequestApprovalRule

Autorisation requise pour supprimer une règle d'approbation pour une demande d'extraction dans unréférentiel CodeCommit.

Ressource : arn:aws:codecommit:region:account-id:repository-nameDescribePullRequestEvents

Action(s) : codecommit:DescribePullRequestEvents

Autorisation requise pour renvoyer des informations sur une ou plusieurs demandes d'extraction dansun référentiel CodeCommit.

Version de l'API 2015-04-13353

Page 363: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAuthentification et contrôle d'accès

Ressource : arn:aws:codecommit:region:account-id:repository-nameEvaluatePullRequestApprovalRules

Action(s) : codecommit:EvaluatePullRequestApprovalRules

Autorisation requise pour évaluer si une demande d'extraction a satisfait toutes les conditionsspécifiées dans ses règles d'approbation associées dans un référentiel CodeCommit.

Ressource : arn:aws:codecommit:region:account-id:repository-nameGetCommentsForPullRequest

Action(s) : codecommit:GetCommentsForPullRequest

Autorisation requise pour renvoyer des commentaires effectués sur une demande d'extraction.

Ressource : arn:aws:codecommit:region:account-id:repository-nameGetCommitsFromMergeBase

Action(s) : codecommit:GetCommitsFromMergeBase

Autorisation requise pour renvoyer des informations sur la différence entre les validations dans lecontexte d'une fusion potentielle. Il s'agit d'une autorisation de stratégie IAM uniquement, pas d'uneaction d'API que vous pouvez appeler.

Ressource : arn:aws:codecommit:region:account-id:repository-nameGetMergeConflicts

Action(s) : codecommit:GetMergeConflicts

Obligatoire pour renvoyer des informations sur les conflits de fusion entre la branche source et labranche de destination dans une demande d’extraction.

Ressource : arn:aws:codecommit:region:account-id:repository-nameGetPullRequest

Action(s) : codecommit:GetPullRequest

Autorisation requise pour renvoyer des informations sur une demande d'extraction dans un référentielCodeCommit.

Ressource : arn:aws:codecommit:region:account-id:repository-nameGetPullRequestApprovalStates

Action(s) : codecommit:GetPullRequestApprovalStates

Autorisation requise pour renvoyer des informations sur les états d'approbation d'une demanded'extraction spécifiée.

Ressource : arn:aws:codecommit:region:account-id:repository-nameGetPullRequestOverrideState

Action(s) : codecommit:GetPullRequestOverrideState

Requise pour renvoyer des informations sur la mise de côté (remplacée) des règles d’approbation pourune demande d’extraction, et si oui, l’Amazon Resource Name (ARN) de l’utilisateur ou de l’identité quia ignoré les règles et leurs exigences pour la demande d’extraction.

Ressource : arn:aws:codecommit:region:account-id:repository-name

Version de l'API 2015-04-13354

Page 364: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAuthentification et contrôle d'accès

ListPullRequests

Action(s) : codecommit:ListPullRequests

Autorisation requise pour répertorier les demandes d'extraction dans un référentiel.

Ressource : arn:aws:codecommit:region:account-id:repository-nameMergePullRequestByFastForward

Action(s) : codecommit:MergePullRequestByFastForward

Autorisation requise pour fermer une demande d'extraction et tenter de fusionner la branche source entant que branche de destination d'une demande d'extraction à l'aide de la stratégie de fusion rapide.

Ressource : arn:aws:codecommit:region:account-id:repository-nameMergePullRequestBySquash

Action(s) : codecommit:MergePullRequestBySquash

Autorisation requise pour fermer une demande d'extraction et tenter de fusionner la branche sourceen tant que branche de destination d'une demande d'extraction à l'aide de la stratégie de fusion parécrasement.

Ressource : arn:aws:codecommit:region:account-id:repository-nameMergePullRequestByThreeWay

Action(s) : codecommit:MergePullRequestByThreeWay

Autorisation requise pour fermer une demande d'extraction et tenter de fusionner la branche source entant que branche de destination d'une demande d'extraction à l'aide de la stratégie de fusion tripartite.

Ressource : arn:aws:codecommit:region:account-id:repository-nameOverridePullRequestApprovalRules

Action(s) : codecommit:OverridePullRequestApprovalRules

Autorisation requise pour mettre de côté toutes les exigences de règle d'approbation d'une demanded'extraction dans un référentiel CodeCommit.

Ressource : arn:aws:codecommit:region:account-id:repository-namePostCommentForPullRequest

Action(s) : codecommit:PostCommentForPullRequest

Autorisation requise pour publier un commentaire sur une demande d'extraction dans un référentielCodeCommit.

Ressource : arn:aws:codecommit:region:account-id:repository-nameUpdatePullRequestApprovalRuleContent

Action(s) : codecommit:UpdatePullRequestApprovalRuleContent

Autorisation requise pour modifier la structure d'une règle d'approbation pour une demanded'extraction dans un référentiel CodeCommit.

Ressource : arn:aws:codecommit:region:account-id:repository-nameUpdatePullRequestApprovalState

Action(s) : codecommit:UpdatePullRequestApprovalState

Version de l'API 2015-04-13355

Page 365: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAuthentification et contrôle d'accès

Autorisation requise pour mettre à jour l'état d'une approbation d'une demande d'extraction dans unréférentiel CodeCommit.

Ressource : arn:aws:codecommit:region:account-id:repository-nameUpdatePullRequestDescription

Action(s) : codecommit:UpdatePullRequestDescription

Autorisation requise pour modifier la description d'une demande d'extraction dans un référentielCodeCommit.

Ressource : arn:aws:codecommit:region:account-id:repository-nameUpdatePullRequestStatus

Action(s) : codecommit:UpdatePullRequestStatus

Autorisation requise pour modifier le statut d'une demande d'extraction dans un référentielCodeCommit.

Ressource : arn:aws:codecommit:region:account-id:repository-nameUpdatePullRequestTitle

Action(s) : codecommit:UpdatePullRequestTitle

Autorisation requise pour modifier le titre d'une demande d'extraction dans un référentiel CodeCommit.

Ressource : arn:aws:codecommit:region:account-id:repository-name

Autorisations pour les actions sur les modèles de règles d’approbation

Les autorisations suivantes autorisent ou interdisent les actions sur les modèles de règles d'approbationdans les référentiels CodeCommit. Ces autorisations s'appliquent uniquement aux actions effectuées dansla console CodeCommit, l'API CodeCommit et via des commandes exécutées à l'aide de l'AWS CLI. Ellesne concernent pas les actions similaires qui peuvent être effectuées à l'aide du protocole Git. Pour plusd’informations sur les autorisations connexes sur les demandes d'extraction, consultez Autorisations pourles actions sur les demandes d’extraction (p. 353).

CodeCommit Opérations d’API et autorisations requises pour les actions sur les modèles de règlesd’approbation

AssociateApprovalRuleTemplateWithRepository

Action(s) : codecommit:AssociateApprovalRuleTemplateWithRepository

Autorisation requise pour associer un modèle à un référentiel spécifié dans un compte AWS. Une foisle modèle associé, cette opération crée automatiquement des règles d'approbation qui correspondentaux conditions du modèle pour chaque demande d'extraction créée dans le référentiel spécifié.

Ressource: *BatchAssociateApprovalRuleTemplateWithRepositories

Action(s) : codecommit:BatchAssociateApprovalRuleTemplateWithRepositories

Autorisation requise pour associer un modèle à un ou plusieurs référentiels spécifiés dans un compteAWS.

Ressource: *

Version de l'API 2015-04-13356

Page 366: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAuthentification et contrôle d'accès

BatchDisassociateApprovalRuleTemplateFromRepositories

Action(s) : codecommit:BatchDisassociateApprovalRuleTemplateFromRepositories

Autorisation requise pour dissocier un modèle d'un ou plusieurs référentiels spécifiés dans un compteAWS.

Ressource: *CreateApprovalRuleTemplate

Action(s) : codecommit:CreateApprovalRuleTemplate

Autorisation requise pour créer un modèle de règles d'approbation qui peut ensuite être associé à unou plusieurs référentiels de votre compte AWS.

Ressource: *DeleteApprovalRuleTemplate

Action(s) : codecommit:DeleteApprovalRuleTemplate

Autorisation requise pour supprimer un modèle de règle d'approbation d'un compte AWS.

Ressource: *DisassociateApprovalRuleTemplateFromRepository

Action(s) : codecommit:DisassociateApprovalRuleTemplateFromRepository

Obligatoire pour dissocier le modèle spécifié d’un référentiel dans un AWS compte. Cela ne supprimepas les règles d'approbation sur les demandes d'extraction déjà créées avec le modèle.

Ressource: *GetApprovalRuleTemplate

Action(s) : codecommit:GetApprovalRuleTemplate

Autorisation requise pour renvoyer des informations sur un modèle de règle d'approbation dans uncompte AWS.

Ressource: *ListApprovalRuleTemplates

Action(s) : codecommit:ListApprovalRuleTemplates

Autorisation requise pour répertorier les modèles de règles d'approbation dans un compte AWS.

Ressource: *ListAssociatedApprovalRuleTemplatesForRepository

Action(s) : codecommit:ListAssociatedApprovalRuleTemplatesForRepository

Autorisation requise pour répertorier tous les modèles de règles d'approbation associés à un référentielspécifié dans un compte AWS.

Ressource: *ListRepositoriesForApprovalRuleTemplate

Action(s) : codecommit:ListRepositoriesForApprovalRuleTemplate

Version de l'API 2015-04-13357

Page 367: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAuthentification et contrôle d'accès

Autorisation requise pour répertorier tous les référentiels associés à un modèle de règle d'approbationspécifié dans un compte AWS.

Ressource: *UpdateApprovalRuleTemplateContent

Action(s) : codecommit:UpdateApprovalRuleTemplateContent

Autorisation requise pour mettre à jour le contenu d'un modèle de règle d'approbation dans un compteAWS.

Ressource: *UpdateApprovalRuleTemplateDescription

Action(s) : codecommit:UpdateApprovalRuleTemplateDescription

Autorisation requise pour mettre à jour la description d'un modèle de règle d'approbation dans uncompte AWS.

Ressource: *UpdateApprovalRuleTemplateName

Action(s) : codecommit:UpdateApprovalRuleTemplateName

Autorisation requise pour mettre à jour le nom d'un modèle de règle d'approbation dans un compteAWS.

Ressource: *

Autorisations pour les actions sur des fichiers individuelsLes autorisations suivantes autorisent ou refusent des actions sur des fichiers individuels dans lesréférentiels CodeCommit. Ces autorisations s'appliquent uniquement aux actions effectuées dans laconsole CodeCommit, l'API CodeCommit et via des commandes exécutées à l'aide de l'AWS CLI. Elles neconcernent pas les actions similaires qui peuvent être effectuées à l'aide du protocole Git. Par exemple, lacommande git push transmet (push) des fichiers nouveaux et modifiés vers un référentiel CodeCommit àl'aide du protocole Git. Elle n'est pas concernée par les autorisations de l'opération CodeCommit PutFile.

CodeCommit Opérations d'API &; et autorisations requises pour des actions sur des fichiers individuels

DeleteFile

Action(s) : codecommit:DeleteFile

Obligatoire pour supprimer un fichier spécifié d'une branche spécifiée dans un référentiel CodeCommità partir de la console CodeCommit.

Ressource : arn:aws:codecommit:region:account-id:repository-nameGetBlob

Action(s) : codecommit:GetBlob

Autorisation requise pour afficher le contenu codé d'un fichier individuel dans un référentielCodeCommit à partir de la console CodeCommit.

Ressource : arn:aws:codecommit:region:account-id:repository-nameGetFile

Action(s) : codecommit:GetFile

Version de l'API 2015-04-13358

Page 368: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAuthentification et contrôle d'accès

Obligatoire pour afficher le contenu codé d’un fichier spécifié et ses métadonnées dans unCodeCommit à partir de l’ CodeCommit console.

Ressource : arn:aws:codecommit:region:account-id:repository-nameGetFolder

Action(s) : codecommit:GetFolder

Autorisation requise pour afficher le contenu d'un dossier spécifié dans un référentiel CodeCommit àpartir de la console CodeCommit.

Ressource : arn:aws:codecommit:region:account-id:repository-namePutFile

Action(s) : codecommit:PutFile

Autorisation requise pour ajouter un fichier nouveau ou modifié dans un référentiel CodeCommit àpartir de la console CodeCommit, de l'API CodeCommitou de l'AWS CLI.

Ressource : arn:aws:codecommit:region:account-id:repository-name

Permissions pour les actions sur les commentairesLes autorisations suivantes autorisent ou refusent des actions au niveau des commentaires dans lesréférentiels CodeCommit. Ces autorisations s'appliquent uniquement aux actions effectuées avec laconsole CodeCommit et l'API CodeCommit, ainsi qu'aux commandes exécutées à l'aide de l'interface deligne de commande AWS. Pour voir les autorisations connexes pour les commentaires dans les demandesd'extraction, consultez Autorisations pour les actions sur les demandes d’extraction (p. 353).

CodeCommit Opérations d’API et autorisations requises pour les actions sur les référentiels

DeleteCommentContent

Action(s) : codecommit:DeleteCommentContent

Autorisation requise pour supprimer le contenu d'un commentaire effectué sur une modification, unfichier ou une validation dans un référentiel. Les commentaires ne peuvent pas être supprimés, mais lecontenu d'un commentaire peut être supprimé par l'utilisateur s'il y est autorisé.

Ressource : arn:aws:codecommit:region:account-id:repository-nameGetComment

Action(s) : codecommit:GetComment

Autorisation requise pour renvoyer des informations sur un commentaire effectué sur une modification,un fichier ou une validation dans un référentiel CodeCommit.

Ressource : arn:aws:codecommit:region:account-id:repository-nameGetCommentReactions

Action(s) : codecommit:GetCommentReactions

Obligatoire pour renvoyer des informations sur les réactions emoji à un commentaire effectué sur unemodification, un fichier ou une validation dans un CodeCommit du référentiel.

Ressource : arn:aws:codecommit:region:account-id:repository-nameGetCommentsForComparedCommit

Action(s) : codecommit:GetCommentsForComparedCommit

Version de l'API 2015-04-13359

Page 369: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAuthentification et contrôle d'accès

Autorisation requise pour renvoyer des informations sur des commentaires effectués sur lacomparaison entre deux validations dans un référentiel CodeCommit.

Ressource : arn:aws:codecommit:region:account-id:repository-namePostCommentForComparedCommit

Action(s) : codecommit:PostCommentForComparedCommit

Autorisation requise pour laisser un commentaire sur la comparaison entre deux validations dans unréférentiel CodeCommit.

Ressource : arn:aws:codecommit:region:account-id:repository-namePostCommentReply

Action(s) : codecommit:PostCommentReply

Autorisation requise pour créer une réponse à un commentaire sur une comparaison entre desvalidations ou sur une demande d'extraction dans un référentiel CodeCommit.

Ressource : arn:aws:codecommit:region:account-id:repository-namePutCommentReaction

Action(s) : codecommit:PutCommentReaction

Obligatoire pour répondre à un commentaire avec un emoji sur une validation ou sur une demanded’extraction dans un CodeCommit du référentiel.

Ressource : arn:aws:codecommit:region:account-id:repository-nameUpdateComment

Action(s) : codecommit:UpdateComment

Autorisation requise pour modifier un commentaire sur une comparaison entre des validations ou surune demande d'extraction. Les commentaires ne peuvent être modifiés que par leur auteur.

Ressource : arn:aws:codecommit:region:account-id:repository-name

Autorisations pour les actions sur le code validé

Les autorisations suivantes autorisent ou refusent des actions au niveau du code validé dans lesréférentiels CodeCommit. Ces autorisations s'appliquent uniquement aux actions effectuées avec laconsole CodeCommit et l'API CodeCommit, ainsi qu'aux commandes exécutées à l'aide de l'interface deligne de commande AWS. Elles ne concernent pas les actions similaires qui peuvent être effectuées àl'aide du protocole Git. Par exemple, la commande git commit crée une validation pour une branche dansun référentiel au moyen du protocole Git. Elle n'est pas concernée par les autorisations de l'opérationCodeCommit CreateCommit.

Le refus explicite de certaines de ces autorisations peut avoir des conséquences inattendues dansla console CodeCommit. Par exemple, la définition de GetTree sur Deny empêche les utilisateursde naviguer dans le contenu d'un référentiel sur la console, mais ne les empêche pas d'afficher lecontenu d'un fichier dans le référentiel (par exemple, si un lien vers le fichier leur est envoyé dansun e-mail). La définition de GetBlob sur Deny empêche les utilisateurs d'afficher le contenu defichiers, mais ne les empêche pas de naviguer dans la structure d'un référentiel. La définition deGetCommit sur Deny empêche les utilisateurs d'extraire des détails sur des validations. La définition deGetObjectIdentifier sur Deny bloque la plupart des fonctionnalités de navigation dans le code. Sivous définissez ces trois actions sur Deny dans une stratégie, un utilisateur avec cette stratégie ne peutpas naviguer dans le code sur la console CodeCommit.

Version de l'API 2015-04-13360

Page 370: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAuthentification et contrôle d'accès

CodeCommit Opérations d’API et autorisations requises pour les actions sur le code validé

BatchGetCommits

Action(s) : codecommit:BatchGetCommits

Autorisation requise pour renvoyer des informations sur une ou plusieurs validations dans unréférentiel CodeCommit. Il s'agit d'une autorisation de stratégie IAM uniquement, pas d'une actiond'API que vous pouvez appeler.

Ressource : arn:aws:codecommit:region:account-id:repository-nameCreateCommit

Action(s) : codecommit:CreateCommit

Requise pour créer une validation.

Ressource : arn:aws:codecommit:region:account-id:repository-nameGetCommit

Action(s) : codecommit:GetCommit

Autorisation requise pour renvoyer des informations sur une validation.

Ressource : arn:aws:codecommit:region:account-id:repository-nameGetCommitHistory

Action(s) : codecommit:GetCommitHistory

Autorisation requise pour renvoyer des informations sur l'historique de validations dans un référentiel. Ils'agit d'une autorisation de stratégie IAM uniquement, pas d'une action d'API que vous pouvez appeler.

Ressource : arn:aws:codecommit:region:account-id:repository-nameGetDifferences

Action(s) : codecommit:GetDifferences

Autorisation requise pour renvoyer des informations sur les différences dans un spécificateur devalidation (par exemple, branche, balise, HEAD, ID de validation ou autre référence complète).

Ressource : arn:aws:codecommit:region:account-id:repository-nameGetObjectIdentifier

Action(s) : codecommit:GetObjectIdentifier

Autorisation requise pour obtenir des objets BLOB, des arborescences et des validations par rapportà leur identifiant. Il s'agit d'une autorisation de stratégie IAM uniquement, pas d'une action d'API quevous pouvez appeler.

Ressource : arn:aws:codecommit:region:account-id:repository-nameGetReferences

Action(s) : codecommit:GetReferences

Autorisation requise pour renvoyer toutes les références, telles que des branches et des balises. Ils'agit d'une autorisation de stratégie IAM uniquement, pas d'une action d'API que vous pouvez appeler.

Ressource : arn:aws:codecommit:region:account-id:repository-name

Version de l'API 2015-04-13361

Page 371: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAuthentification et contrôle d'accès

GetTree

Action(s) : codecommit:GetTree

Autorisation requise pour afficher le contenu d'une arborescence spécifiée dans un référentielCodeCommit à partir de la console CodeCommit. Il s'agit d'une autorisation de stratégie IAMuniquement, pas d'une action d'API que vous pouvez appeler.

Ressource : arn:aws:codecommit:region:account-id:repository-name

Autorisations pour les actions sur les référentiels

Les autorisations suivantes autorisent ou refusent des actions au niveau des référentiels CodeCommit.Ces autorisations s'appliquent uniquement aux actions effectuées avec la console CodeCommit et l'APICodeCommit, ainsi qu'aux commandes exécutées à l'aide de l'interface de ligne de commande AWS. Ellesne concernent pas les actions similaires qui peuvent être effectuées à l'aide du protocole Git.

CodeCommit Opérations d’API et autorisations requises pour les actions sur les référentiels

BatchGetRepositories

Action(s) : codecommit:BatchGetRepositories

Autorisation requise pour obtenir des informations sur plusieurs référentiels CodeCommit dans uncompte AWS. Dans Resource, vous devez spécifier les noms de tous les référentiels CodeCommitpour lesquels un utilisateur se voit autoriser (ou refuser) des informations.

Ressource : arn:aws:codecommit:region:account-id:repository-nameCreateRepository

Action(s) : codecommit:CreateRepository

Autorisation requise pour créer un référentiel CodeCommit.

Ressource : arn:aws:codecommit:region:account-id:repository-nameDeleteRepository

Action(s) : codecommit:DeleteRepository

Autorisation requise pour supprimer un référentiel CodeCommit.

Ressource : arn:aws:codecommit:region:account-id:repository-nameGetRepository

Action(s) : codecommit:GetRepository

Autorisation requise pour obtenir des informations sur un référentiel CodeCommit unique.

Ressource : arn:aws:codecommit:region:account-id:repository-nameListRepositories

Action(s) : codecommit:ListRepositories

Obligatoire pour obtenir une liste des noms et du système IDs de plusieurs CodeCommit référentielspour un AWS compte. La seule valeur autorisée pour Resource pour cette action est tous lesréférentiels (*).

Ressource : *

Version de l'API 2015-04-13362

Page 372: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAuthentification et contrôle d'accès

UpdateRepositoryDescription

Action(s) : codecommit:UpdateRepositoryDescription

Autorisation requise pour modifier la description d'un référentiel CodeCommit.

Ressource : arn:aws:codecommit:region:account-id:repository-nameUpdateRepositoryName

Action(s) : codecommit:UpdateRepositoryName

Autorisation requise pour modifier le nom d'un référentiel CodeCommit. Dans Resource, vous devezpréciser les référentiels CodeCommit qui peuvent être modifiés et les nouveaux noms de référentiel.

Ressource : arn:aws:codecommit:region:account-id:repository-name

Autorisations pour les actions sur les balisesLes autorisations suivantes autorisent ou refusent des actions au niveau des balises AWS pour desressources CodeCommit.

CodeCommit Opérations d’API et autorisations requises pour les actions sur les balises

ListTagsForResource

Action(s) : codecommit:ListTagsForResource

Autorisation requise pour renvoyer des informations sur les balises AWS configurées sur uneressource CodeCommit.

Ressource : arn:aws:codecommit:region:account-id:repository-nameTagResource

Action(s) : codecommit:TagResource

Autorisation requise pour ajouter ou modifier des balises AWS pour un référentiel.

Ressource : arn:aws:codecommit:region:account-id:repository-nameUntagResource

Action(s) : codecommit:UntagResource

Autorisation requise pour supprimer des balises AWS d'une ressource dans CodeCommit.

Ressource : arn:aws:codecommit:region:account-id:repository-name

Autorisations pour les actions sur les déclencheursLes autorisations suivantes autorisent ou refusent des actions au niveau des déclencheurs pour lesréférentiels CodeCommit.

CodeCommit Opérations d’API et autorisations requises pour les actions sur les déclencheurs

GetRepositoryTriggers

Action(s) : codecommit:GetRepositoryTriggers

Autorisation requise pour renvoyer des informations sur les déclencheurs configurés pour unréférentiel.

Version de l'API 2015-04-13363

Page 373: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAuthentification et contrôle d'accès

Ressource : arn:aws:codecommit:region:account-id:repository-namePutRepositoryTriggers

Action(s) : codecommit:PutRepositoryTriggers

Autorisation requise pour créer, modifier ou supprimer des déclencheurs pour un référentiel.

Ressource : arn:aws:codecommit:region:account-id:repository-nameTestRepositoryTriggers

Action(s) : codecommit:TestRepositoryTriggers

Autorisation requise pour tester les fonctionnalités d'un déclencheur de référentiel en envoyant desdonnées à la rubrique ou la fonction configurée pour le déclencheur.

Ressource : arn:aws:codecommit:region:account-id:repository-name

Autorisations pour les actions sur CodePipeline intégrationPour permettre à CodePipeline d'utiliser un référentiel CodeCommit dans une action source pour unpipeline, vous devez accorder toutes les autorisations répertoriées dans le tableau suivant au rôle deservice pour CodePipeline. Si ces autorisations ne sont pas définies dans le rôle de service ou sont définiessur Deny, le pipeline ne s'exécute pas automatiquement lorsqu'une modification est apportée au référentielet les modifications ne peuvent pas être libérées manuellement.

CodeCommit Opérations d’API et autorisations requises pour les actions sur CodePipeline Intégration

GetBranch

Action(s) : codecommit:GetBranch

Autorisation requise pour obtenir les détails relatifs à une branche dans un référentiel CodeCommit.

Ressource : arn:aws:codecommit:region:account-id:repository-nameGetCommit

Action(s) : codecommit:GetCommit

Autorisation requise pour renvoyer des informations sur une validation.

Ressource : arn:aws:codecommit:region:account-id:repository-nameUploadArchive

Action(s) : codecommit:UploadArchive

Autorisation requise pour autoriser le rôle de service pour CodePipeline à charger des modifications deréférentiel dans un pipeline. Il s'agit d'une autorisation de stratégie IAM uniquement, pas d'une actiond'API que vous pouvez appeler.

Ressource : arn:aws:codecommit:region:account-id:repository-nameGetUploadArchiveStatus

Action(s) : codecommit:GetUploadArchiveStatus

Autorisation requise pour déterminer l'état du chargement d'une archive afin de déterminer si elle esten cours, terminée ou annulée, ou si une erreur s'est produite. Il s'agit d'une autorisation de stratégieIAM uniquement, pas d'une action d'API que vous pouvez appeler.

Ressource : arn:aws:codecommit:region:account-id:repository-name

Version de l'API 2015-04-13364

Page 374: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurFonctionnement d'AWS CodeCommit avec IAM

CancelUploadArchive

Action(s) : codecommit:CancelUploadArchive

Autorisation requise pour annuler le chargement d'une archive vers un pipeline. Il s'agit d'uneautorisation de stratégie IAM uniquement, pas d'une action d'API que vous pouvez appeler.

Ressource : arn:aws:codecommit:region:account-id:repository-name

Fonctionnement d'AWS CodeCommit avec IAMAvant d'utiliser IAM pour gérer l'accès à CodeCommit, vous devez comprendre quelles fonctions IAM sontdisponibles et peuvent être utilisées avec CodeCommit. Pour obtenir une vue d'ensemble de la façondont CodeCommit et d'autres services AWS fonctionnent avec IAM, veuillez consulter Services AWS quifonctionnent avec IAM dans le IAM Guide de l'utilisateur.

Rubriques• Clés de condition (p. 365)• Examples (p. 366)

Clés de conditionAdministrators can use AWS JSON policies to specify who has access to what. That is, which principal canperform actions on what resources, and under what conditions.

L'élément Condition (ou le bloc Condition) vous permet de spécifier des conditions lorsqu’uneinstruction est appliquée. L'élément Condition est facultatif. Vous pouvez créer des expressionsconditionnelles qui utilisent des opérateurs de condition, comme égal ou inférieur, pour faire correspondrela condition de la stratégie aux valeurs de la demande.

Si vous spécifiez plusieurs éléments Condition dans une instruction, ou plusieurs clés dans un seulélément Condition, AWS les évalue à l'aide d'une opération AND logique. Si vous spécifiez plusieursvaleurs pour une seule clé de condition, AWS évalue la condition à l'aide d'une opération OR logique.Toutes les conditions doivent être remplies avant que les autorisations associées à l’instruction ne soientaccordées.

Vous pouvez aussi utiliser des variables d’espace réservé quand vous spécifiez des conditions. Parexemple, vous pouvez accorder à un utilisateur IAM l'autorisation d'accéder à une ressource uniquementsi elle est balisée avec son nom d’utilisateur IAM . Pour de plus amples informations, veuillez consulterÉléments des stratégies IAM : variables et balises dans le IAM Guide de l'utilisateur.

AWS est compatible avec les clés de condition globales et les clés de condition spécifiques à un service.Pour voir toutes les clés de condition globales AWS, veuillez consulter Clés de contexte de conditionglobales AWS dans le IAM Guide de l'utilisateur.

CodeCommit définit son propre ensemble de clés de condition et prend également en charge l'utilisationdes clés de condition générales. Pour voir toutes les clés de condition globales AWS, consultez Clés decontexte de condition globales AWS dans le IAM Guide de l'utilisateur.

Certaines actions CodeCommit prennent en charge la clé de condition codecommit:References. Pourobtenir un exemple de stratégie utilisant cette clé, veuillez consulter Exemple 4 : Refuser ou autoriser desactions sur les branches (p. 344).

Pour voir une liste de clés de conditions CodeCommit, consultez Clés de condition pour AWS CodeCommitdans le IAM Guide de l'utilisateur. Pour savoir avec quelles actions et ressources vous pouvez utiliser uneclé de condition, consultez Actions définies par AWS CodeCommit.

Version de l'API 2015-04-13365

Page 375: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurStratégies CodeCommit basées sur les ressources

Examples

Pour voir des exemples de stratégies CodeCommit basées sur l'identité, veuillez consulter Exemples destratégies basées sur l'identité AWS CodeCommit (p. 369).

Stratégies CodeCommit basées sur les ressourcesCodeCommit ne prend pas en charge les stratégies basées sur les ressource.

Autorisation basée sur les balises CodeCommitVous pouvez attacher des balises aux ressources CodeCommit ou transmettre des balises dansune requête à CodeCommit. Pour contrôler l'accès basé sur des balises, vous devez fournir lesinformations des balises dans l'élément de condition d'une stratégie en utilisant les clés de conditioncodecommit:ResourceTag/key-name, aws:RequestTag/key-name ou aws:TagKeys. Pour de plusamples informations sur le balisage des ressources CodeCommit, veuillez consulter Exemple 5 : Refuserou autoriser des actions sur les référentiels avec des balises (p. 346). Pour de plus amples informationssur le balisage des stratégies, veuillez consulter Balisage des ressources AWS.

CodeCommit prend également en charge les stratégies basées sur les balises de session. Pour de plusamples informations, veuillez consulter Balises de session.

Utilisation de balises pour fournir des informations d’identité dansCodeCommitCodeCommit prend en charge l'utilisation de balises de session, qui sont des attributs de paire clé-valeur que vous transmettez lorsque vous assumez un rôle IAM, utilisez les informations d'identificationtemporaires ou fédérez un utilisateur dans AWS Security Token Service (AWS STS). Vous pouvezégalement associer des balises à un utilisateur IAM. Vous pouvez utiliser les informations fourniesdans ces balises pour faciliter l'identification des personnes qui ont effectué une modification ou causéun événement. CodeCommit inclut les valeurs des balises avec les noms de clés suivants dans lesévénements CodeCommit :

Nom de la touche Value

displayName Nom significatif à afficher et à associer àl'utilisateur (par exemple, Mary Major ou SaanviSarkar).

emailAddress L'adresse e-mail que vous souhaitezafficher et associée à l'utilisateur (parexemple, [email protected] [email protected]).

Si ces informations sont fournies, CodeCommit les inclut dans les événements envoyés à AmazonEventBridge et à Amazon CloudWatch Events. Pour plus d'informations, consultez la section SurveillanceCodeCommit événements dans Amazon EventBridge et Amazon CloudWatch Events (p. 374).

Pour utiliser le balisage de session, les rôles doivent avoir des stratégies qui incluent le sts:TagSessionensemble d’autorisations sur Allow. Si vous utilisez un accès fédéré, vous pouvez configurer le nomd’affichage et les informations de balise d’e-mail dans le cadre de votre configuration de. Par exemple, sivous utilisez Azure Active Directory, vous pouvez fournir les informations de demande suivantes :

Version de l'API 2015-04-13366

Page 376: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAutorisation basée sur les balises CodeCommit

Nom de la demande Value

https://aws.amazon.com/SAML/Attributes/PrincipalTag:displayName

user.displayname

https://aws.amazon.com/SAML/Attributes/PrincipalTag:emailAddress

user.mail

Vous pouvez utiliser le AWS CLI pour transmettre les balises de session pour displayName etemailAddress utilisation AssumeRole. Par exemple, un utilisateur qui veut assumer un rôle nomméDeveloper qui veut associer son nom Mary Major peut utiliser le assume-role comme suit :

aws sts assume-role \--role-arn arn:aws:iam::123456789012:role/Developer \--role-session-name Mary-Major \–-tags Key=displayName,Value="Mary Major" Key=emailAddress,Value="[email protected]" \--external-id Example987

Pour plus d’informations, consultez AssumeRole.

Vous pouvez utiliser l'opération AssumeRoleWithSAML pour renvoyer un ensemble d'informationsd'identification temporaires qui incluent les balises displayName et emailAddress. Vous pouvez utiliserces balises lorsque vous accédez aux référentiels CodeCommit. Cela nécessite que votre entreprise ougroupe ait déjà intégré votre solution SAML tierce avec AWS. Si c'est le cas, vous pouvez passer desattributs SAML en tant que balises de session. Par exemple, si vous souhaitez transmettre des attributsd’identité pour un nom d’affichage et une adresse e-mail pour un utilisateur nommé Saanvi Sarkarcomme balises de session :

<Attribute Name="https://aws.amazon.com/SAML/Attributes/PrincipalTag:displayName"> <AttributeValue>Saanvi Sarkar</AttributeValue></Attribute><Attribute Name="https://aws.amazon.com/SAML/Attributes/PrincipalTag:emailAddress"> <AttributeValue>[email protected]</AttributeValue></Attribute>

Pour plus d’informations, consultez Transmission des balises de session à l’aide deAssumeRoleWithSAML.

Vous pouvez utiliser l'opération AssumeRoleWithIdentity pour renvoyer un ensemble d'informationsd'identification temporaires qui incluent les balises displayName et emailAddress. Vous pouvez utiliserces balises lorsque vous accédez aux référentiels CodeCommit. Pour transmettre les balises de sessionà partir de OpenID Connect (OIDC), vous devez inclure les balises de session dans le jeton web JSON(JWT). Par exemple, le jeton JWP décodé utilisé pour appeler AssumeRoleWithWebIdentity qui inclutle displayName et emailAddress balises de session pour un utilisateur nommé Li Juan:

{ "sub": "lijuan", "aud": "ac_oic_client", "jti": "ZYUCeREXAMPLE", "iss": "https://xyz.com", "iat": 1566583294, "exp": 1566583354, "auth_time": 1566583292, "https://aws.amazon.com/tags": { "principal_tags": { "displayName": ["Li Juan"], "emailAddress": ["[email protected]"], },

Version de l'API 2015-04-13367

Page 377: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurRôles IAM CodeCommit

"transitive_tag_keys": [ "displayName", "emailAddress" ] }}

Pour plus d’informations, consultez Transmission des balises de session à l’aide deAssumeRoleWithWebIdentity.

Vous pouvez utiliser l'opération GetFederationToken pour renvoyer un ensemble d'informationsd'identification temporaires qui incluent les balises displayName et emailAddress. Vous pouvez utiliserces balises lorsque vous accédez aux référentiels CodeCommit. Par exemple, pour utiliser l'AWS CLI etobtenir un jeton de fédération qui inclut les balises emailAddress et displayName :

aws sts get-federation-token \--name my-federated-user \–-tags key=displayName,value="Nikhil Jayashankar" key=emailAddress,[email protected]

Pour plus d’informations, consultez Transmission des balises de session à l’aide de GetFederationToken.

Rôles IAM CodeCommitUn rôle IAM est une entité au sein de votre compte AWS qui dispose d'autorisations spécifiques.

Utilisation d'informations d'identification temporaires avecCodeCommitVous pouvez utiliser des informations d'identification temporaires pour vous connecter avec la fédération,assumer un rôle IAM, ou encore pour assumer un rôle entre comptes. Vous obtenez des informationsd’identification de sécurité temporaires en appelant AWS STS Opérations d’API telles que AssumeRole ouGetFederationToken.

CodeCommit prend en charge l'utilisation des informations d'identification temporaires. Pour plusd'informations, consultez la section Connexion à AWS CodeCommit référentiels avec informationsd’identification rotatives (p. 312).

Rôles liés à un serviceLes rôles liés à un service permettent aux services AWS d'accéder à des ressources dans d'autresservices pour effectuer une action en votre nom. Les rôles liés à un service s'affichent dans votre compteIAM et sont détenus par le service. Un administrateur IAM peut consulter, mais ne peut pas modifier lesautorisations concernant les rôles liés à un service.

CodeCommit n'utilise pas de rôles liés au service.

Rôles de serviceCette fonction permet à un service d'endosser un rôle de service en votre nom. Ce rôle autorise le serviceà accéder à des ressources d'autres services pour effectuer une action en votre nom. Les rôles de services'affichent dans votre compte IAM et sont la propriété du compte. Cela signifie qu'un administrateurIAM peut modifier les autorisations associées à ce rôle. Toutefois, une telle action peut perturber le bonfonctionnement du service.

CodeCommit n'utilise pas de rôles de service.

Version de l'API 2015-04-13368

Page 378: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurExemples de stratégies basées sur l'identité

Exemples de stratégies basées sur l'identité AWSCodeCommitPar défaut, les utilisateurs et les rôles IAM ne sont pas autorisés à créer ou à modifier les ressourcesCodeCommit. Ils ne peuvent pas non plus exécuter des tâches à l'aide de AWS Management Console,AWS CLI ou de l'API AWS. Un administrateur IAM doit créer des stratégies IAM autorisant les utilisateurset les rôles à exécuter des opérations d'API spécifiques sur les ressources spécifiées dont ils ont besoin. Ildoit ensuite attacher ces stratégies aux utilisateurs ou aux groupes IAM ayant besoin de ces autorisations.

Pour consulter des exemples de stratégies, veuillez consulter les rubriques suivantes :

• Exemple 1 : Autoriser un utilisateur à effectuer CodeCommit opérations dans une seule régionAWS (p. 342)

• Exemple 2 : Autoriser un utilisateur à utiliser Git pour un référentiel unique (p. 343)• Exemple 3 : Autoriser un utilisateur se connectant à partir d’une plage d’adresses IP spécifiée à accéder

à un référentiel (p. 343)• Exemple 4 : Refuser ou autoriser des actions sur les branches (p. 344)• Exemple 5 : Refuser ou autoriser des actions sur les référentiels avec des balises (p. 346)• Configurer l’accès entre comptes à un AWS CodeCommit du référentiel à l’aide de rôles (p. 150)

Pour apprendre à créer une stratégie basée sur l'identité IAM à l'aide de ces exemples de document destratégie JSON, consultez Création de stratégies dans l'onglet JSON dans le IAM Guide de l'utilisateur.

Rubriques• Bonnes pratiques en matière de stratégies (p. 369)• Utilisation de la console CodeCommit (p. 370)• Autorisation accordée aux utilisateurs pour afficher leurs propres autorisations (p. 370)• Affichage d'un CodeCommit repositories en fonction des balises (p. 371)

Bonnes pratiques en matière de stratégiesLes stratégies basées sur l'identité sont très puissantes. Elles déterminent si une personne peut créer,consulter ou supprimer des ressources CodeCommit dans votre compte. Ces actions peuvent entraîner desfrais pour votre compte AWS. Lorsque vous créez ou modifiez des stratégies basées sur l'identité, suivezces instructions et recommandations :

• Commencer à utiliser les stratégies gérées AWS – Pour commencer à utiliser CodeCommit rapidement,utilisez les stratégies gérées AWS pour accorder à vos employés les autorisations dont ils ont besoin.Ces stratégies sont déjà disponibles dans votre compte et sont gérées et mises à jour par AWS. Pourplus d'informations, consultez la section Mise en route avec les autorisations à l'aide des stratégiesgérées AWS dans le IAM Guide de l'utilisateur.

• Accorder l'accès avec le moindre privilège – Lorsque vous créez des stratégies personnalisées,accordez uniquement les autorisations requises pour exécuter une seule tâche. Commencez avec unminimum d'autorisations et accordez-en d'autres si nécessaire. Cette méthode est plus sûre que decommencer avec des autorisations trop permissives et d'essayer de les restreindre plus tard. Pourplus d'informations, consultez Accorder les privilèges les plus faibles possible dans le IAM Guide del'utilisateur.

• Activer MFA pour les opérations sensibles – Pour plus de sécurité, obligez les utilisateurs IAM àutiliser l'authentification multi-facteurs (MFA) pour accéder à des ressources ou à des opérations d'APIsensibles. Pour plus d'informations, consultez Utilisation de Multi-Factor Authentication (MFA) dans AWSdans le IAM Guide de l'utilisateur.

Version de l'API 2015-04-13369

Page 379: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurExemples de stratégies basées sur l'identité

• Utiliser des conditions de stratégie pour une plus grande sécurité – Tant que cela reste pratique pourvous, définissez les conditions dans lesquelles vos stratégies basées sur l'identité autorisent l'accès àune ressource. Par exemple, vous pouvez rédiger les conditions pour spécifier une plage d'adresses IPautorisées d'où peut provenir une demande. Vous pouvez également écrire des conditions pour autoriserles requêtes uniquement à une date ou dans une plage de temps spécifiée, ou pour imposer l'utilisationde SSL ou de MFA. Pour de plus amples informations, veuillez consulter Éléments de stratégie JSONIAM : condition dans le IAM Guide de l'utilisateur.

Utilisation de la console CodeCommitPour accéder à la console AWS CodeCommit, vous devez détenir un ensemble minimum d'autorisations.Ces autorisations doivent vous permettre de répertorier et d'afficher les informations relatives auxressources CodeCommit de votre compte AWS. Si vous créez une stratégie basée sur l'identité qui est plusrestrictive que l'ensemble minimum d'autorisations requis, la console ne fonctionnera pas comme prévupour les entités (utilisateurs et rôles IAM) tributaires de cette stratégie.

Pour garantir que ces entités pourront continuer à utiliser la console CodeCommit, attachez également lastratégie gérée AWS suivante aux entités. Pour plus d'informations, consultez Ajout d'autorisations à unutilisateur dans le IAM Guide de l'utilisateur :

Pour plus d'informations, consultez la section Utilisation de stratégies basées sur l’identité (IAM ) pourCodeCommit (p. 327).

Vous n'avez pas besoin d'accorder les autorisations minimales de console aux utilisateurs qui effectuentdes appels uniquement vers l'AWS CLI ou l'API AWS. Autorisez plutôt l'accès à uniquement aux actions quicorrespondent à l'opération d'API que vous tentez d'effectuer.

Autorisation accordée aux utilisateurs pour afficher leurs propresautorisationsCet exemple montre comment créer une stratégie qui permet aux utilisateurs IAM d'afficher les stratégiesen ligne et gérées attachées à leur identité d'utilisateur. Cette stratégie inclut les autorisations nécessairespour réaliser cette action sur la console ou par programmation à l'aide de l’AWS CLI ou de l'API AWS.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ViewOwnUserInfo", "Effect": "Allow", "Action": [ "iam:GetUserPolicy", "iam:ListGroupsForUser", "iam:ListAttachedUserPolicies", "iam:ListUserPolicies", "iam:GetUser" ], "Resource": ["arn:aws:iam::*:user/${aws:username}"] }, { "Sid": "NavigateInConsole", "Effect": "Allow", "Action": [ "iam:GetGroupPolicy", "iam:GetPolicyVersion", "iam:GetPolicy", "iam:ListAttachedGroupPolicies", "iam:ListGroupPolicies", "iam:ListPolicyVersions",

Version de l'API 2015-04-13370

Page 380: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurDépannage

"iam:ListPolicies", "iam:ListUsers" ], "Resource": "*" } ]}

Affichage d'un CodeCommit repositories en fonction desbalisesVous pouvez utiliser des conditions dans votre stratégie basée sur l’identité pour contrôler l'accès auxressources CodeCommit en fonction des balises. Pour obtenir un exemple de stratégie illustrant laprocédure à suivre, veuillez consulter Exemple 5 : Refuser ou autoriser des actions sur les référentiels avecdes balises (p. 346).

Pour plus d’informations, consultez IAM Éléments de stratégie JSON : État dans le IAM Guide del'utilisateur.

Résolution des problèmes d'identité et d'accès AWSCodeCommitConsultez les informations suivantes pour identifier et résoudre les problèmes courants que vous pouvezrencontrer lorsque vous travaillez avec CodeCommit et IAM.

Rubriques• Je ne suis pas autorisé à effectuer une action dans CodeCommit (p. 371)• Je ne suis pas autorisé à exécuter iam:PassRole (p. 371)• Je veux afficher mes clés d'accès (p. 372)• Je suis un administrateur et je souhaite autoriser d'autres utilisateurs à accéder à

CodeCommit (p. 372)• Je souhaite permettre à des personnes extérieures à mon compte AWS d’accéder à mes ressources

CodeCommit (p. 372)

Je ne suis pas autorisé à effectuer une action dans CodeCommitSi AWS Management Console indique que vous n'êtes pas autorisé à exécuter une action, vous devezcontacter votre administrateur pour obtenir de l'aide. Votre administrateur est la personne qui vous a fournivotre nom d'utilisateur et votre mot de passe.

Pour plus d'informations, veuillez consulter Autorisations requises pour utiliser la consoleCodeCommit (p. 328)

Je ne suis pas autorisé à exécuter iam:PassRoleSi vous recevez un message d'erreur selon lequel vous n'êtes pas autorisé à exécuter l'actioniam:PassRole, vous devez contacter votre administrateur pour obtenir de l'aide. Votre administrateur estla personne qui vous a fourni votre nom d'utilisateur et votre mot de passe. Demandez à cette personne demettre à jour vos stratégies pour vous permettre de transmettre un rôle à CodeCommit.

Certains services AWS vous permettent de transmettre un rôle existant à ce service, au lieu de créer unnouveau rôle de service ou rôle lié à un service. Pour ce faire, un utilisateur doit disposer des autorisationsnécessaires pour transmettre le rôle au service.

Version de l'API 2015-04-13371

Page 381: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurRésilience

L'exemple d'erreur suivant se produit lorsqu'un utilisateur IAM nommé marymajor essaie d'utiliser laconsole pour exécuter une action dans CodeCommit. Toutefois, l'action nécessite que le service ait desautorisations accordées par un rôle de service. Mary ne dispose pas des autorisations nécessaires pourtransférer le rôle au service.

User: arn:aws:iam::123456789012:user/marymajor is not authorized to perform: iam:PassRole

Dans ce cas, Mary demande à son administrateur de mettre à jour ses stratégies pour lui permettred'exécuter l'action iam:PassRole.

Je veux afficher mes clés d'accèsUne fois que vous avez créé vos clés d'accès IAM, vous pouvez afficher votre ID de clé d'accès à toutmoment. Toutefois, vous ne pouvez pas afficher à nouveau votre clé d'accès secrète. Si vous perdez votreclé d'accès secrète, vous devez créer une nouvelle paire de clés.

Les clés d'accès se composent de deux parties : un ID de clé d'accès (par exemple,AKIAIOSFODNN7EXAMPLE) et une clé d'accès secrète (par exemple, wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY). À l'instar d'un nom d'utilisateur et un mot de passe, vous devez utiliser à la foisl'ID de clé d'accès et la clé d'accès secrète pour authentifier vos demandes. Gérez vos clés d'accès demanière aussi sécurisée que votre nom d'utilisateur et votre mot de passe.

Important

Ne communiquez pas vos clés d'accès à un tiers, même pour qu'il vous aide à trouver votre IDutilisateur canonique. En effet, vous lui accorderiez ainsi un accès permanent à votre compte.

Lorsque vous créez une paire de clé d'accès, enregistrez l'ID de clé d'accès et la clé d'accès secrète dansun emplacement sécurisé. La clé d'accès secrète est accessible uniquement au moment de sa création. Sivous perdez votre clé d'accès secrète, vous devez ajouter de nouvelles clés d'accès pour votre utilisateurIAM. Vous pouvez avoir un maximum de deux clés d'accès. Si vous en avez déjà deux, vous devezsupprimer une paire de clés avant d'en créer une nouvelle. Pour obtenir plus d'informations, consultezGestion des clés d'accès dans le IAM Guide de l'utilisateur.

Je suis un administrateur et je souhaite autoriser d'autresutilisateurs à accéder à CodeCommitPour permettre à d'autres utilisateurs d'accéder à CodeCommit vous devez créer une entité IAM(utilisateur ou rôle) pour la personne ou l'application qui a besoin de l'accès. Ils utiliseront les informationsd'identification de cette entité pour accéder à AWS. Vous devez ensuite associer une stratégie à l'entité quileur accorde les autorisations appropriées dans CodeCommit.

Pour démarrer immédiatement, consultez Création de votre premier groupe et utilisateur délégué IAM dansle IAM Guide de l'utilisateur.

Je souhaite permettre à des personnes extérieures à mon compteAWS d’accéder à mes ressources CodeCommitPour plus d'informations, consultez la section Configurer l’accès entre comptes à un AWS CodeCommit duréférentiel à l’aide de rôles (p. 150).

Résilience dans AWS CodeCommitLe AWS de l’infrastructure mondiale est construite autour AWS Régions et zones de disponibilité. AWS Lesrégions fournissent plusieurs zones de disponibilité physiquement séparées et isolées, qui sont connectées

Version de l'API 2015-04-13372

Page 382: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurSécurité de l'infrastructure

avec une mise en réseau à faible latence, à haut débit et hautement redondante. Avec les zones dedisponibilité, vous pouvez concevoir et exploiter des applications et des bases de données qui basculentautomatiquement d'une zone à l'autre sans interruption. Les zones de disponibilité sont plus hautementdisponibles, tolérantes aux pannes et évolutives que les infrastructures traditionnelles à un ou plusieurscentres de données.

Pour de plus amples d'informations sur les régions et les zones de disponibilité AWS, veuillez consulterInfrastructure mondiale d'AWS .

Sécurité de l'infrastructure dans AWS CodeCommitEn tant que service géré, AWS CodeCommit est protégé par le AWS des procédures de sécurité du réseauglobal qui sont décrites dans le Amazon Web Services: Présentation des processus de sécurité livre blanc.

Vous utilisez les appels d'API publiés dans AWS pour accéder à CodeCommit via le réseau. Les clientsdoivent prendre en charge le protocole TLS (Transport Layer Security) 1.0 ou version ultérieure. Nousrecommandons TLS 1.2 ou version ultérieure. Les clients doivent également prendre en charge les suitesde chiffrement PFS (Perfect Forward Secrecy) comme Ephemeral Diffie-Hellman (DHE) ou Elliptic CurveEphemeral Diffie-Hellman (ECDHE) La plupart des systèmes modernes telles que Java 7 et versionsultérieures prennent en charge ces modes.

Les demandes doivent être signées à l'aide d'un ID de clé d'accès et d'une clé d'accès secrète associée àun mandataire IAM. Vous pouvez également utiliser AWS Security Token Service (AWS STS) pour générerdes informations d'identification de sécurité temporaires et signer les demandes.

Vous pouvez appeler ces opérations d'API à partir de n'importe quel emplacement réseau, maisCodeCommit prend en charge les restrictions basées sur l'adresse IP source. Vous pouvez égalementutiliser CodeCommit pour contrôler l’accès à partir de points de terminaison Amazon Virtual Private Cloud(Amazon VPC) spécifiques ou VPCs. Cela permet d’isoler efficacement l’accès réseau à un CodeCommit àpartir du VPC spécifique uniquement dans le AWS réseau.

Pour de plus amples informations, consultez :

• Exemple 1 : Autoriser un utilisateur à effectuer CodeCommit opérations dans une seule régionAWS (p. 342)

• Exemple 3 : Autoriser un utilisateur se connectant à partir d’une plage d’adresses IP spécifiée à accéderà un référentiel (p. 343)

• Utilisation de AWS CodeCommit avec points de terminaison de VPC d’interface (p. 430)

Version de l'API 2015-04-13373

Page 383: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurSurveillance CodeCommit événements

Surveillance des AWS CodeCommitLa surveillance est un enjeu important pour assurer la fiabilité, la disponibilité et les performancesd'CodeCommit et de vos autres solutions AWS. AWS fournit les outils de surveillance suivants poursurveiller CodeCommit, signaler les problèmes et déclencher des actions automatiques, si nécessaire :

• Vous pouvez utiliser Amazon EventBridge pour automatiser vos services AWS et répondreautomatiquement à des événements système tels que des problèmes de disponibilité d'applicationou des modifications de ressource. Les événements des services AWS sont fournis à EventBridgepresque en temps réel. Vous pouvez écrire des règles simples pour préciser les événements qui vousintéressent et les actions automatisées à effectuer quand un événement correspond à une règle. Pourde plus amples informations, veuillez consulter Guide de l'utilisateur Amazon EventBridge et SurveillanceCodeCommit événements dans Amazon EventBridge et Amazon CloudWatch Events (p. 374).

• Amazon CloudWatch Events fournit en temps quasi réel un flux d'événements système qui décriventles modifications apportées aux ressources AWS. CloudWatch Events permet de procéder à descalculs automatisés basés sur les événements, car vous pouvez écrire des règles qui surveillentcertains événements et déclencher des actions automatiques dans d'autres services AWSlorsque ces événements se produisent. Pour plus d'informations, consultez Guide de l'utilisateurAmazon CloudWatch Events et Surveillance CodeCommit événements dans Amazon EventBridge etAmazon CloudWatch Events (p. 374).

• Amazon CloudWatch Logs vous permet de surveiller, de stocker et d'accéder à vos fichiers journauxà partir d'instances CloudTrail et d'autres sources. CloudWatch Logs peut surveiller les informationscontenues dans les fichiers journaux et vous informe lorsque certains seuils sont dépassés. Vous pouvezégalement archiver vos données de journaux dans une solution de stockage hautement durable. Pour deplus amples informations, veuillez consulter Amazon CloudWatch Logs User Guide.

• AWS CloudTrail capture les appels d'API et les événements associés créés par ou au nom de votrecompte AWS et livre les fichiers journaux dans un compartiment Amazon S3 que vous spécifiez. Vouspouvez identifier les utilisateurs et les comptes qui ont appelé AWS, l'adresse IP source d'originedes appels, ainsi que le moment où les appels ont eu lieu. Pour plus d'informations, consultezAWS CloudTrail User Guide et Journalisation des appels d'API AWS CodeCommit avec AWSCloudTrail (p. 393).

Surveillance CodeCommit événements dansAmazon EventBridge etAmazon CloudWatch Events

Vous pouvez surveiller les événements AWS CodeCommit dans EventBridge, qui fournit un flux dedonnées en temps réel à partir de vos propres applications, applications Software-as-a-Service (SaaS)et services AWS. EventBridge achemine ces données vers des cibles telles que AWS Lambda etAmazon Simple Notification Service. Ces événements sont les mêmes que ceux qui apparaissent dansAmazon CloudWatch Events, ce qui fournit un flux quasi en temps réel d'événements système décrivant leschangements dans les ressources AWS.

Les exemples suivants montrent les événements pour CodeCommit.

Note

CodeCommit prend en charge la fourniture des informations displayName etemailAddressincluses dans les balises de session dans les événements, si cette information est

Version de l'API 2015-04-13374

Page 384: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉvénement referenceCreated

disponible. Pour de plus amples informations, veuillez consulter Balises de session et Utilisationde balises pour fournir des informations d’identité dans CodeCommit (p. 366).

Rubriques• Événement referenceCreated (p. 375)• Événement referenceUpdated (p. 376)• Événement referenceDeleted (p. 376)• Événement unreferencedMergeCommitCreated (p. 377)• Événement commentOnCommitCreated (p. 377)• Événement commentOnCommitUpdated (p. 378)• Événement commentOnPullRequestCreated (p. 378)• Événement commentOnPullRequestUpdated (p. 379)• Événement pullRequestCreated (p. 380)• Événement pullRequestSourceBranchUpdated (p. 380)• Événement pullRequestStatusChanged (p. 381)• Événement pullRequestMergeStatusUpdated (p. 382)• Événement approvalRuleTemplateCreated (p. 382)• Événement approvalRuleTemplateUpdated (p. 383)• Événement approvalRuleTemplateDeleted (p. 384)• Événement approvalRuleTemplateAssociatedWithRepository (p. 384)• Événement approvalRuleTemplateDisassociatedWithRepository (p. 385)• Événement approvalRuleTemplateBatchAssociatedWithRepositories (p. 385)• Événement approvalRuleTemplateBatchDisassociatedFromRepositories (p. 386)• Événement pullRequestApprovalRuleCreated (p. 387)• Événement pullRequestApprovalRuleDeleted (p. 387)• Événement pullRequestApprovalRuleOverridden (p. 388)• Événement pullRequestApprovalStateChanged (p. 390)• Événement pullRequestApprovalRuleUpdated (p. 391)• Événement reactionCreated (p. 392)• Événement reactionUpdated (p. 392)

Événement referenceCreatedDans cet exemple d'événement, une branche nommée myBranch a été créée dans un référentiel nomméMyDemoRepo.

{ "version": "0", "id": "01234567-EXAMPLE", "detail-type": "CodeCommit Repository State Change", "source": "aws.codecommit", "account": "123456789012", "time": "2019-06-12T10:23:43Z", "region": "us-east-2", "resources": [ "arn:aws:codecommit:us-east-2:123456789012:MyDemoRepo" ], "detail": { "event": "referenceCreated", "repositoryName": "MyDemoRepo",

Version de l'API 2015-04-13375

Page 385: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉvénement referenceUpdated

"repositoryId": "12345678-1234-5678-abcd-12345678abcd", "referenceType": "branch", "referenceName": "myBranch", "referenceFullName": "refs/heads/myBranch", "commitId": "3e5983DESTINATION" } }

Événement referenceUpdatedDans cet exemple d'événement, une branche nommée myBranch a été mise à jour par une fusion dans unréférentiel nommé MyDemoRepo.

{ "version": "0", "id": "01234567-EXAMPLE", "detail-type": "CodeCommit Repository State Change", "source": "aws.codecommit", "account": "123456789012", "time": "2019-06-12T10:23:43Z", "region": "us-east-2", "resources": [ "arn:aws:codecommit:us-east-2:123456789012:MyDemoRepo" ], "detail": { "event": "referenceUpdated", "repositoryName": "MyDemoRepo", "repositoryId": "12345678-1234-5678-abcd-12345678abcd", "referenceType": "branch", "referenceName": "myBranch", "referenceFullName": "refs/heads/myBranch", "commitId": "7f0103fMERGE", "oldCommitId": "3e5983DESTINATION", "baseCommitId": "3e5a9bf1BASE", "sourceCommitId": "26a8f2SOURCE", "destinationCommitId": "3e5983DESTINATION", "mergeOption": "THREE_WAY_MERGE", "conflictDetailsLevel": "LINE_LEVEL", "conflictResolutionStrategy": "AUTOMERGE" }}

Événement referenceDeletedDans cet exemple d'événement, une branche nommée myBranch a été supprimée dans un référentielnommé MyDemoRepo.

{ "version": "0", "id": "01234567-EXAMPLE", "detail-type": "CodeCommit Repository State Change", "source": "aws.codecommit", "account": "123456789012", "time": "2019-06-12T10:23:43Z", "region": "us-east-2", "resources": [ "arn:aws:codecommit:us-east-2:123456789012:MyDemoRepo" ], "detail": { "event": "referenceDeleted", "repositoryName": "MyDemoRepo",

Version de l'API 2015-04-13376

Page 386: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉvénement unreferencedMergeCommitCreated

"repositoryId": "12345678-1234-5678-abcd-12345678abcd", "referenceType": "branch", "referenceName": "myBranch", "referenceFullName": "refs/heads/myBranch", "oldCommitId": "26a8f2EXAMPLE" }}

Événement unreferencedMergeCommitCreatedDans cet exemple d'événement, une validation de fusion non référencé a été créée dans un référentielnommé MyDemoRepo.

{ "version": "0", "id": "01234567-EXAMPLE", "detail-type": "CodeCommit Repository State Change", "source": "aws.codecommit", "account": "123456789012", "time": "2019-06-12T10:23:43Z", "region": "us-east-2", "resources": [ "arn:aws:codecommit:us-east-2:123456789012:MyDemoRepo" ], "detail": { "event": "unreferencedMergeCommitCreated", "repositoryName": "MyDemoRepo", "repositoryId": "12345678-1234-5678-abcd-12345678abcd", "commitId": "7f0103fMERGE", "baseCommitId": "3e5a9bf1BASE", "sourceCommitId": "26a8f2SOURCE", "destinationCommitId": "3e5983DESTINATION", "mergeOption": "SQUASH_MERGE", "conflictDetailsLevel": "LINE_LEVEL", "conflictResolutionStrategy": "AUTOMERGE" }}

Événement commentOnCommitCreatedDans cet exemple d'événement, un utilisateur fédéré nommé Mary_Major a commenté une validation.Dans cet exemple, son fournisseur d’identité fédéré a configuré des balises de session pour displayNameet emailAddress. Ces informations sont incluses dans l’événement.

{ "version": "0", "id": "e9dce2e9-EXAMPLE", "detail-type": "CodeCommit Comment on Commit", "source": "aws.codecommit", "account": "123456789012", "time": "2019-09-29T20:20:39Z", "region": "us-east-2", "resources": [ "arn:aws:codecommit:us-east-2:123456789012:MyDemoRepo" ], "detail": { "beforeCommitId": "3c5dEXAMPLE", "repositoryId": "7dd1EXAMPLE...", "inReplyTo": "695bEXAMPLE...", "notificationBody": "A comment event occurred in the following repository: MyDemoRepo. The display name for the user is Mary Major. The email address for

Version de l'API 2015-04-13377

Page 387: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉvénement commentOnCommitUpdated

the user is [email protected]. The user arn:aws:sts::123456789012:federated-user/Mary_Major made a comment. The comment was made on the following comment ID: 463bEXAMPLE.... For more information, go to the AWS CodeCommit console at https://us-east-2.console.aws.amazon.com/codecommit/home?region=us-east-2#/repository/MyDemoRepo/compare/3c5dEXAMPLE...f4d5EXAMPLE#463bEXAMPLE....", "commentId": "463bEXAMPLE...", "afterCommitId": "f4d5EXAMPLE", "event": "commentOnCommitCreated", "repositoryName": "MyDemoRepo", "callerUserArn": "arn:aws:sts::123456789012:federated-user/Mary_Major", "displayName": "Mary Major", "emailAddress": "[email protected]" }}

Événement commentOnCommitUpdatedDans cet exemple d'événement, un utilisateur qui a assumé un rôle nommé Admin avec un nom desession Mary_Major a modifié un commentaire sur une validation. Dans cet exemple, le rôle a inclus lesbalises de session configurées pour displayName et emailAddress. Ces informations sont inclusesdans l’événement.

{ "version": "0", "id": "98377d67-EXAMPLE", "detail-type": "CodeCommit Comment on Commit", "source": "aws.codecommit", "account": "123456789012", "time": "2019-02-09T07:15:16Z", "region": "us-east-2", "resources": [ "arn:aws:codecommit:us-east-2:123456789012:MyDemoRepo" ], "detail": { "afterCommitId": "53812581", "beforeCommitId": "03314446", "callerUserArn": "arn:aws:sts::123456789012:assumed-role/Admin/Mary_Major", "commentId": "a7e5471e-EXAMPLE", "event": "commentOnCommitUpdated", "inReplyTo": "bdb07d47-EXAMPLE", "notificationBody": "A comment event occurred in the following AWS CodeCommit repository: MyDemoRepo. The display name for the user is Mary Major. The email address for the user is [email protected]. The user arn:aws:sts::123456789012:federated-user/Mary_Major updated a comment or replied to a comment. The comment was made on the following comment ID: bdb07d47-6fe9-47b0-a839-b93cc743b2ac:468cd1cb-2dfb-4f68-9636-8de52431d1d6. For more information, go to the AWS CodeCommit console https://us-east-2.console.aws.amazon.com/codesuite/codecommit/repositories/MyDemoRepo/compare/0331444646178429589969823096709582251768/.../5381258150293783361471680277136017291382?region\u003dus-east-2", "repositoryId": "12345678-1234-1234-1234-123456789012", "repositoryName": "MyDemoRepo", "displayName": "Mary Major", "emailAddress": "[email protected]" }}

Événement commentOnPullRequestCreatedDans cet exemple d'événement, un utilisateur fédéré nommé Saanvi_Sarkar a commenté une demanded'extraction. Dans cet exemple, son fournisseur d’identité fédéré a configuré des balises de session pourdisplayName et emailAddress. Ces informations sont incluses dans l’événement.

Version de l'API 2015-04-13378

Page 388: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉvénement commentOnPullRequestUpdated

{ "version": "0", "id": "98377d67-EXAMPLE", "detail-type": "CodeCommit Comment on Pull Request", "source": "aws.codecommit", "account": "123456789012", "time": "2019-02-09T07:15:16Z", "region": "us-east-2", "resources": [ "arn:aws:codecommit:us-east-2:123456789012:MyDemoRepo" ], "detail": { "beforeCommitId": "3c5dEXAMPLE", "repositoryId": "7dd1EXAMPLE...", "inReplyTo": "695bEXAMPLE...", "notificationBody": "A comment event occurred in the following AWS CodeCommit repository: MyDemoRepo. The display name for the user is Saanvi Sarkar. The email address for the user is [email protected]. The user arn:aws:sts::123456789012:federated-user/Saanvi_Sarkar made a comment. The comment was made on the following Pull Request: 201. For more information, go to the AWS CodeCommit console https://us-east-2.console.aws.amazon.com/codecommit/home?region=us-east-2#/repository/MyDemoRepo/pull-request/201/activity#3276EXAMPLE...", "commentId": "463bEXAMPLE...", "afterCommitId": "f4d5EXAMPLE", "event": "commentOnPullRequestCreated", "repositoryName": "MyDemoRepo", "callerUserArn": "arn:aws:sts::123456789012:federated-user/Saanvi_Sarkar", "pullRequestId": "201", "displayName": "Saanvi Sarkar", "emailAddress": "[email protected]" }}

Événement commentOnPullRequestUpdatedDans cet exemple d'événement, un utilisateur fédéré nommé Saanvi_Sarkar a modifié un commentairesur une demande d'extraction. Dans cet exemple, son fournisseur d’identité fédéré a configuré des balisesde session pour displayName et emailAddress. Ces informations sont incluses dans l’événement.

{ "version": "0", "id": "98377d67-EXAMPLE", "detail-type": "CodeCommit Comment on Pull Request", "source": "aws.codecommit", "account": "123456789012", "time": "2019-02-09T07:15:16Z", "region": "us-east-2", "resources": [ "arn:aws:codecommit:us-east-2:123456789012:MyDemoRepo" ], "detail": { "afterCommitId": "96814774EXAMPLE", "beforeCommitId": "6031971EXAMPLE", "callerUserArn": "arn:aws:sts::123456789012:federated-user/Saanvi_Sarkar", "commentId": "40cb52f0-EXAMPLE", "event": "commentOnPullRequestUpdated", "inReplyTo": "1285e713-EXAMPLE", "notificationBody": "A comment event occurred in the following AWS CodeCommit repository: MyDemoRepo. The display name for the user is Saanvi Sarkar. The email address for the user is [email protected]. The user arn:aws:sts::123456789012:federated-user/Saanvi_Sarkar updated a comment or replied to a comment. The comment was made on the following Pull Request: 1. For more information, go to the AWS CodeCommit console

Version de l'API 2015-04-13379

Page 389: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉvénement pullRequestCreated

https://us-east-2.console.aws.amazon.com/codesuite/codecommit/repositories/MyDemoRepo/pull-requests/1/activity#40cb52f0-aac7-4c43-b771-601eff02EXAMPLE", "pullRequestId": "1", "repositoryId": "12345678-1234-1234-1234-123456789012", "repositoryName": "MyDemoRepo" }}

Événement pullRequestCreatedDans cet exemple d’événement, une demande d’extraction a été créée dans un référentiel nomméMyDemoRepo par un utilisateur qui a assumé un rôle nommé Admin avec un nom de session deMary_Major. Aucune information de balise de session n’a été fournie, de sorte que les informations nesont pas incluses dans l’événement.

{ "version": "0", "id": "98377d67-EXAMPLE", "detail-type": "CodeCommit Pull Request State Change", "source": "aws.codecommit", "account": "123456789012", "time": "2019-02-09T07:15:16Z", "region": "us-east-2", "resources": [ "arn:aws:codecommit:us-east-2:123456789012:MyDemoRepo" ], "detail": { "author": "arn:aws:sts::123456789012:assumed-role/Admin/Mary_Major", "callerUserArn": "arn:aws:sts::123456789012:assumed-role/Admin/Mary_Major", "creationDate": "Tue Feb 9 2019 10:18:42 PDT ", "description": "An example description.", "destinationCommit": "12241970EXAMPLE", "destinationReference": "refs/heads/master", "event": "pullRequestCreated", "isMerged": "False", "lastModifiedDate": "Tue Feb 9 2019 10:18:42 PDT", "notificationBody": "A pull request event occurred in the following AWS CodeCommit repository: MyDemoRepo. User: arn:aws:sts::123456789012:assumed-role/Admin/Mary_Major. Event: Created. The pull request was created with the following information: Pull Request ID as 1 and title as My Example Pull Request. For more information, go to the AWS CodeCommit console https://us-east-2.console.aws.amazon.com/codesuite/codecommit/repositories/MyDemoRepo/pull-requests/1", "pullRequestId": "1", "pullRequestStatus": "Open", "repositoryNames": ["MyDemoRepo"], "revisionId": "bdc0cb9bEXAMPLE", "sourceCommit": "2774290EXAMPLE", "sourceReference": "refs/heads/test-branch", "title": "My Example Pull Request" }}

Événement pullRequestSourceBranchUpdatedDans cet exemple d'événement, un utilisateur qui a assumé un rôle nommé Admin avec le nom de sessionMary_Major a mis à jour la branche source nommée test-branch pour une demande d'extraction avecl'ID égal à 1.

{ "version": "0", "id": "98377d67-EXAMPLE",

Version de l'API 2015-04-13380

Page 390: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉvénement pullRequestStatusChanged

"detail-type": "CodeCommit Pull Request State Change", "source": "aws.codecommit", "account": "123456789012", "time": "2019-02-09T07:15:16Z", "region": "us-east-2", "resources": [ "arn:aws:codecommit:us-east-2:123456789012:MyDemoRepo" ], "detail": { "author": "arn:aws:sts::123456789012:assumed-role/Admin/Mary_Major", "callerUserArn": "arn:aws:sts::123456789012:assumed-role/Admin/Mary_Major", "creationDate": "Tue Feb 9 2019 10:18:42 PDT", "description": "An example description.", "destinationCommit": "7644990EXAMPLE", "destinationReference": "refs/heads/master", "event": "pullRequestSourceBranchUpdated", "isMerged": "False", "lastModifiedDate": "Tue Feb 9 2019 10:18:42 PDT", "notificationBody": "A pull request event occurred in the following AWS CodeCommit repository: MyDemoRepo. User: arn:aws:sts::123456789012:assumed-role/Admin/Mary_Major. Event: Updated. The user updated the following pull request: 1. The pull request was updated with one or more commits to the source branch: test-branch. For more information, go to the AWS CodeCommit console https://us-east-2.console.aws.amazon.com/codesuite/codecommit/repositories/MyDemoRepo/pull-requests/1?region\u003dus-east-2", "pullRequestId": "1", "pullRequestStatus": "Open", "repositoryNames": ["MyDemoRepo"], "revisionId": "bdc0cb9b4EXAMPLE", "sourceCommit": "64875001EXAMPLE", "sourceReference": "refs/heads/test-branch", "title": "My Example Pull Request" }}

Événement pullRequestStatusChangedDans cet exemple d'événement, un utilisateur qui a assumé un rôle nommé Admin avec le nom de sessionMary_Major a fermé une demande d'extraction avec l'ID égal à 1. La demande d'extraction n'a pas étéfusionnée.

{ "version": "0", "id": "98377d67-EXAMPLE", "detail-type": "CodeCommit Pull Request State Change", "source": "aws.codecommit", "account": "123456789012", "time": "2019-02-09T07:15:16Z", "region": "us-east-2", "resources": [ "arn:aws:codecommit:us-east-2:123456789012:MyDemoRepo" ], "detail": { "author": "arn:aws:sts::123456789012:assumed-role/Admin/Mary_Major", "callerUserArn": "arn:aws:sts::123456789012:assumed-role/Admin/Mary_Major", "creationDate": "Tue Jun 18 10:34:20 PDT 2019", "description": "An example description.", "destinationCommit": "95149731EXAMPLE", "destinationReference": "refs/heads/master", "event": "pullRequestStatusChanged", "isMerged": "False", "lastModifiedDate": "Tue Jun 18 10:34:20 PDT 2019", "notificationBody": "A pull request event occurred in the following AWS CodeCommit repository: MyDemoRepo. arn:aws:sts::123456789012:assumed-role/Admin/Mary_Major

Version de l'API 2015-04-13381

Page 391: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉvénement pullRequestMergeStatusUpdated

updated the following PullRequest 1. The pull request status has been updated. The status is closed. For more information, go to the AWS CodeCommit console https://us-east-2.console.aws.amazon.com/codesuite/codecommit/repositories/MyDemoRepo/pull-requests/1?region\u003dus-east-2", "pullRequestId": "1", "pullRequestStatus": "Closed", "repositoryNames": ["MyDemoRepo"], "revisionId": "bdc0cb9bEXAMPLE", "sourceCommit": "4409936EXAMPLE", "sourceReference": "refs/heads/test-branch", "title": "My Example Pull Request" }}

Événement pullRequestMergeStatusUpdatedDans cet exemple d'événement, un utilisateur qui a assumé un rôle nommé Admin avec le nom de sessionMary_Major a fusionné une demande d'extraction avec l'ID égal à 1.

{ "version": "0", "id": "01234567-0123-0123-0123-012345678901", "detail-type": "CodeCommit PullRequest State Change", "source": "aws.codecommit", "account": "123456789012", "time": "2019-06-12T10:23:43Z", "region": "us-east-2", "resources": [ "arn:aws:codecommit:us-east-2:123456789012:MyDemoRepo" ], "detail": { "author": "arn:aws:sts::123456789012:assumed-role/Admin/Mary_Major", "callerUserArn": "arn:aws:sts::123456789012:assumed-role/Admin/Mary_Major", "creationDate": "Mon Mar 11 14:42:31 PDT 2019", "description": "An example description.", "destinationCommit": "4376719EXAMPLE", "destinationReference": "refs/heads/master", "event": "pullRequestMergeStatusUpdated", "isMerged": "True", "lastModifiedDate": "Mon Mar 11 14:42:31 PDT 2019", "mergeOption": "FAST_FORWARD_MERGE", "notificationBody": "A pull request event occurred in the following AWS CodeCommit repository: MyDemoRepo. arn:aws:sts::123456789012:assumed-role/Admin/Mary_Major updated the following PullRequest 1. The pull request merge status has been updated. The status is merged. For more information, go to the AWS CodeCommit console https://us-east-2.console.aws.amazon.com/codesuite/codecommit/repositories/MyDemoRepo/pull-requests/1?region\u003dus-east-2", "pullRequestId": "1", "pullRequestStatus": "Closed", "repositoryNames": ["MyDemoRepo"], "revisionId": "bdc0cb9beEXAMPLE", "sourceCommit": "0701696EXAMPLE", "sourceReference": "refs/heads/test-branch", "title": "My Example Pull Request" }}

Événement approvalRuleTemplateCreatedDans cet exemple d'événement, un utilisateur avec le nom d'utilisateur IAM Mary_Major a créé un modèlede règle d'approbation nommé 2-approvers-required-for-master.

Version de l'API 2015-04-13382

Page 392: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉvénement approvalRuleTemplateUpdated

{ "version": "0", "id": "f7702227-EXAMPLE", "detail-type": "CodeCommit Approval Rule Template Change", "source": "aws.codecommit", "account": "123456789012", "time": "2019-11-06T19:02:27Z", "region": "us-east-2", "resources": [], "detail": { "approvalRuleTemplateContentSha256": "f742eebbEXAMPLE", "approvalRuleTemplateId": "d7385967-EXAMPLE", "approvalRuleTemplateName": "2-approvers-required-for-master", "callerUserArn": "arn:aws:iam::123456789012:user/Mary_Major", "creationDate": "Wed Nov 06 19:02:14 UTC 2019", "event": "approvalRuleTemplateCreated", "lastModifiedDate": "Wed Nov 06 19:02:14 UTC 2019", "notificationBody": "A approval rule template event occurred in the following AWS CodeCommit account: 123456789012. User: arn:aws:iam::123456789012:user/Mary_Major. Additional information: An approval rule template with the following name has been created: 2-approvers-required-for-master. The ID of the created template is: d7385967-EXAMPLE. For more information, go to the AWS CodeCommit console.", "repositories": {} }}

Événement approvalRuleTemplateUpdatedDans cet exemple, un utilisateur avec un IAM nom d’utilisateur de Mary_Major a modifié un modèle derègle d’approbation nommé 2-approvers-required-for-master. Le modèle de règle d’approbationn’est associé à aucun référentiel.

{ "version": "0", "id": "66403118-EXAMPLE", "detail-type": "CodeCommit Approval Rule Template Change", "source": "aws.codecommit", "account": "123456789012", "time": "2019-11-12T23:03:30Z", "region": "us-east-2", "resources": [ ], "detail": { "approvalRuleTemplateContentSha256": "f742eebbEXAMPLE", "approvalRuleTemplateId": "c9d2b844-EXAMPLE", "approvalRuleTemplateName": "2-approvers-required-for-master", "callerUserArn": "arn:aws:iam::123456789012:user\Mary_Major", "creationDate": "Tue Nov 12 23:03:06 UTC 2019", "event": "approvalRuleTemplateDeleted", "lastModifiedDate": "Tue Nov 12 23:03:20 UTC 2019", "notificationBody": "A approval rule template event occurred in the following AWS CodeCommit account: 123456789012. User: arn:aws:iam::123456789012:user\Mary_Major. Additional information: An approval rule template with the following name has been deleted: 2-approvers-required-for-master. The ID of the updated template is: c9d2b844-EXAMPLE. For more information, go to the AWS CodeCommit console.", "repositories": {} }}

Version de l'API 2015-04-13383

Page 393: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉvénement approvalRuleTemplateDeleted

Événement approvalRuleTemplateDeletedDans cet exemple, un utilisateur avec un IAM nom d’utilisateur de Mary_Major a supprimé un modèle derègle d’approbation nommé 2-approvers-required-for-master. Le modèle de règle d’approbationn’est associé à aucun référentiel.

{ "version": "0", "id": "66403118-EXAMPLE", "detail-type": "CodeCommit Approval Rule Template Change", "source": "aws.codecommit", "account": "123456789012", "time": "2019-11-12T23:03:30Z", "region": "us-east-2", "resources": [], "detail": { "approvalRuleTemplateContentSha256": "4f3de6632EXAMPLE", "approvalRuleTemplateId": "c9d2b844-EXAMPLE", "approvalRuleTemplateName": "2-approvers-required-for-master", "callerUserArn": "arn:aws:iam::123456789012:user\Mary_Major", "creationDate": "Tue Nov 12 23:03:06 UTC 2019", "event": "approvalRuleTemplateUpdated", "lastModifiedDate": "Tue Nov 12 23:03:20 UTC 2019", "notificationBody": "A approval rule template event occurred in the following AWS CodeCommit account: 123456789012. User: arn:aws:iam::123456789012:user\Mary_Major. Additional information: An approval rule template with the following name has been updated: 2-approvers-required-for-master. The ID of the updated template is: c9d2b844-EXAMPLE. The after rule template content SHA256 is 4f3de663EXAMPLE. For more information, go to the AWS CodeCommit console.", "repositories": {} }}

ÉvénementapprovalRuleTemplateAssociatedWithRepositoryDans cet exemple d'événement, un utilisateur avec le nom d'utilisateur IAM Mary_Major a associé unmodèle de règle d'approbation nommé 2-approvers-required-for-master à un référentiel nomméMyDemoRepo.

{ "version": "0", "id": "bef3a385-EXAMPLE", "detail-type": "CodeCommit Approval Rule Template Change", "source": "aws.codecommit", "account": "123456789012", "time": "2019-11-06T19:02:27Z", "region": "us-east-2", "resources": [ "arn:aws:codecommit:us-east-2:123456789012:MyDemoRepo" ], "detail": { "approvalRuleTemplateContentSha256": "f742eebbEXAMPLE", "approvalRuleTemplateId": "d7385967-EXAMPLE", "approvalRuleTemplateName": "2-approvers-required-for-master", "callerUserArn": "arn:aws:iam::123456789012:user/Mary_Major", "creationDate": "Wed Nov 06 19:02:14 UTC 2019", "event": "approvalRuleTemplateAssociatedWithRepository", "lastModifiedDate": "Wed Nov 06 19:02:14 UTC 2019",

Version de l'API 2015-04-13384

Page 394: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉvénement

approvalRuleTemplateDisassociatedWithRepository

"notificationBody": "A approval rule template event occurred in the following AWS CodeCommit account: 123456789012. User: arn:aws:iam::123456789012:user\Mary_Major. Additional information: An approval rule template has been associated with the following repository: [MyDemoRepo]. For more information, go to the AWS CodeCommit console.", "repositories": { "MyDemoRepo": "12345678-1234-5678-abcd-12345678abcd" } }}

ÉvénementapprovalRuleTemplateDisassociatedWithRepositoryDans cet exemple d'événement, un utilisateur avec le nom d'utilisateur IAM Mary_Major a annulél'association d'un modèle de règle d'approbation nommé 2-approvers-required-for-master d'unréférentiel nommé MyDemoRepo.

{ "version": "0", "id": "ea1c6d73-EXAMPLE", "detail-type": "CodeCommit Approval Rule Template Change", "source": "aws.codecommit", "account": "123456789012", "time": "2019-11-06T19:02:27Z", "region": "us-east-2", "resources": [ "arn:aws:codecommit:us-east-2:123456789012:MyDemoRepo" ], "detail": { "approvalRuleTemplateContentSha256": "f742eebbEXAMPLE", "approvalRuleTemplateId": "d7385967-EXAMPLE", "approvalRuleTemplateName": "2-approvers-required-for-master", "callerUserArn": "arn:aws:iam::123456789012:user/Mary_Major", "creationDate": "Wed Nov 06 19:02:14 UTC 2019", "event": "approvalRuleTemplateDisassociatedFromRepository", "lastModifiedDate": "Wed Nov 06 19:02:14 UTC 2019", "notificationBody": "A approval rule template event occurred in the following AWS CodeCommit account: 123456789012. User: arn:aws:iam::123456789012:user/Mary_Major. Additional information: An approval rule template has been disassociated from the following repository: [MyDemoRepo]. For more information, go to the AWS CodeCommit console.", "repositories": { "MyDemoRepo": "92ca7bf2-d878-49ed-a994-336a6cc7c574" } }}

ÉvénementapprovalRuleTemplateBatchAssociatedWithRepositoriesDans cet exemple d'événement, un utilisateur avec le nom d'utilisateur IAM Mary_Major a associé unmodèle de règle d'approbation nommé 2-approvers-required-for-master à un référentiel nomméMyDemoRepo et à un référentiel nommé MyTestRepo.

{ "version": "0", "id": "0f861e5b-EXAMPLE", "detail-type": "CodeCommit Approval Rule Template Change",

Version de l'API 2015-04-13385

Page 395: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉvénement

approvalRuleTemplateBatchDisassociatedFromRepositories

"source": "aws.codecommit", "account": "123456789012", "time": "2019-11-12T23:39:09Z", "region": "us-east-2", "resources": [ "arn:aws:codecommit:us-east-2:123456789012:MyDemoRepo" ], "detail": { "approvalRuleTemplateContentSha256": "f742eebbEXAMPLE", "approvalRuleTemplateId": "c71c1fe0-EXAMPLE", "approvalRuleTemplateName": "2-approvers-required-for-master", "callerUserArn": "arn:aws:iam::123456789012:user/Mary_Major", "creationDate": "Tue Nov 12 23:38:57 UTC 2019", "event": "batchAssociateApprovalRuleTemplateWithRepositories", "lastModifiedDate": "Tue Nov 12 23:38:57 UTC 2019", "notificationBody": "A approval rule template event occurred in the following AWS CodeCommit account: 123456789012. User: arn:aws:iam::123456789012:user\Mary_Major. Additional information: An approval rule template has been batch associated with the following repository names: [MyDemoRepo, MyTestRepo]. For more information, go to the AWS CodeCommit console.", "repositories": { "MyDemoRepo", "MyTestRepo" } }}

ÉvénementapprovalRuleTemplateBatchDisassociatedFromRepositoriesDans cet exemple d'événement, un utilisateur avec le nom d'utilisateur IAM Mary_Major a annulél'association d'un modèle de règle d'approbation nommé 2-approvers-required-for-master d'unréférentiel nommé MyDemoRepo et d'un référentiel nommé MyTestRepo.

{ "version": "0", "id": "e08fc996-EXAMPLE", "detail-type": "CodeCommit Approval Rule Template Change", "source": "aws.codecommit", "account": "123456789012", "time": "2019-11-12T23:39:09Z", "region": "us-east-2", "resources": [ "arn:aws:codecommit:us-east-2:123456789012:MyDemoRepo" ], "detail": { "approvalRuleTemplateContentSha256": "f742eebbEXAMPLE", "approvalRuleTemplateId": "c71c1fe0-ff91-4db4-9a45-a86a7b6c474f", "approvalRuleTemplateName": "2-approvers-required-for-master", "callerUserArn": "arn:aws:iam::123456789012:user/Mary_Major", "creationDate": "Tue Nov 12 23:38:57 UTC 2019", "event": "batchDisassociateApprovalRuleTemplateFromRepositories", "lastModifiedDate": "Tue Nov 12 23:38:57 UTC 2019", "notificationBody": "A approval rule template event occurred in the following AWS CodeCommit account: 123456789012. User: arn:aws:iam::123456789012:user/Mary_Major. Additional information: An approval rule template has been batch disassociated from the following repository names: [MyDemoRepo, MyTestRepo]. For more information, go to the AWS CodeCommit console.", "repositories": { "MyDemoRepo": "MyTestRepo" } }

Version de l'API 2015-04-13386

Page 396: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉvénement pullRequestApprovalRuleCreated

}

Événement pullRequestApprovalRuleCreatedDans cet exemple d'événement, un utilisateur avec le nom d'utilisateur IAM Mary_Major a créé une règled'approbation nommée 1-approver-needed pour une demande d'extraction avec l'ID 227.

{ "version": "0", "id": "ad860f12-EXAMPLE", "detail-type": "CodeCommit Pull Request State Change", "source": "aws.codecommit", "account": "123456789012", "time": "2019-11-06T19:12:19Z", "region": "us-east-2", "resources": [ "arn:aws:codecommit:us-east-2:123456789012:MyDemoRepo" ], "detail": { "approvalRuleContentSha256": "f742eebbEXAMPLE", "approvalRuleId": "0a9b5dfc-EXAMPLE", "approvalRuleName": "1-approver-needed", "author": "arn:aws:iam::123456789012:user/Mary_Major", "callerUserArn": "arn:aws:iam::123456789012:user/Mary_Major", "creationDate": "Wed Nov 06 19:10:58 UTC 2019", "description": "An An example description.", "destinationCommit": "194fdf00EXAMPLE", "destinationReference": "refs/heads/master", "event": "pullRequestApprovalRuleCreated", "isMerged": "False", "lastModifiedDate": "Wed Nov 06 19:10:58 UTC 2019", "notificationBody": "A pull request event occurred in the following AWS CodeCommit repository: MyDemoRepo. User: arn:aws:iam::123456789012:user/Mary_Major. Event: Updated. Pull request: 227. Additional information: An approval rule has been created with the following name: 1-approver-needed. For more information, go to the AWS CodeCommit console https://us-east-2.console.aws.amazon.com/codesuite/codecommit/repositories/MyDemoRepo/pull-requests/227?region=us-east-2", "pullRequestId": "227", "pullRequestStatus": "Open", "repositoryNames": [ "MyDemoRepo" ], "revisionId": "3b8cecab3EXAMPLE", "sourceCommit": "29964a17EXAMPLE", "sourceReference": "refs/heads/test-branch", "title": "My example pull request" }}

Événement pullRequestApprovalRuleDeletedDans cet exemple, un utilisateur avec un IAM nom d’utilisateur de Mary_Major a supprimé une règled’approbation nommée 1-approver-needed pour une demande d’extraction avec l’ID de 227. Un IAMavec le nom Saanvi_Sarkar a initialement créé la règle d’approbation.

{ "version": "0", "id": "c1c3509d-EXAMPLE", "detail-type": "CodeCommit Pull Request State Change", "source": "aws.codecommit", "account": "123456789012",

Version de l'API 2015-04-13387

Page 397: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉvénement pullRequestApprovalRuleOverridden

"time": "2019-11-06T19:12:19Z", "region": "us-east-2", "resources": [ "arn:aws:codecommit:us-east-2:123456789012:MyDemoRepo" ], "detail": { "approvalRuleContentSha256": "f742eebbEXAMPLE", "approvalRuleId": "0a9b5dfc-EXAMPLE", "approvalRuleName": "1-approver-needed", "author": "arn:aws:iam::123456789012:user/Saanvi_Sarkar", "callerUserArn": "arn:aws:iam::123456789012:user/Mary_Major", "creationDate": "Wed Nov 06 19:10:58 UTC 2019", "description": "An An example description.", "destinationCommit": "194fdf00EXAMPLE", "destinationReference": "refs/heads/master", "event": "pullRequestApprovalRuleDeleted", "isMerged": "False", "lastModifiedDate": "Wed Nov 06 19:10:58 UTC 2019", "notificationBody": "A pull request event occurred in the following AWS CodeCommit repository: MyDemoRepo. User: arn:aws:iam::123456789012:user/Mary_Major. Event: Created. Pull request: 227. Additional information: An approval rule has been deleted: 1-approver-needed was deleted. For more information, go to the AWS CodeCommit console https://us-east-2.console.aws.amazon.com/codesuite/codecommit/repositories/MyDemoRepo/pull-requests/227?region=us-east-2", "pullRequestId": "227", "pullRequestStatus": "Open", "repositoryNames": [ "MyDemoRepo" ], "revisionId": "3b8cecabEXAMPLE", "sourceCommit": "29964a17EXAMPLE", "sourceReference": "refs/heads/test-branch", "title": "My example pull request" }}

Événement pullRequestApprovalRuleOverriddenDans cet exemple d’événement, les exigences de la règle d’approbation pour une demande d’extractionont été mises de côté (OVERRIDE) par un utilisateur avec un IAM nom d’utilisateur de Mary_Major. Lademande d’extraction a été créée par un utilisateur avec un IAM nom d’utilisateur de Li_Juan.

{ "version": "0", "id": "52d2cb73-EXAMPLE", "detail-type": "CodeCommit Pull Request State Change", "source": "aws.codecommit", "account": "123456789012", "time": "2019-11-06T19:12:19Z", "region": "us-east-2", "resources": [ "arn:aws:codecommit:us-east-2:123456789012:MyDemoRepo" ], "detail": { "author": "arn:aws:iam::123456789012:user/Li_Juan", "callerUserArn": "arn:aws:iam::123456789012:user/Mary_Major", "creationDate": "Wed Nov 06 19:10:58 UTC 2019", "description": "An An example description.", "destinationCommit": "194fdf00EXAMPLE", "destinationReference": "refs/heads/master", "event": "pullRequestApprovalRuleOverridden", "isMerged": "False", "lastModifiedDate": "Wed Nov 06 19:10:58 UTC 2019",

Version de l'API 2015-04-13388

Page 398: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉvénement pullRequestApprovalRuleOverridden

"notificationBody": "A pull request event occurred in the following AWS CodeCommit repository: MyDemoRepo. User: arn:aws:iam::123456789012:user/Mary_Major. Event: Updated. Pull request name: 227. Additional information: An override event has occurred for the approval rules for this pull request. Override status: OVERRIDE. For more information, go to the AWS CodeCommit console https://us-east-2.console.aws.amazon.com/codesuite/codecommit/repositories/MyDemoRepo/pull-requests/227?region=us-east-2", "overrideStatus": "OVERRIDE", "pullRequestId": "227", "pullRequestStatus": "Open", "repositoryNames": [ "MyDemoRepo" ], "revisionId": "3b8cecabEXAMPLE", "sourceCommit": "29964a17EXAMPLE", "sourceReference": "refs/heads/test-branch", "title": "My example pull request" }}

Dans cet exemple d'événement, les exigences de règle d'approbation pour une demande d'extraction ontété rétablies (REVOKE).

{ "version": "0", "id": "2895482d-13eb-b783-270d-76588e6029fa", "detail-type": "CodeCommit Pull Request State Change", "source": "aws.codecommit", "account": "123456789012", "time": "2019-11-06T19:12:19Z", "region": "us-east-2", "resources": [ "arn:aws:codecommit:us-east-2:123456789012:MyDemoRepo" ], "detail": { "author": "arn:aws:iam::123456789012:user/Li_Juan", "callerUserArn": "arn:aws:iam::123456789012:user/Mary_Major", "creationDate": "Wed Nov 06 19:10:58 UTC 2019", "description": "An An example description.", "destinationCommit": "194fdf00EXAMPLE", "destinationReference": "refs/heads/master", "event": "pullRequestApprovalRuleOverridden", "isMerged": "False", "lastModifiedDate": "Wed Nov 06 19:10:58 UTC 2019", "notificationBody": "A pull request event occurred in the following AWS CodeCommit repository: MyDemoRepo. User: arn:aws:iam::123456789012:user/Mary_Major. Event: Updated. Pull request name: 227. Additional information: An override event has occurred for the approval rules for this pull request. Override status: REVOKE. For more information, go to the AWS CodeCommit console https://us-east-2.console.aws.amazon.com/codesuite/codecommit/repositories/MyDemoRepo/pull-requests/227?region=us-east-2", "overrideStatus": "REVOKE", "pullRequestId": "227", "pullRequestStatus": "Open", "repositoryNames": [ "MyDemoRepo" ], "revisionId": "3b8cecabEXAMPLE", "sourceCommit": "29964a17EXAMPLE", "sourceReference": "refs/heads/test-branch", "title": "My example pull request" }}

Version de l'API 2015-04-13389

Page 399: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉvénement pullRequestApprovalStateChanged

Événement pullRequestApprovalStateChangedDans cet exemple d'événement, une demande d'extraction a été approuvée par un utilisateur avec le nomd'utilisateur IAM Mary_Major.

{ "version": "0", "id": "53e5d7e9-986c-1ebf-9d8b-ebef5596da0e", "detail-type": "CodeCommit Pull Request State Change", "source": "aws.codecommit", "account": "123456789012", "time": "2019-11-06T19:12:19Z", "region": "us-east-2", "resources": [ "arn:aws:codecommit:us-east-2:123456789012:MyDemoRepo" ], "detail": { "approvalStatus": "APPROVE", "author": "arn:aws:iam::123456789012:user/Li_Juan", "callerUserArn": "arn:aws:iam::123456789012:user/Mary_Major", "creationDate": "Wed Nov 06 19:10:58 UTC 2019", "description": "An An example description.", "destinationCommit": "194fdf00EXAMPLE", "destinationReference": "refs/heads/master", "event": "pullRequestApprovalStateChanged", "isMerged": "False", "lastModifiedDate": "Wed Nov 06 19:10:58 UTC 2019", "notificationBody": "A pull request event occurred in the following AWS CodeCommit repository: MyDemoRepo. User: arn:aws:iam::123456789012:user/Mary_Major. Event: Updated. Pull request name: 227. Additional information: A user has changed their approval state for the pull request. State change: APPROVE. For more information, go to the AWS CodeCommit console https://us-east-2.console.aws.amazon.com/codesuite/codecommit/repositories/MyDemoRepo/pull-requests/227?region=us-east-2", "pullRequestId": "227", "pullRequestStatus": "Open", "repositoryNames": [ "MyDemoRepo" ], "revisionId": "3b8cecabEXAMPLE", "sourceCommit": "29964a17EXAMPLE", "sourceReference": "refs/heads/test-branch", "title": "My example pull request" }}

Dans cet exemple d'événement, une approbation pour une demande d'extraction a été révoquée par unutilisateur avec le nom d'utilisateur IAM Mary_Major.

{ "version": "0", "id": "25e183d7-d01a-4e07-2bd9-b2d56ebecc81", "detail-type": "CodeCommit Pull Request State Change", "source": "aws.codecommit", "account": "123456789012", "time": "2019-11-06T19:12:19Z", "region": "us-east-2", "resources": [ "arn:aws:codecommit:us-east-2:123456789012:MyDemoRepo" ], "detail": { "approvalStatus": "REVOKE", "author": "arn:aws:iam::123456789012:user/Li_Juan", "callerUserArn": "arn:aws:iam::123456789012:user/Mary_Major",

Version de l'API 2015-04-13390

Page 400: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉvénement pullRequestApprovalRuleUpdated

"creationDate": "Wed Nov 06 19:10:58 UTC 2019", "description": "An An example description.", "destinationCommit": "194fdf00EXAMPLE", "destinationReference": "refs/heads/master", "event": "pullRequestApprovalStateChanged", "isMerged": "False", "lastModifiedDate": "Wed Nov 06 19:10:58 UTC 2019", "notificationBody": "A pull request event occurred in the following AWS CodeCommit repository: MyDemoRepo. User: arn:aws:iam::123456789012:user/Mary_Major. Event: Updated. Pull request name: 227. Additional information: A user has changed their approval state for the pull request. State change: REVOKE. For more information, go to the AWS CodeCommit console https://us-east-2.console.aws.amazon.com/codesuite/codecommit/repositories/MyDemoRepo/pull-requests/227?region=us-east-2", "pullRequestId": "227", "pullRequestStatus": "Open", "repositoryNames": [ "MyDemoRepo" ], "revisionId": "3b8cecabEXAMPLE", "sourceCommit": "29964a17EXAMPLE", "sourceReference": "refs/heads/test-branch", "title": "My example pull request" }}

Événement pullRequestApprovalRuleUpdatedDans cet exemple d’événement, une règle d’approbation pour une demande d’extraction a été modifiée parun utilisateur avec un IAM nom d’utilisateur de Mary_Major. Elle est également l’utilisateur qui a créé lademande d’extraction.

{ "version": "0", "id": "21b1c819-2889-3528-1cb8-3861aacf9d42", "detail-type": "CodeCommit Pull Request State Change", "source": "aws.codecommit", "account": "123456789012", "time": "2019-11-06T19:12:19Z", "region": "us-east-2", "resources": [ "arn:aws:codecommit:us-east-2:123456789012:MyDemoRepo" ], "detail": { "approvalRuleContentSha256": "f742eebbEXAMPLE", "approvalRuleId": "0a9b5dfc-EXAMPLE", "approvalRuleName": "1-approver-needed", "author": "arn:aws:iam::123456789012:user/Mary_Major", "callerUserArn": "arn:aws:iam::123456789012:user/Mary_Major", "creationDate": "Wed Nov 06 19:10:58 UTC 2019", "description": "An example description.", "destinationCommit": "194fdf00EXAMPLE", "destinationReference": "refs/heads/master", "event": "pullRequestApprovalRuleUpdated", "isMerged": "False", "lastModifiedDate": "Wed Nov 06 19:10:58 UTC 2019", "notificationBody": "A pull request event occurred in the following AWS CodeCommit repository: MyDemoRepo. User: arn:aws:iam::123456789012:user/Mary_Major. Event: Updated. Pull request name: 227. The content of an approval rule has been updated for the pull request. The name of the updated rule is: 1-approver-needed. For more information, go to the AWS CodeCommit console https://us-east-2.console.aws.amazon.com/codesuite/codecommit/repositories/MyDemoRepo/pull-requests/227?region=us-east-2", "pullRequestId": "227", "pullRequestStatus": "Open",

Version de l'API 2015-04-13391

Page 401: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurÉvénement reactionCreated

"repositoryNames": [ "MyDemoRepo" ], "revisionId": "3b8cecab3EXAMPLE", "sourceCommit": "29964a17EXAMPLE", "sourceReference": "refs/heads/test-branch", "title": "My example pull request" }}

Événement reactionCreatedDans cet exemple, une réaction à un commentaire a été ajoutée par un utilisateur avec un IAM nomd’utilisateur de Mary_Major.

{ "version":"0", "id":"59fcccd8-217a-32ce-2b05-561ed68a1c42", "detail-type":"CodeCommit Comment Reaction Change", "source":"aws.codecommit", "account":"123456789012", "time":"2020-04-14T00:49:03Z", "region":"us-east-2", "resources":[ "arn:aws:codecommit:us-east-2:123456789012:MyDemoRepo" ], "detail":{ "callerUserArn":"arn:aws:iam::123456789012:user/Mary_Major", "commentId":"28930161-EXAMPLE", "event":"commentReactionCreated", "notificationBody":"A comment reaction event occurred in the following AWS CodeCommit Repository: MyDemoRepo. The user: arn:aws:iam::123456789012:user/Mary_Major made a comment reaction ## to the comment with comment ID: 28930161-EXAMPLE", "reactionEmojis":["##"], "reactionShortcodes":[":thumbsdown:"], "reactionUnicodes":["U+1F44E"], "repositoryId":"12345678-1234-5678-abcd-12345678abcd", "repositoryName":"MyDemoRepo" }}

Événement reactionUpdatedDans cet exemple, une réaction à un commentaire a été mise à jour par un utilisateur avec un IAM nomd’utilisateur de Mary_Major. Les utilisateurs peuvent uniquement mettre à jour leurs propres réactions.

{ "version":"0", "id":"0844ed99-a53f-3bdb-6048-4de315516889", "detail-type":"CodeCommit Comment Reaction Change", "source":"aws.codecommit", "account":"123456789012", "time":"2020-04-22T23:19:42Z", "region":"us-east-2", "resources":[ "arn:aws:codecommit:us-east-2:123456789012:MyDemoRepo" ], "detail":{ "callerUserArn":"arn:aws:iam::123456789012:user/Mary_Major", "commentId":"28930161-EXAMPLE", "event":"commentReactionUpdated",

Version de l'API 2015-04-13392

Page 402: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurJournalisation des appels d'API AWSCodeCommit avec AWS CloudTrail

"notificationBody":"A comment reaction event occurred in the following AWS CodeCommit Repository: MyDemoRepo. The user: arn:aws:iam::123456789012:user/Mary_Major updated a reaction :smile: to the comment with comment ID: 28930161-EXAMPLE", "reactionEmojis":[ "##" ], "reactionShortcodes":[ ":smile:" ], "reactionUnicodes":[ "U+1F604" ], "repositoryId":"12345678-1234-5678-abcd-12345678abcd", "repositoryName":"MyDemoRepo" }}

Journalisation des appels d'API AWS CodeCommitavec AWS CloudTrail

CodeCommit est intégré à AWS CloudTrail, un service qui fournit un enregistrement des actions effectuéespar un utilisateur, un rôle ou un AWS dans CodeCommit. CloudTrail capture tous les appels d’API pourCodeCommit comme événements, y compris les appels du CodeCommit console, votre client Git, etdes appels de code vers le CodeCommit APIs. Si vous créez un journal de suivi, vous pouvez activerla livraison continue de CloudTrail à un Amazon S3 compartiment, y compris les événements pourCodeCommit. Si vous ne configurez pas de journal de suivi, vous pouvez toujours afficher les événementsles plus récents dans la console CloudTrail dans Event history (Historique des événements). À l'aidedes informations collectées par CloudTrail, vous pouvez déterminer la demande qui a été envoyée àCodeCommit, l'adresse IP source à partir de laquelle la demande a été effectuée, l'auteur de la demande etla date de la demande, ainsi que d'autres informations.

Pour de plus amples informations sur CloudTrail, veuillez consulter AWS CloudTrail User Guide.

Informations CodeCommit dans CloudTrailCloudTrail est activé sur votre compte AWS lorsque vous créez le compte. Lorsqu'une activité a lieu dansCodeCommit, cette activité est enregistrée dans un événement CloudTrail avec d'autres événementsde services AWS dans Event history (Historique des événements). Vous pouvez afficher, rechercher ettélécharger les événements récents dans votre compte AWS. Pour plus d'informations, consultez Affichagedes événements avec l'historique des événements CloudTrail.

Pour un enregistrement continu des événements dans votre compte AWS, y compris les événementspour CodeCommit, créez un journal de suivi. Un journal de suivi permet à CloudTrail de livrer les fichiersjournaux dans un compartiment Amazon S3. Par défaut, lorsque vous créez un journal de suivi dansla console, il s'applique à toutes les régions. Le journal de suivi consigne les événements de toutes lesrégions dans la partition AWS et livre les fichiers journaux dans le compartiment Amazon S3 de votre choix.En outre, vous pouvez configurer d'autres services AWS pour analyser plus en profondeur les donnéesd'événements collectées dans les journaux CloudTrail et agir sur celles-ci. Pour plus d'informations, veuillezconsulter:

• Présentation de la création d'un journal de suivi• CloudTrail Services et intégrations pris en charge• Configuration des notifications Amazon SNS pour CloudTrail• Recevoir les fichiers journaux de CloudTrail de plusieurs régions et Recevoir les fichiers journaux de

CloudTrail de plusieurs comptes

Version de l'API 2015-04-13393

Page 403: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurPrésentation des entrées des fichiers journaux CodeCommit

Lorsque la journalisation CloudTrail est activée dans votre compte AWS, les appels d'API passés auxactions CodeCommit sont suivis dans les fichiers journaux CloudTrail, ou ils sont écrits avec d'autresenregistrements de service AWS. CloudTrail détermine quand il faut créer un fichier et y consigner desdonnées en fonction d'une période et d'une taille de fichier.

Toutes les actions CodeCommit sont consignées par CloudTrail, y compris certaines (dontGetObjectIdentifier) qui ne sont pas encore documentées dans le document Référence d'API AWSCodeCommit, mais qui sont plutôt référencées en tant qu'autorisations d'accès et documentées dansRéférence des autorisations CodeCommit (p. 349). Par exemple, les appels vers le ListRepositories(dans le AWS CLI, aws codecommit list-repositories), CreateRepository (aws codecommitcreate-repository) et PutRepositoryTriggers (aws codecommit put-repository-triggersLes actions ) génèrent des entrées dans le CloudTrail les fichiers journaux, ainsi que lesappels clients Git à GitPull et GitPush. De plus, si vous avez un CodeCommit du référentiel configurécomme source pour un pipeline dans CodePipeline, vous verrez les appels à CodeCommit des actionsd’autorisation d’accès telles que UploadArchive à partir de CodePipeline. Dans la mesure oùCodeCommit utilise AWS Key Management Service pour chiffrer et déchiffrer les référentiels, vous verrezaussi des appels d'CodeCommit aux actions Encrypt et Decrypt depuis AWS KMS dans les journauxCloudTrail.

Chaque entrée du journal contient des informations sur la personne qui a généré la demande. Lesinformations d'identité de l'utilisateur dans l'entrée de journal permettent de déterminer les élémentssuivants :

• Si la demande a été effectuée avec les informations d'identification utilisateur racine ou IAM• Si la demande a été effectuée avec des informations d'identification de sécurité temporaires pour un rôle

assumé ou par un utilisateur fédéré• Si la demande a été effectuée par un autre service AWS

Pour plus d’informations, consultez l’élément userIdentity CloudTrail.

Vous pouvez stocker vos fichiers journaux dans votre compartiment Amazon S3 aussi longtemps que vousle souhaitez, mais vous pouvez également définir des règles de cycle de vie Amazon S3 pour archiver ousupprimer automatiquement les fichiers journaux. Par défaut, vos fichiers journaux sont chiffrés avec lechiffrement côté serveur (SSE) de Amazon S3.

Présentation des entrées des fichiers journauxCodeCommitLes fichiers journaux CloudTrail peuvent contenir une ou plusieurs des entrées de journal. Chaque entréerépertorie plusieurs événements au format JSON. Un événement de journal représente une demandeindividuelle émise à partir d'une source quelconque et comprend des informations sur l'action demandée,la date et l'heure de l'action, les paramètres de la demande, etc. Les entrées de journal ne sont pas desarborescences des appels de procédure des appels d'API publique. Elles ne s'affichent donc dans aucunordre précis.

Note

Cet exemple a été mis en forme pour faciliter sa lecture. Dans un fichier journal CloudTrail, toutesles entrées et tous les événements sont concaténés sur une seule ligne. Cet exemple se limiteégalement à une seule entrée CodeCommit. Un véritable fichier journal CloudTrail comporte desentrées et des événements provenant de plusieurs services AWS.

Table des matières• Exemple: Une entrée de journal pour la liste CodeCommit référentiels (p. 395)• Exemple: Une entrée de journal pour la création d’un CodeCommit référentiel (p. 395)

Version de l'API 2015-04-13394

Page 404: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurPrésentation des entrées des fichiers journaux CodeCommit

• Exemples : Entrées de journal pour les appels Git pull vers un CodeCommit référentiel (p. 396)• Exemple: Une entrée de journal pour une transmission réussie vers un CodeCommit

référentiel (p. 398)

Exemple: Une entrée de journal pour la liste CodeCommitréférentielsL'exemple suivant montre une entrée de journal CloudTrail qui illustre l'action ListRepositories.

Note

Même si ListRepositories renvoie une liste de référentiels, les réponses immuables ne sontpas enregistrées dans les journaux CloudTrail. Par conséquent, l'élément responseElementsapparaît en tant que null dans le fichier journal.

{ "eventVersion":"1.05", "userIdentity": { "type":"IAMUser", "principalId":"AIDACKCEVSQ6C2EXAMPLE", "arn":"arn:aws:iam::444455556666:user/Mary_Major", "accountId":"444455556666", "accessKeyId":"AKIAIOSFODNN7EXAMPLE", "userName":"Mary_Major" }, "eventTime":"2016-12-14T17:57:36Z", "eventSource":"codecommit.amazonaws.com", "eventName":"ListRepositories", "awsRegion":"us-east-1", "sourceIPAddress":"203.0.113.12", "userAgent":"aws-cli/1.10.53 Python/2.7.9 Windows/8 botocore/1.4.43", "requestParameters":null, "responseElements":null, "requestID":"cb8c167e-EXAMPLE", "eventID":"e3c6f4ce-EXAMPLE", "readOnly":true, "eventType":"AwsApiCall", "apiVersion":"2015-04-13", "recipientAccountId":"444455556666"}

Exemple: Une entrée de journal pour la création d’unCodeCommit référentielL'exemple suivant montre une entrée de journal CloudTrail qui illustre l'action CreateRepository dans larégion Région USA Est (Ohio).

{ "eventVersion": "1.05", "userIdentity": { "type": "IAMUser", "principalId": "AIDACKCEVSQ6C2EXAMPLE", "arn": "arn:aws:iam::444455556666:user/Mary_Major", "accountId": "444455556666", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "userName":"Mary_Major" }, "eventTime": "2016-12-14T18:19:15Z", "eventSource": "codecommit.amazonaws.com",

Version de l'API 2015-04-13395

Page 405: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurPrésentation des entrées des fichiers journaux CodeCommit

"eventName": "CreateRepository", "awsRegion": "us-east-2", "sourceIPAddress": "203.0.113.12", "userAgent": "aws-cli/1.10.53 Python/2.7.9 Windows/8 botocore/1.4.43", "requestParameters": { "repositoryDescription": "Creating a demonstration repository.", "repositoryName": "MyDemoRepo" }, "responseElements": { "repositoryMetadata": { "arn": "arn:aws:codecommit:us-east-2:111122223333:MyDemoRepo", "creationDate": "Dec 14, 2016 6:19:14 PM", "repositoryId": "8afe792d-EXAMPLE", "cloneUrlSsh": "ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo", "repositoryName": "MyDemoRepo", "accountId": "111122223333", "cloneUrlHttp": "https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo", "repositoryDescription": "Creating a demonstration repository.", "lastModifiedDate": "Dec 14, 2016 6:19:14 PM" } }, "requestID": "d148de46-EXAMPLE", "eventID": "740f179d-EXAMPLE", "readOnly": false, "resources": [ { "ARN": "arn:aws:codecommit:us-east-2:111122223333:MyDemoRepo", "accountId": "111122223333", "type": "AWS::CodeCommit::Repository" } ], "eventType": "AwsApiCall", "apiVersion": "2015-04-13", "recipientAccountId": "111122223333"}

Exemples : Entrées de journal pour les appels Git pull vers unCodeCommit référentielL'exemple suivant montre une entrée de journal CloudTrail qui illustre l'action GitPull dans laquelle leréférentiel local est déjà à jour.

{ "eventVersion": "1.05", "userIdentity": { "type": "IAMUser", "principalId": "AIDACKCEVSQ6C2EXAMPLE", "arn": "arn:aws:iam::444455556666:user/Mary_Major", "accountId": "444455556666", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "userName":"Mary_Major" }, "eventTime": "2016-12-14T18:19:15Z", "eventSource": "codecommit.amazonaws.com", "eventName": "GitPull", "awsRegion": "us-east-2", "sourceIPAddress": "203.0.113.12", "userAgent": "git/2.11.0.windows.1", "requestParameters": null, "responseElements": null, "additionalEventData": { "protocol": "HTTP", "dataTransferred": false,

Version de l'API 2015-04-13396

Page 406: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurPrésentation des entrées des fichiers journaux CodeCommit

"repositoryName": "MyDemoRepo", "repositoryId": "8afe792d-EXAMPLE", }, "requestID": "d148de46-EXAMPLE", "eventID": "740f179d-EXAMPLE", "readOnly": true, "resources": [ { "ARN": "arn:aws:codecommit:us-east-2:111122223333:MyDemoRepo", "accountId": "111122223333", "type": "AWS::CodeCommit::Repository" } ], "eventType": "AwsApiCall", "recipientAccountId": "111122223333"}

L'exemple suivant montre une entrée de journal CloudTrail qui illustre l'action GitPull dans laquelle leréférentiel local n'est pas à jour, de sorte que les données sont transférées du référentiel CodeCommit verscelui en local.

{ "eventVersion": "1.05", "userIdentity": { "type": "IAMUser", "principalId": "AIDACKCEVSQ6C2EXAMPLE", "arn": "arn:aws:iam::444455556666:user/Mary_Major", "accountId": "444455556666", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "userName":"Mary_Major" }, "eventTime": "2016-12-14T18:19:15Z", "eventSource": "codecommit.amazonaws.com", "eventName": "GitPull", "awsRegion": "us-east-2", "sourceIPAddress": "203.0.113.12", "userAgent": "git/2.10.1", "requestParameters": null, "responseElements": null, "additionalEventData": { "protocol": "HTTP", "capabilities": [ "multi_ack_detailed", "side-band-64k", "thin-pack" ], "dataTransferred": true, "repositoryName": "MyDemoRepo", "repositoryId": "8afe792d-EXAMPLE", "shallow": false }, "requestID": "d148de46-EXAMPLE", "eventID": "740f179d-EXAMPLE", "readOnly": true, "resources": [ { "ARN": "arn:aws:codecommit:us-east-2:111122223333:MyDemoRepo", "accountId": "111122223333", "type": "AWS::CodeCommit::Repository" } ], "eventType": "AwsApiCall", "recipientAccountId": "111122223333"}

Version de l'API 2015-04-13397

Page 407: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurPrésentation des entrées des fichiers journaux CodeCommit

Exemple: Une entrée de journal pour une transmission réussievers un CodeCommit référentielL'exemple suivant montre une entrée de journal CloudTrail qui illustre une action GitPush ayant abouti. Encas de transfert réussi, l'action GitPush apparaît deux fois dans une entrée de journal.

{ "eventVersion": "1.05", "userIdentity": { "type": "IAMUser", "principalId": "AIDACKCEVSQ6C2EXAMPLE", "arn": "arn:aws:iam::444455556666:user/Mary_Major", "accountId": "444455556666", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "userName":"Mary_Major" }, "eventTime": "2016-12-14T18:19:15Z", "eventSource": "codecommit.amazonaws.com", "eventName": "GitPush", "awsRegion": "us-east-2", "sourceIPAddress": "203.0.113.12", "userAgent": "git/2.10.1", "requestParameters": null, "responseElements": null, "additionalEventData": { "protocol": "HTTP", "dataTransferred": false, "repositoryName": "MyDemoRepo", "repositoryId": "8afe792d-EXAMPLE", }, "requestID": "d148de46-EXAMPLE", "eventID": "740f179d-EXAMPLE", "readOnly": true, "resources": [ { "ARN": "arn:aws:codecommit:us-east-2:111122223333:MyDemoRepo", "accountId": "111122223333", "type": "AWS::CodeCommit::Repository" } ], "eventType": "AwsApiCall", "recipientAccountId": "111122223333"},{ "eventVersion": "1.05", "userIdentity": { "type": "IAMUser", "principalId": "AIDACKCEVSQ6C2EXAMPLE", "arn": "arn:aws:iam::444455556666:user/Mary_Major", "accountId": "444455556666", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "userName":"Mary_Major" }, "eventTime": "2016-12-14T18:19:15Z", "eventSource": "codecommit.amazonaws.com", "eventName": "GitPush", "awsRegion": "us-east-2", "sourceIPAddress": "203.0.113.12", "userAgent": "git/2.10.1", "requestParameters": { "references": [ { "commit": "100644EXAMPLE",

Version de l'API 2015-04-13398

Page 408: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurPrésentation des entrées des fichiers journaux CodeCommit

"ref": "refs/heads/master" } ] }, "responseElements": null, "additionalEventData": { "protocol": "HTTP", "capabilities": [ "report-status", "side-band-64k" ], "dataTransferred": true, "repositoryName": "MyDemoRepo", "repositoryId": "8afe792d-EXAMPLE", }, "requestID": "d148de46-EXAMPLE", "eventID": "740f179d-EXAMPLE", "readOnly": false, "resources": [ { "ARN": "arn:aws:codecommit:us-east-2:111122223333:MyDemoRepo", "accountId": "111122223333", "type": "AWS::CodeCommit::Repository" } ], "eventType": "AwsApiCall", "recipientAccountId": "111122223333"}

Version de l'API 2015-04-13399

Page 409: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurModèles CodeCommit et AWS CloudFormation

Création de ressources CodeCommitavec AWS CloudFormation

CodeCommit est intégré à AWS CloudFormation, un service qui vous aide à modéliser et à configurervos ressources AWS afin que vous puissiez consacrer moins de temps à la création et à la gestion devos ressources et de votre infrastructure. Vous créez un modèle qui décrit tous les AWS des ressourcesque vous voulez (comme référentiels), et AWS CloudFormation s’occupe de la mise en service et de laconfiguration de ces ressources pour vous.

Lorsque vous utilisez AWS CloudFormation, vous pouvez réutiliser votre modèle pour configurer vosressources CodeCommit de manière cohérente et répétée. Décrivez simplement vos ressources une fois,puis allouez les mêmes ressources plusieurs fois dans plusieurs comptes et AWS Régions.

Modèles CodeCommit et AWS CloudFormationPour provisionner et configurer des ressources pour CodeCommit et les services associés, vous devezmaîtriser les modèles AWS CloudFormation. Les modèles sont des fichiers texte formatés en JSONou YAML. Ces modèles décrivent les ressources que vous souhaitez mettre en service dans vos pilesAWS CloudFormation. Si le format JSON ou YAML ne vous est pas familier, vous pouvez utiliser AWSCloudFormation Designer pour faciliter la prise en main des modèles AWS CloudFormation. Pour plusd’informations, consultez Qu’est-ce qu’AWS ? CloudFormation Concepteur ? dans le AWS CloudFormationGuide de l'utilisateur.

CodeCommit prend en charge la création référentiels dans AWS CloudFormation. Contrairement àla création de référentiels à partir de la console ou de la ligne de commande, vous pouvez utiliserAWS CloudFormation pour créer des référentiels et valider automatiquement le code dans leréférentiel nouvellement créé à partir d’un fichier.zip spécifié dans un Amazon S3 compartiment.Pour plus d’informations, y compris des exemples de modèles JSON et YAML pour référentiels, voirAWS::CodeCommit::Repository.

Vous pouvez également créer des modèles qui créent des ressources connexes, telles que règles denotification pour les référentiels, AWS CodeBuild projets de génération, AWS CodeDeploy applications, etAWS CodePipeline pipelines.

En savoir plus sur AWS CloudFormationPour en savoir plus sur AWS CloudFormation, consultez les ressources suivantes :

• AWS CloudFormation• AWS CloudFormation Manuel de l'utilisateur• AWS CloudFormation Interface de ligne de commande -Guide de l’utilisateur

Version de l'API 2015-04-13400

Page 410: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurDépannage des informations d’identification Git (HTTPS)

Dépannage de AWS CodeCommitLes informations suivantes peuvent vous aider à résoudre les problèmes courants dans AWS CodeCommit.

Rubriques• Dépannage des informations d’identification Git et des connexions HTTPS à AWS

CodeCommit (p. 401)• Dépannage de git-remote-codecommit et AWS CodeCommit (p. 402)• Dépannage des connexions SSH à AWS CodeCommit (p. 404)• Dépannage de l’assistant d’informations d’identification et des connexions HTTPS à AWS

CodeCommit (p. 410)• Dépannage des clients Git et AWS CodeCommit (p. 415)• Dépannage des erreurs d’accès et AWS CodeCommit (p. 417)• Dépannage des erreurs de configuration et AWS CodeCommit (p. 419)• Dépannage des erreurs de la console et AWS CodeCommit (p. 420)• Déclencheurs de dépannage et AWS CodeCommit (p. 420)• Activer le débogage (p. 421)

Dépannage des informations d’identification Git etdes connexions HTTPS à AWS CodeCommit

Les informations suivantes vous aident à résoudre les problèmes courants que vous êtes susceptiblede rencontrer lors de l'utilisation d'informations d'identification Git et de HTTPS pour se connecter auxréférentiels AWS CodeCommit.

Rubriques• Informations d’identification Git pour AWS CodeCommit: Je continue à voir une invite pour les

informations d’identification lorsque je me connecte à mon CodeCommit au niveau du terminal ou de laligne de commande (p. 401)

• Informations d’identification Git pour AWS CodeCommit: J’ai configuré les informations d’identificationGit, mais mon système ne les utilise pas (p. 402)

Informations d’identification Git pour AWSCodeCommit: Je continue à voir une invite pour lesinformations d’identification lorsque je me connecte àmon CodeCommit au niveau du terminal ou de la lignede commandeProblème : Lorsque vous essayez de transmettre, d’extraire ou d’interagir avec un CodeCommit à partir duterminal ou de la ligne de commande, vous êtes invité à fournir un nom d’utilisateur et un mot de passe, etvous devez fournir les informations d’identification Git pour votre IAM utilisateur.

Correctifs possibles : Les causes les plus courantes de cette erreur sont que votre ordinateur local exécuteun système d’exploitation qui ne prend pas en charge la gestion des informations d’identification, ou qu’il

Version de l'API 2015-04-13401

Page 411: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurInformations d’identification Git pour AWS

CodeCommit: J’ai configuré les informationsd’identification Git, mais mon système ne les utilise pas

n’a pas d’utilitaire de gestion des informations d’identification installé, ou les informations d’identificationGit pour votre IAM n’ont pas été enregistrés dans l’un de ces systèmes de gestion des informationsd’identification. En fonction de votre système d'exploitation et de votre environnement local, vous devrezpeut-être installer un gestionnaire d'informations d'identification, configurer celui qui est inclus dans votresystème d'exploitation ou personnaliser votre environnement local de manière à utiliser le stockage desinformations d'identification. Par exemple, si votre ordinateur fonctionne sous macOS, vous pouvez faireappel à l'utilitaire Keychain Access pour stocker vos informations d'identification. Si votre ordinateur estsous Windows, vous pouvez utiliser le gestionnaire d'informations d'identification Git installé avec Gitpour Windows. Pour plus d'informations, consultez Pour les utilisateurs HTTPS utilisant des informationsd’identification Git (p. 10) et Stockage des informations d'identification dans la documentation de Git.

Informations d’identification Git pour AWSCodeCommit: J’ai configuré les informationsd’identification Git, mais mon système ne les utilisepasProblème : Lorsque vous essayez d’utiliser CodeCommit avec un client Git, le client ne semble pas utiliserles informations d’identification Git pour votre IAM utilisateur.

Correctifs possibles : La cause la plus courante de cette erreur est que vous avez précédemment configurévotre ordinateur pour utiliser l’assistant d’informations d’identification qui est inclus avec le AWS CLI.Recherchez des sections de configurations similaires aux suivantes dans le fichier .gitconfig et supprimez-les :

[credential "https://git-codecommit.*.amazonaws.com"] helper = !aws codecommit credential-helper $@ UseHttpPath = true

Enregistrez le fichier et ouvrez une nouvelle session de terminal ou ligne de commande avant d'essayer devous connecter à nouveau.

Il est également possible que plusieurs gestionnaires ou assistants d'informations d'identification soientconfigurés sur votre ordinateur et que votre système utilise une autre configuration par défaut. Pourréinitialiser l'assistant d'informations d'identification utilisé par défaut, vous pouvez utiliser l'option --systemau lieu de --global ou --local lorsque vous exécutez la commande git config.

Pour plus d'informations, consultez Pour les utilisateurs HTTPS utilisant des informations d’identificationGit (p. 10) et Stockage des informations d'identification dans la documentation de Git.

Dépannage de git-remote-codecommit et AWSCodeCommit

Les informations suivantes vous aident à résoudre les erreurs liées à git-remote-codecommit lors de laconnexion à des référentiels AWS CodeCommit.

Rubriques• Je vois une erreur : git : ’remote-codecommit’ n’est pas une commande git (p. 403)• Je vois une erreur : fatale : Impossible de trouver l’assistant distant pour ’codecommit’ (p. 403)• Erreur de clonage : Je ne peux pas cloner un CodeCommit référentiel à partir d’un IDE (p. 403)• Erreur de transmission ou de traction : Je ne peux pas transmettre ou extraire des validations d’un IDE

vers un CodeCommit référentiel (p. 403)

Version de l'API 2015-04-13402

Page 412: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurJe vois une erreur : git : ’remote-

codecommit’ n’est pas une commande git

Je vois une erreur : git : ’remote-codecommit’ n’est pasune commande gitProblème : Lorsque vous essayez d’utiliser git-remote-codecommit, vous voyez une erreur indiquant quegit-remote-codecommit n’est pas une commande git. Voir « git --help ».

Correctifs possibles : La raison la plus courante de cette erreur est une erreur de syntaxe. Cela peut seproduire lorsqu’un tiret est manquant entre git et remote-codecommit, ou lorsqu’un git supplémentaire estplacé avant git-remote-codecommit.

Pour plus d’informations sur la configuration et l’utilisation de git-remote-codecommit, consultez Étapes deconfiguration pour les connexions HTTPS à AWS CodeCommit avec git-remote-codecommit (p. 15).

Je vois une erreur : fatale : Impossible de trouverl’assistant distant pour ’codecommit’Problème : Lorsque vous essayez d’utiliser git-remote-codecommit, vous voyez une erreur indiquant «fatal : Impossible de trouver l’assistant distant pour ’codecommit’".

Correctifs possibles : La raison la plus courante de cette erreur est que la configuration n’est pas terminéepour git-remote-codecommit, que Python n’est pas dans votre chemin ou que vous utilisez un terminalou une fenêtre de ligne de commande qui n’a pas été redémarré depuis l’installation de git-remote-codecommit terminée.

Pour plus d’informations sur la configuration et l’utilisation de git-remote-codecommit, consultez Étapes deconfiguration pour les connexions HTTPS à AWS CodeCommit avec git-remote-codecommit (p. 15).

Erreur de clonage : Je ne peux pas cloner unCodeCommit référentiel à partir d’un IDEProblème : Lorsque vous essayez de cloner un CodeCommit dans un IDE, vous voyez une erreur indiquantque le point de terminaison ou l’URL n’est pas valide.

Correctifs possibles : Pas tous IDEs prendre en charge l’URL utilisée par git-remote-codecommit pendantle clonage. Clonez le référentiel localement à partir du terminal ou de la ligne de commande, puis ajoutezce référentiel local à votre IDE. Pour plus d'informations, consultez la section Étape 3 : Connectez-vous auCodeCommit et cloner le référentiel (p. 19).

Erreur de transmission ou de traction : Je ne peux pastransmettre ou extraire des validations d’un IDE versun CodeCommit référentielProblème : Lorsque vous essayez d’extraire ou de transmettre du code à partir d’un IDE, vous voyez uneerreur de connexion.

Correctifs possibles : La raison la plus courante de cette erreur est que l’IDE n’est pas compatible avecles assistants distants Git tels que git-remote-codecommit. Au lieu d’utiliser la fonctionnalité IDE pourvalider, transmettre et extraire le code, mettez à jour le référentiel local manuellement à partir de la ligne decommande ou du terminal à l’aide des commandes Git.

Pour plus d'informations sur les assistants distants et Git, consultez la documentation Git.

Version de l'API 2015-04-13403

Page 413: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurDépannage des connexions SSH

Dépannage des connexions SSH à AWSCodeCommit

Les informations suivantes vous aident à résoudre les problèmes courants que vous êtes susceptible derencontrer lors de SSH pour se connecter aux référentiels CodeCommit.

Rubriques• Erreur d’accès : La clé publique a été chargée avec succès sur IAM mais la connexion échoue sur

Linux, macOS, or Unix systèmes (p. 404)• Erreur d’accès : La clé publique a été chargée avec succès sur IAM et SSH testés avec succès, mais la

connexion échoue sur les systèmes Windows (p. 405)• Défi d’authentification : L’authenticité de l’hôte ne peut pas être établie lors de la connexion à un

CodeCommit référentiel (p. 405)• IAM erreur : ’Format non valide’ lors de la tentative d’ajout d’une clé publique à IAM (p. 408)• J’ai besoin d’accéder CodeCommit référentiels dans plusieurs AWS comptes avec informations

d’identification SSH (p. 409)• Sous Windows : L’émulateur Bash ou la ligne de commande se fige lors de la tentative de connexion à

l’aide de SSH (p. 409)

Erreur d’accès : La clé publique a été chargée avecsuccès sur IAM mais la connexion échoue sur Linux,macOS, or Unix systèmesProblème : Lorsque vous essayez de vous connecter à un point de terminaison SSH pour communiqueravec un Référentiel CodeCommit, lors du test de la connexion ou du clonage d’un référentiel, la connexionéchoue ou est refusée.

Correctifs possibles : L’ID de clé SSH affecté à votre clé publique dans IAM n’est peut-être pas associé àvotre tentative de connexion. Vous n'avez peut-être pas de fichier de configuration paramétré (p. 40), vousn'avez peut-être pas accès au fichier de configuration, un autre paramètre empêche peut-être la lecture dufichier de configuration, vous avez peut-être fourni un ID de clé incorrect ou vous avez peut-être indiqué l'IDde l'utilisateur IAM au lieu de l'ID de clé.

L'ID de clé SSH est disponible sur la console IAM dans le profil pour votre utilisateur IAM :

Note

Si vous avez plus d’une clé SSH IDs téléchargées, les clés sont répertoriées par ordrealphabétique par ID de clé, et non par date de chargement. Assurez-vous que vous avez copié l'IDde clé associé à la date de chargement correcte.

Essayez de tester la connexion avec la commande suivante :

ssh [email protected]

Version de l'API 2015-04-13404

Page 414: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurErreur d’accès : La clé publique a été chargée avec

succès sur IAM et SSH testés avec succès, maisla connexion échoue sur les systèmes Windows

Si vous voyez un message de réussite après la confirmation de la connexion, votre ID de clé SSH estvalide. Modifiez votre fichier de configuration pour associer vos tentatives de connexion à votre clé publiquedans IAM. Si vous ne souhaitez pas modifier votre fichier de configuration, vous pouvez faire précédertoutes les tentatives de connexion à votre référentiel par votre ID de clé SSH. Par exemple, si voussouhaitez cloner un référentiel nommé MyDemoRepo sans modifier votre fichier de configuration pourassocier vos tentatives de connexion, exécutez la commande suivante :

git clone ssh://[email protected]/v1/repos/MyDemoRepo my-demo-repo

Pour plus d'informations, consultez la section Pour les connexions SSH sousLinux, macOS, or Unix (p. 37).

Erreur d’accès : La clé publique a été chargée avecsuccès sur IAM et SSH testés avec succès, mais laconnexion échoue sur les systèmes WindowsProblème : Lorsque vous essayez d’utiliser un point de terminaison SSH pour cloner ou communiqueravec un Référentiel CodeCommit, un message d’erreur s’affiche contenant l’expression No supportedauthentication methods available.

Correctifs possibles : La raison la plus courante de cette erreur est que vous avez un ensemble devariables d’environnement système Windows qui ordonne à Windows d’utiliser un autre programme lorsquevous essayez d’utiliser SSH. Par exemple, vous avez peut-être défini une variable GIT_SSH pour qu’ellepointe sur l’un des PuTTY ensemble d’outils (plink.exe). Il peut s'agir d'une configuration héritée ou celapeut être requis pour un ou plusieurs autres programmes installés sur votre ordinateur. Si vous êtes sûrque cette variable d'environnement n'est pas requises, vous pouvez la supprimer en ouvrant les propriétésde votre système.

Pour contourner ce problème, ouvrez un émulateur Bash, puis testez votre connexion SSH à nouveau,mais en incluant GIT_SSH_COMMAND="SSH" comme préfixe. Par exemple, pour cloner un référentiel àl'aide de SSH :

GIT_SSH_COMMAND="ssh" git clone ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo my-demo-repo

Un problème similaire peut se produire si votre version de Windows requiert l'intégration de l'ID de clé SSHdans le cadre de la chaîne de connexion lors de la connexion à l'aide de SSH à la ligne de commandeWindows. Essayez de vous connecter à nouveau, mais en incluant l'ID de clé SSH issu d'IAM dans lecadre de la commande. Exemple :

git clone ssh://[email protected]/v1/repos/MyDemoRepo my-demo-repo

Défi d’authentification : L’authenticité de l’hôte ne peutpas être établie lors de la connexion à un CodeCommitréférentielProblème : Lorsque vous essayez d’utiliser un point de terminaison SSH pour communiquer avec unRéférentiel CodeCommit, un message d’avertissement s’affiche contenant la phrase The authenticityof host 'host-name' can't be established.

Version de l'API 2015-04-13405

Page 415: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurDéfi d’authentification : L’authenticité del’hôte ne peut pas être établie lors de laconnexion à un CodeCommit référentiel

Correctifs possibles : Vos informations d’identification peuvent ne pas être configurées correctement.Suivez les instructions de Pour les connexions SSH sousLinux, macOS, or Unix (p. 37) ou de Pour lesconnexions SSH sous Windows (p. 42).

Si vous avez suivi ces étapes et que le problème persiste, quelqu'un effectue peut-être une tentatived'attaque MITM. Lorsque le message suivant s'affiche, tapez no, puis appuyez sur Entrée.

Are you sure you want to continue connecting (yes/no)?

Assurez-vous que l'empreinte et la clé publique pour les connexions CodeCommit correspondent à cellesdocumentées dans les rubriques de configuration SSH avant de poursuivre la connexion.

Empreintes publiques pour CodeCommit

de bases de données Type de hachagecryptographique

Empreinte digitale

git-codecommit.us-east-2.amazonaws.com

MD5 a9:6d:03:ed:08:42:21:be:06:e1:e0:2a:d1:75:31:5e

git-codecommit.us-east-2.amazonaws.com

SHA256 3lBlW2g5xn/NA2Ck6dyeJIrQOWvn7n8UEs56fG6ZIzQ

git-codecommit.us-east-1.amazonaws.com

MD5 a6:9c:7d:bc:35:f5:d4:5f:8b:ba:6f:c8:bc:d4:83:84

git-codecommit.us-east-1.amazonaws.com

SHA256 eLMY1j0DKA4uvDZcl/KgtIayZANwX6t8+8isPtotBoY

git-codecommit.us-west-2.amazonaws.com

MD5 a8:68:53:e3:99:ac:6e:d7:04:7e:f7:92:95:77:a9:77

git-codecommit.us-west-2.amazonaws.com

SHA256 0pJx9SQpkbPUAHwy58UVIq0IHcyo1fwCpOOuVgcAWPo

git-codecommit.eu-west-1.amazonaws.com

MD5 93:42:36:ea:22:1f:f1:0f:20:02:4a:79:ff:ea:12:1d

git-codecommit.eu-west-1.amazonaws.com

SHA256 tKjRkOL8dmJyTmSbeSdN1S8F/f0iql3RlvqgTOP1UyQ

git-codecommit.ap-northeast-1.amazonaws.com

MD5 8e:a3:f0:80:98:48:1c:5c:6f:59:db:a7:8f:6e:c6:cb

git-codecommit.ap-northeast-1.amazonaws.com

SHA256 Xk/WeYD/K/bnBybzhiuu4dWpBJtXPf7E30jHU7se4Ow

git-codecommit.ap-southeast-1.amazonaws.com

MD5 65:e5:27:c3:09:68:0d:8e:b7:6d:94:25:80:3e:93:cf

git-codecommit.ap-southeast-1.amazonaws.com

SHA256 ZIsVa7OVzxrTIf+Rk4UbhPv6Es22mSB3uTBojfPXIno

git-codecommit.ap-southeast-2.amazonaws.com

MD5 7b:d2:c1:24:e6:91:a5:7b:fa:c1:0c:35:95:87:da:a0

git-codecommit.ap-southeast-2.amazonaws.com

SHA256 nYp+gHas80HY3DqbP4yanCDFhqDVjseefVbHEXqH2Ec

Version de l'API 2015-04-13406

Page 416: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurDéfi d’authentification : L’authenticité del’hôte ne peut pas être établie lors de laconnexion à un CodeCommit référentiel

de bases de données Type de hachagecryptographique

Empreinte digitale

git-codecommit.eu-central-1.amazonaws.com

MD5 74:5a:e8:02:fc:b2:9c:06:10:b4:78:84:65:94:22:2d

git-codecommit.eu-central-1.amazonaws.com

SHA256 MwGrkiEki8QkkBtlAgXbYt0hoZYBnZF62VY5RzGJEUY

git-codecommit.ap-northeast-2.amazonaws.com

MD5 9f:68:48:9b:5f:fc:96:69:39:45:58:87:95:b3:69:ed

git-codecommit.ap-northeast-2.amazonaws.com

SHA256 eegAPQrWY9YsYo9ZHIKOmxetfXBHzAZd8Eya53Qcwko

git-codecommit.sa-east-1.amazonaws.com

MD5 74:99:9d:ff:2b:ef:63:c6:4b:b4:6a:7f:62:c5:4b:51

git-codecommit.sa-east-1.amazonaws.com

SHA256 kW+VKB0jpRaG/ZbXkgbtMQbKgEDK7JnISV3SVoyCmzU

git-codecommit.us-west-1.amazonaws.com

MD5 3b:76:18:83:13:2c:f8:eb:e9:a3:d0:51:10:32:e7:d1

git-codecommit.us-west-1.amazonaws.com

SHA256 gzauWTWXDK2u5KuMMi5vbKTmfyerdIwgSbzYBODLpzg

git-codecommit.eu-west-2.amazonaws.com

MD5 a5:65:a6:b1:84:02:b1:95:43:f9:0e:de:dd:ed:61:d3

git-codecommit.eu-west-2.amazonaws.com

SHA256 r0Rwz5k/IHp/QyrRnfiM9j02D5UEqMbtFNTuDG2hNbs

git-codecommit.ap-south-1.amazonaws.com

MD5 da:41:1e:07:3b:9e:76:a0:c5:1e:64:88:03:69:86:21

git-codecommit.ap-south-1.amazonaws.com

SHA256 hUKwnTj7+Xpx4Kddb6p45j4RazIJ4IhAMD8k29itOfE

git-codecommit.ca-central-1.amazonaws.com

MD5 9f:7c:a2:2f:8c:b5:74:fd:ab:b7:e1:fd:af:46:ed:23

git-codecommit.ca-central-1.amazonaws.com

SHA256 Qz5puafQdANVprLlj6r0Qyh4lCNsF6ob61dGcPtFS7w

git-codecommit.eu-west-3.amazonaws.com

MD5 1b:7f:97:dd:d7:76:8a:32:2c:bd:2c:7b:33:74:6a:76

git-codecommit.eu-west-3.amazonaws.com

SHA256 uw7c2FL564jVoFgtc+ikzILnKBsZz7t9+CFdSJjKbLI

git-codecommit.us-gov-west-1.amazonaws.com

MD5 9f:6c:19:3b:88:cd:e8:88:1b:9c:98:6a:95:31:8a:69

git-codecommit.us-gov-west-1.amazonaws.com

SHA256 djXQoSIFcg8vHe0KVH1xW/gOF9X37tWTqu4Hkng75x4

git-codecommit.us-gov-east-1.amazonaws.com

MD5 00:8d:b5:55:6f:05:78:05:ed:ea:cb:3f:e6:f0:62:f2

Version de l'API 2015-04-13407

Page 417: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurIAM erreur : ’Format non valide’ lors de latentative d’ajout d’une clé publique à IAM

de bases de données Type de hachagecryptographique

Empreinte digitale

git-codecommit.us-gov-east-1.amazonaws.com

SHA256 fVb+R0z7qW7minenW+rUpAABRCRBTCzmETAJEQrg98

git-codecommit.eu-north-1.amazonaws.com

MD5 8e:53:d8:59:35:88:82:fd:73:4b:60:8a:50:70:38:f4

git-codecommit.eu-north-1.amazonaws.com

SHA256 b6KSK7xKq+V8jl7iuAcjqXsG7zkqoUZZmmhYYFBq1wQ

git-codecommit.me-south-1.amazonaws.com

MD5 0e:39:28:56:d5:41:e6:8d:fa:81:45:37:fb:f3:cd:f7

git-codecommit.me-south-1.amazonaws.com

SHA256 O+NToCGgjrHekiBuOl0ad7ROGEsz+DBLXOd/c9wc0JU

git-codecommit.ap-east-1.amazonaws.com

MD5 a8:00:3d:24:52:9d:61:0e:f6:e3:88:c8:96:01:1c:fe

git-codecommit.ap-east-1.amazonaws.com

SHA256 LafadYwUYW8hONoTRpojbjNs9IRnbEwHtezD3aAIBX0

git-codecommit.cn-north-1.amazonaws.com.cn

MD5 11:7e:2d:74:9e:3b:94:a2:69:14:75:6f:5e:22:3b:b3

git-codecommit.cn-north-1.amazonaws.com.cn

SHA256 IYUXxH2OpTDsyYMLIp+JY8CTLS4UX+ZC5JVZXPRaxc8

git-codecommit.cn-northwest-1.amazonaws.com.cn

MD5 2e:a7:fb:4c:33:ac:6c:f9:aa:f2:bc:fb:0a:7b:1e:b6

git-codecommit.cn-northwest-1.amazonaws.com.cn

SHA256 wqjd6eHd0+mOBx+dCNuL0omUoCNjaDtZiEpWj5TmCfQ

git-codecommit.eu-south-1.amazonaws.com

MD5 b9:f6:5d:e2:48:92:3f:a9:37:1e:c4:d0:32:0e:fb:11

git-codecommit.eu-south-1.amazonaws.com

SHA256 lyXrWbCg3uQmJrl1XxB/ASR7ugW1Ysf5yzYOJbudHsI

IAM erreur : ’Format non valide’ lors de la tentatived’ajout d’une clé publique à IAMProblème : dans IAM, lorsque vous essayez de configurer pour utiliser SSH avec CodeCommit, unmessage d’erreur s’affiche contenant l’expression Invalid format lorsque vous essayez d’ajouter votreclé publique.

Correctifs possibles : IAM accepte les clés publiques dans le OpenSSH format uniquement et a desexigences supplémentaires telles que spécifiées dans Utilisation des clés SSH avec CodeCommit dansle IAM Guide de l’utilisateur. Vous verrez cette erreur si vous fournissez votre clé publique dans un autreformat, ou si la clé ne contient pas le nombre nécessaire de bits.

Version de l'API 2015-04-13408

Page 418: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurJ’ai besoin d’accéder CodeCommit

référentiels dans plusieurs AWS comptesavec informations d’identification SSH

• Lorsque vous avez copié la clé publique SSH, il est possible que votre système d'exploitation ait introduitdes sauts de ligne. Assurez-vous qu'il n'y a pas de sauts de ligne dans la clé publique à laquelle vousajoutez IAM.

• Certains systèmes d’exploitation Windows n’utilisent pas OpenSSH format. Pour générer une paire declés et copier le OpenSSH format requis par IAM, voir the section called “Étape 3 : Configuration des cléspubliques et privées pour Git etCodeCommit” (p. 44).

Pour de plus amples informations sur la configuration requise pour les clés SSH dans IAM, veuillezconsulter Utiliser les clés SSH avec CodeCommit dans le Guide de l'utilisateur IAM.

J’ai besoin d’accéder CodeCommit référentielsdans plusieurs AWS comptes avec informationsd’identification SSHProblème : Je souhaite configurer l’accès SSH à CodeCommit référentiels dans plus d’un AWS compte.

Correctifs possibles : Vous pouvez créer des paires de clés SSH publiques/privées uniques pour chaqueAWS compte et configurer IAM avec chaque clé. Vous pouvez ensuite configurer votre fichier ~/.ssh/configavec des informations sur chaque IAM ID utilisateur associé à la clé publique. Exemple :

Host codecommit-1 Hostname git-codecommit.us-east-1.amazonaws.com User SSH-KEY-ID-1 # This is the SSH Key ID you copied from IAM in AWS account 1 (for example, APKAEIBAERJR2EXAMPLE1). IdentityFile ~/.ssh/codecommit_rsa # This is the path to the associated public key file, such as id_rsa. We advise creating CodeCommit specific _rsa files. Host codecommit-2 Hostname git-codecommit.us-east-1.amazonaws.com User SSH-KEY-ID-2 # This is the SSH Key ID you copied from IAM in AWS account 2 (for example, APKAEIBAERJR2EXAMPLE2). IdentityFile ~/.ssh/codecommit_2_rsa # This is the path to the other associated public key file. We advise creating CodeCommit specific _rsa files.

Dans cette configuration, vous pourrez remplacer « git-codecommit.us-east-1.amazonaws.com » par «codecommit-2 ». Par exemple, pour cloner un référentiel dans votre deuxième AWS compte :

git clone ssh://codecommit-2/v1/repos/YourRepositoryName

Pour configurer un distant pour votre référentiel, exécutez git remote add. Par exemple :

git remote add origin ssh://codecommit-2/v1/repos/YourRepositoryName

Pour plus d’exemples, voir ce billet de forum et cette contribution sur GitHub.

Sous Windows : L’émulateur Bash ou la ligne decommande se fige lors de la tentative de connexion àl’aide de SSHProblème : Après avoir configuré l’accès SSH pour Windows et confirmé la connectivité au niveau de laligne de commande ou du terminal, vous voyez un message indiquant que la clé hôte du serveur n’est pas

Version de l'API 2015-04-13409

Page 419: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurDépannage de l’assistant

d’informations d’identification (HTTPS)

mise en cache dans le registre, et l’invite de stockage de la clé dans le cache est gelée (n’accepte pasl’entrée y/n/return) lorsque vous essayez d’utiliser des commandes telles que git pull, git pushou git clone àl’invite de commande ou à l’émulateur Bash.

Correctifs possibles : La cause la plus courante de cette erreur est que votre environnement Git estconfiguré pour utiliser autre chose que OpenSSH pour l’authentification (probablement PuTTY). Ceci estune cause connue de problèmes liés à la mise en cache des clés dans certaines configurations. Pourrésoudre ce problème, essayez l'une des actions suivantes :

• Ouvrez un émulateur Bash et ajoutez le paramètre GIT_SSH_COMMAND="ssh" avant la commande Git.Par exemple, si vous essayez de pousser vers un référentiel, au lieu de taper git push, tapez :

GIT_SSH_COMMAND="ssh" git push

• Si vous avez PuTTY installé, ouvert PuTTY, et dans Nom d’hôte (ou adresse IP), saisissez leCodeCommit du point de terminaison que vous souhaitez atteindre (par exemple, git-codecommit.us-east-2.amazonaws.com). Choisissez Open. Lorsque vous y êtes invité par le PuTTY alerte de sécurité,choisir Oui pour mettre la clé en cache de façon permanente.

• Renommez ou supprimez la variable d'environnement GIT_SSH si vous ne l'utilisez plus. Ensuite, ouvrezune nouvelle invite de commande ou session d'émulateur Bash, puis réessayez votre commande.

Pour d'autres solutions, consultez Git clone/pull continually freezing at Store key in cache sur StackOverflow.

Dépannage de l’assistant d’informationsd’identification et des connexions HTTPS à AWSCodeCommit

Les informations suivantes vous aident à résoudre les problèmes courants que vous êtes susceptible derencontrer lorsque vous utilisez l'assistant d'informations d'identification fourni avec l'AWS CLI et de HTTPSpour vous connecter aux référentiels CodeCommit.

Note

Bien que l'assistant d'informations d'identification soit une méthode prise en charge pour seconnecter à CodeCommit à l'aide d'un accès fédéré, d'un fournisseur d'identité ou d'informationsd'identification temporaires, la méthode recommandée consiste à installer et à utiliser l'utilitaire git-remote-codecommit. Pour plus d'informations, consultez la section Étapes de configuration pourles connexions HTTPS à AWS CodeCommit avec git-remote-codecommit (p. 15).

Rubriques• Erreur « Commande introuvable » renvoyée dans Windows lors de l'utilisation de l'assistant

d'informations d'identification (p. 411)• On me demande un nom d’utilisateur lorsque je me connecte à un CodeCommit référentiel (p. 411)• pour macOS: J’ai configuré l’assistant d’informations d’identification avec succès, mais je ne peux plus

accéder à mon référentiel (403) (p. 412)• Git pour Windows : J’ai installé Git pour Windows, mais je ne peux pas accéder à mon référentiel

(403) (p. 414)

Version de l'API 2015-04-13410

Page 420: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurErreur « Commande introuvable » renvoyée dans Windows

lors de l'utilisation de l'assistant d'informations d'identification

Erreur « Commande introuvable » renvoyéedans Windows lors de l'utilisation de l'assistantd'informations d'identificationProblème : Après la mise à jour du AWS de l’interface de ligne de commande, connexions d’assistantd’informations d’identification à CodeCommit les référentiels échouent avec aws codecommitcredential-helper $@ get: aws: command not found.

Cause: La raison la plus courante de cette erreur est que votre AWS La version de l’interface de lignede commande a été mise à jour vers une version qui utilise Python 3. C'est un problème connu avec lepackage MSI. Pour vérifier si votre version est concernée, ouvrez une ligne de commande et exécutez lacommande suivante : aws --version

Si la version de Python de sortie commence par 3, votre version est concernée. Exemple :

aws-cli/1.16.62 Python/3.6.2 Darwin/16.7.0 botocore/1.12.52

Correctifs possibles : Vous pouvez contourner ce problème en effectuant l’une des actions suivantes :

• Installez et configurez l'AWS CLI sur Windows avec Python et pip au lieu du MSI. Pour plusd'informations, consultez la page Installation de Python, pip, et de l'AWS CLI sous Windows.

• Modifiez manuellement votre fichier .gitconfig pour changer la section [credential] afin qu'ellepointe explicitement vers aws.cmd sur votre ordinateur local. Exemple :

[credential] helper = !"\C:\\Program Files\\Amazon\\AWSCLI\\bin\\aws.cmd\" codecommit credential-helper $@ UseHttpPath = true

• Exécutez la commande git config pour mettre à jour votre fichier .gitconfig afin de référencerexplicitement aws.cmd, et mettez à jour manuellement votre variable d'environnement PATH pourinclure le chemin vers la commande, si nécessaire. Exemple :

git config --global credential.helper "!aws.cmd codecommit credential-helper $@"git config --global credential.UseHttpPath true

On me demande un nom d’utilisateur lorsque je meconnecte à un CodeCommit référentielProblème : Lorsque vous essayez d’utiliser l’assistant d’informations d’identification pour communiqueravec un Référentiel CodeCommit, un message s’affiche pour vous demander votre nom d’utilisateur.

Correctifs possibles : Configurez votre profil AWS ou assurez-vous que le profil que vous utilisez estcelui que vous avez configuré pour utiliser CodeCommit. Pour plus d'informations sur la configuration,consultez Étapes de configuration pour les connexions HTTPS à AWS CodeCommit référentiels sur Linux,macOS, or Unix avec le AWS CLI aide d’informations d’identification (p. 48) ou Étapes de configurationpour les connexions HTTPS à AWS CodeCommit des référentiels sur Windows avec le AWS CLI aided’informations d’identification (p. 53). Pour plus d'informations sur IAM, les clés d'accès et les clés secrètes,consultez Gestion des clés d'accès pour les utilisateurs IAM et Comment puis-je obtenir des informationsd'identification ?.

Version de l'API 2015-04-13411

Page 421: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurpour macOS: J’ai configuré l’assistant d’informations

d’identification avec succès, mais je nepeux plus accéder à mon référentiel (403)

pour macOS: J’ai configuré l’assistant d’informationsd’identification avec succès, mais je ne peux plusaccéder à mon référentiel (403)Problème : Le macOS, l’assistant d’informations d’identification ne semble pas accéder à ou utiliser vosinformations d’identification comme prévu. Cela peut être provoqué par deux problèmes différents :

• L'AWS CLI est configurée pour une région AWS autre que celle où le référentiel existe.• L'utilitaire Keychain Access a enregistré des informations d'identification qui ont expiré depuis.

Correctifs possibles : Pour vérifier si le AWS CLI est configuré pour la région correcte, exécutez le awsconfigure et examinez les informations affichées. Si le référentiel CodeCommit se trouve dans une autrerégion AWS que celle de l'AWS CLI, vous devez exécuter la commande aws configure et changer lesvaleurs de façon à utiliser celles qui sont appropriées pour cette région. Pour plus d'informations, consultezla section Étape 1 : Configuration initiale pour CodeCommit (p. 48).

La version par défaut de Git publiée sur OS X et macOS utilise l'utilitaire Keychain Access pour enregistrerles informations d'identification générées. Pour des raisons de sécurité, le mot de passe généré pouraccéder à votre référentiel CodeCommit est temporaire. Les informations d'identification stockées dans letrousseau (keychain) cessent donc de fonctionner après environ 15 minutes. Si vous accédez uniquementà Git avec CodeCommit, essayez les actions suivantes :

1. Dans le terminal, exécutez la commande git config pour trouver le fichier de configuration Git(gitconfig) dans lequel l'utilitaire Keychain Access est défini. En fonction de votre système local etde vos préférences, vous pouvez avoir plusieurs fichiers gitconfig.

$ git config -l --show-origin | grep credential

Dans la sortie de cette commande, rechercher des résultats similaires à:

file:/path/to/gitconfig credential.helper=osxkeychain

Le fichier indiqué au début de cette ligne est le fichier de configuration Git que vous devez modifier.2. Pour modifier le fichier de configuration Git, utilisez un éditeur de texte brut ou exécutez la commande

suivante :

$ nano /usr/local/git/etc/gitconfig

3. Modifiez la configuration à l’aide de l’une des stratégies suivantes :

• Commentez ou supprimez la section d’informations d’identification qui contient helper =osxkeychain. Par exemple :

# helper = osxkeychain

• Mettez à jour les deux aws credential helper et osxkeychain sections d’aide auxinformations d’identification pour avoir le contexte. Par exemple, si osxkeychain est utilisé pours’authentifier sur GitHub:

[credential "https://git-codecommit.us-east-1.amazonaws\.com"] helper = !aws --profile CodeCommitProfile codecommit credential-helper $@ UseHttpPath = true[credential "https://github.com"]

Version de l'API 2015-04-13412

Page 422: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurpour macOS: J’ai configuré l’assistant d’informations

d’identification avec succès, mais je nepeux plus accéder à mon référentiel (403)

helper = osxkeychain

Dans cette configuration, Git utilisera le osxkeychain de l’assistant lorsque l’hôte distantcorrespond à "https://github.com" et l’assistant d’informations d’identification lorsque l’hôtedistant correspond à "https://git-codecommit\.us-east-1\.amazonaws.com".

• Incluez un assistant de chaîne vide avant l’assistant d’informations d’identification. Exemple :

[credential] helper = helper = !aws --profile CodeCommitProfile codecommit credential-helper $@ UseHttpPath = true

Sinon, si vous souhaitez continuer à utiliser l'utilitaire Keychain Access pour mettre en cache lesinformations d'identification pour d'autres référentiels Git, modifiez l'en-tête au lieu de mettre la ligneen commentaire. Par exemple, pour autoriser les informations d’identification mises en cache pourGitHub, vous pouvez modifier l’en-tête comme suit :

[credential "https://github.com"] helper = osxkeychain

Si vous accédez à d'autres référentiels avec Git, vous pouvez configurer l'utilitaire Keychain Access pourqu'il ne fournisse pas des informations d'identification pour vos référentiels CodeCommit. Pour configurerl'utilitaire Keychain Access :

1. Ouvrez l'utilitaire Keychain Access. (Vous pouvez utiliser l'outil de recherche pour le localiser).2. à rechercher git-codecommit.us-east-2.amazonaws.com et remplacer us-east-2 avec le

AWS Région où le référentiel existe. Mettre la ligne en surbrillance, ouvrez le menu contextuel (clicdroit) et choisissez Get Info.

3. Choisissez l'onglet Access Control.4. Dans Confirm before allowing access, choisissez git-credential-osxkeychain, puis

sélectionnez le signe moins pour le supprimer de la liste.

Note

Après avoir supprimé git-credential-osxkeychain de la liste, vous voyez une boîte dedialogue contextuelle chaque fois que vous exécuterez une commande Git. Choisissez Denypour continuer. Si vous trouvez les fenêtres contextuelles trop perturbatrices, voici quelquessolutions alternatives :

• Se connecter à CodeCommit utilisation de SSH ou informations d’identification Git aulieu de l’assistant d’informations d’identification avec du protocole HTTPS. Pour de plusamples informations, veuillez consulter Pour les connexions SSH sousLinux, macOS,or Unix (p. 37) et Configuration pour les utilisateurs HTTPS à l’aide d’informationsd’identification Git (p. 10).

• Dans l'utilitaire Keychain Access, sous l'onglet Access Control pour git-codecommit.us-east-2.amazonaws.com, choisissez l'option Allow all applicationsto access this item (access to this item is not restricted). Cela permet d'éviter les fenêtrescontextuelles, mais les informations d'identification finissent par expirer (en revanche, celaprendra environ 15 minutes) et vous voyez un message d'erreur 403. Dans ce cas, vousdevez supprimer l'élément keychain pour restaurer les fonctionnalités.

• Installez une version de Git qui n'utilise pas le trousseau (keychain) par défaut.• Envisagez d'utiliser une solution de script pour supprimer l'élément keychain. Pour voir

un exemple d'une solution scriptée générée par la communauté, consultez Mac OS XVersion de l'API 2015-04-13

413

Page 423: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurGit pour Windows : J’ai installé Git pour Windows,

mais je ne peux pas accéder à mon référentiel (403)

Script to Periodically Delete Cached Credentials in the OS X Certificate Store (p. 94) dansIntégrations de produits et services (p. 86).

Pour que Git n'utilise plus complètement l'utilitaire Keychain Access, vous pouvez le configurer de façonà ce qu'il arrête d'utiliser « osxkeychain » comme assistant d'informations d'identification. Par exemple, sivous ouvrez un terminal et exécutez la commande git config --system credential.helper, etqu'elle renvoie osxkeychain, cela indique que Git est défini pour utiliser l'utilitaire Keychain Access. Pourmodifier cela, exécutez la commande suivante :

git config --system --unset credential.helper

Notez que lorsque vous exécutez cette commande avec l'option --system, le comportement deGit est modifié dans tout le système pour tous les utilisateurs, et cela peut avoir des conséquencesinattendues pour les autres utilisateurs, ou pour d'autres référentiels si vous utilisez d'autres services deréférentiel outre CodeCommit. Notez également que cette approche peut exiger l'utilisation de sudo etque votre compte ne disposera pas nécessairement des autorisations système suffisantes pour appliquercette modification. Vérifiez que la commande a été appliquée correctement en exécutant à nouveaula commande git config --system credential.helper. Pour plus d'informations, consultezPersonnalisation Git - Configuration Git et cet article sur le débordement de pile.

Git pour Windows : J’ai installé Git pour Windows,mais je ne peux pas accéder à mon référentiel (403)Problème : Sous Windows, l’assistant d’informations d’identification ne semble pas accéder à ou utiliser vosinformations d’identification comme prévu. Cela peut être provoqué par différents problèmes :

• L'AWS CLI est configurée pour une région AWS autre que celle où le référentiel existe.• Par défaut, Git pour Windows installe un utilitaire Gestionnaire d'informations d'identification Git qui n'est

pas compatible avec les connexions CodeCommit utilisant l'assistant d'informations d'identification AWS.Lorsqu'il est installé, il entraîne l'échec des connexions au référentiel, même si l'assistant d'informationsd'identification a été installé avec l'AWS CLI et configuré pour les connexions à CodeCommit.

• Certaines versions de Git pour Windows peuvent ne pas être entièrement conformes avec lesspécifications RFC 2617 et RFC 4559, ce qui peut potentiellement entraîner des problèmes liés auxinformations d'identification Git et à l'assistant d'informations d'identification inclus avec l'AWS CLI. Pourplus d'informations, consultez Version 2.11.0(3) does not ask for username/password.

Correctifs possibles :

• Si vous tentez d'utiliser l'assistant d'informations d'identification inclus avec l'AWS CLI, vous pouvezvous connecter avec les informations d'identification Git sur HTTPS plutôt que de passer par l'assistantd'informations d'identification. Les informations d'identification Git configurées pour votre utilisateur IAMsont compatibles avec le Gestionnaire d'informations d'identification Git pour Windows, contrairement àl'assistant pour AWS CodeCommit. Pour plus d'informations, consultez la section Pour les utilisateursHTTPS utilisant des informations d’identification Git (p. 10).

Si vous souhaitez utiliser l'assistant d'informations d'identification, pour savoir si l'AWS CLI est configuréepour la bonne région AWS, exécutez la commande aws configure et passez en revue les donnéesaffichées. Si le référentiel CodeCommit se trouve dans une autre région AWS que celle de l'AWS CLI,vous devez exécuter la commande aws configure et changer les valeurs de façon à utiliser celles quisont appropriées pour cette région. Pour plus d'informations, consultez la section Étape 1 : Configurationinitiale pour CodeCommit (p. 54).

• Si possible, désinstallez, puis réinstallez Git pour Windows. Lorsque vous installez Git pour Windows,désactivez la case à cocher pour l'option correspondant à l'installation de l'utilitaire Gestionnaire des

Version de l'API 2015-04-13414

Page 424: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurDépannage des clients Git

informations d'identification Git. Ce gestionnaire d'informations d'identification n'est pas compatible avecl'assistant d'informations d'identification pour AWS CodeCommit. Si vous avez installé le Gestionnairedes informations d'identification Git ou un autre utilitaire de gestion des informations d'identification etque vous ne souhaitez pas le désinstaller, vous pouvez modifier votre fichier .gitconfig et ajouter unegestion des informations d'identification spécifique pour CodeCommit :

1. Ouvrez le Panneau de configuration, choisissez Gestionnaire d'informations d'identification etsupprimez les informations d'identification stockées pour CodeCommit.

2. Ouvrez votre fichier .gitconfig dans un éditeur de texte brut, tel que le Bloc-Notes.Note

Si vous travaillez avec plusieurs profils Git, il se peut que vous ayez à la fois des fichiers.gitconfig locaux et globaux. Veillez à modifier le fichier approprié.

3. Ajoutez la section suivante à votre fichier .gitconfig :

[credential "https://git-codecommit.*.amazonaws.com"] helper = !aws codecommit credential-helper $@ UseHttpPath = true

4. Enregistrez le fichier et ouvrez une nouvelle session de ligne de commande avant d'essayer de vousconnecter à nouveau.

Vous pouvez également utiliser cette approche si vous souhaitez utiliser l’assistant d’informationsd’identification pour AWS CodeCommit lorsque vous connectez à CodeCommit et un autre système degestion des informations d’identification lorsque vous connectez à d’autres référentiels hébergés, tels queGitHub référentiels.

Pour réinitialiser l'assistant d'informations d'identification utilisé par défaut, vous pouvez utiliser l'option --system au lieu de --global ou --local lorsque vous exécutez la commande git config.

• Si vous utilisez les informations d'identification Git sur un ordinateur Windows, vous pouvez essayer decontourner les problèmes de non-conformité avec les spécifications RFC en incluant le nom d'utilisateurde vos informations d'identification Git dans la chaîne de connexion. Par exemple, pour contourner leproblème et cloner un référentiel nommé MyDemoRepo dans le USA Est (Ohio) Région :

git clone https://Your-Git-Credential-Username@git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo my-demo-repo

Note

Cette approche ne fonctionne pas si le nom d'utilisateur de vos informations d'identification Gitcontient un caractère @. Vous devez utiliser le codage d'URL (également appelé échappementd'URL ou encodage de pourcentage).

Dépannage des clients Git et AWS CodeCommitLes informations suivantes vous aident à résoudre les problèmes courants que vous êtes susceptiblede rencontrer lors de l'utilisation de Git avec les référentiels AWS CodeCommit. Pour résoudre lesproblèmes relatifs aux clients Git lors de l'utilisation de HTTPS ou SSH, consultez également Dépannagedes informations d’identification Git (HTTPS) (p. 401), Dépannage des connexions SSH (p. 404) etDépannage de l’assistant d’informations d’identification (HTTPS) (p. 410).

Rubriques• Erreur Git : Erreur : Échec RPC ; résultat = 56, code HTTP = 200 fatal : L’extrémité distante a

raccroché de façon inattendue (p. 416)

Version de l'API 2015-04-13415

Page 425: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurErreur Git : Erreur : Échec RPC ; résultat= 56, code HTTP = 200 fatal : L’extrémitédistante a raccroché de façon inattendue

• Erreur Git : Trop de commandes de mise à jour de référence (p. 416)• Erreur Git : La transmission via HTTPS est brisée dans certaines versions de Git (p. 416)• Erreur Git : 'gnutls_handshake() failed' (p. 416)• Erreur Git : Git ne trouve pas le CodeCommit du référentiel ou n’a pas l’autorisation d’accéder au

référentiel (p. 417)• Sous Windows : Aucune méthode d’authentification prise en charge disponible (clé publique) (p. 417)

Erreur Git : Erreur : Échec RPC ; résultat = 56, codeHTTP = 200 fatal : L’extrémité distante a raccroché defaçon inattendueProblème : Lorsque vous transmettez une modification de grande taille, un grand nombre de modificationsou un référentiel volumineux, les connexions HTTPS de longue durée prennent souvent fin prématurémenten raison de problèmes réseau ou de paramètres du pare-feu.

Correctifs possibles : Poussez avec SSH à la place, ou lorsque vous migrez un référentiel volumineux,suivez les étapes de Migrer un référentiel par incréments (p. 301). Assurez-vous que vous nedépassez pas la limite de taille des fichiers individuels. Pour plus d'informations, consultez la sectionQuotas (p. 432).

Erreur Git : Trop de commandes de mise à jour deréférenceProblème : Le nombre maximum de mises à jour de référence par transmission est de 4 000. Cette erreurs'affiche lorsque la transmission contient plus de 4 000 mises à jour de référence.

Correctifs possibles : Essayez de pousser les branches et les balises individuellement avec git push --all et git push --tags. Si vous avez trop de balises, divisez-les en plusieurs transmissions. Pour plusd'informations, consultez la section Quotas (p. 432).

Erreur Git : La transmission via HTTPS est brisée danscertaines versions de GitProblème : Un problème avec la mise à jour curl vers 7.41.0 entraîne l’échec de l’authentification de lavaleur de hachage basée sur SSPI. Les versions concernées connues de Git incluent 1.9.5.msysgit.1.Certaines versions de Git pour Windows peuvent ne pas être entièrement conformes avec RFC 2617 etRFC 4559, ce qui peut potentiellement entraîner des problèmes liés aux connexions HTTPS utilisant desinformations d'identification Git ou à l'assistant d'informations d'identification inclus avec l'AWS CLI.

Correctifs possibles : Vérifiez votre version de Git pour les problèmes connus ou utilisez une versionantérieure ou ultérieure. Pour plus d’informations sur mysysgit, consultez La transmission vers HTTPSest interrompue dans le GitHub forums. Pour plus d'informations sur les problèmes des versions Git pourWindows, consultez la section Version 2.11.0(3) does not ask for username/password.

Erreur Git : 'gnutls_handshake() failed'Problème : Sous Linux, lorsque vous essayez d’utiliser Git pour communiquer avec un RéférentielCodeCommit, un message d’erreur s’affiche contenant l’expression error: gnutls_handshake()failed.

Version de l'API 2015-04-13416

Page 426: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurErreur Git : Git ne trouve pas le CodeCommit du référentiel

ou n’a pas l’autorisation d’accéder au référentiel

Correctifs possibles : Compiler Git contre OpenSSL. Pour une approche, voir "Erreur : échec degnutls_handshake()" lors de la connexion aux serveurs HTTPS dans les forums Ask Ubuntu.

Sinon, utilisez SSH au lieu de HTTPS pour communiquer avec des référentiels CodeCommit.

Erreur Git : Git ne trouve pas le CodeCommit duréférentiel ou n’a pas l’autorisation d’accéder auréférentielProblème : Une barre oblique de fin dans la chaîne de connexion peut entraîner l’échec des tentatives deconnexion.

Correctifs possibles : Assurez-vous que vous avez fourni le nom et la chaîne de connexion corrects pourle référentiel et qu’il n’y a pas de barres obliques de fin. Pour plus d'informations, consultez la sectionConnexion à un référentiel (p. 99).

Sous Windows : Aucune méthode d’authentificationprise en charge disponible (clé publique)Problème : Après avoir configuré l’accès SSH pour Windows, vous voyez une erreur d’accès refusé lorsquevous essayez d’utiliser des commandes telles que git pull, git pushou git clone.

Correctifs possibles : La cause la plus courante de cette erreur est qu’une variable d’environnementGIT_SSH existe sur votre ordinateur et est configurée pour prendre en charge un autre utilitaire deconnexion, tel que PuTTY. Pour résoudre ce problème, essayez l’une des méthodes suivantes :

• Ouvrez un émulateur Bash et ajoutez le paramètre GIT_SSH_COMMAND="ssh" avant la commandeGit. Par exemple, si vous essayez de cloner un référentiel, au lieu d'exécuter git clone ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo my-demo-repo, exécutez :

GIT_SSH_COMMAND="ssh" git clone ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo my-demo-repo

• Renommez ou supprimez la variable d'environnement GIT_SSH si vous ne l'utilisez plus. Ensuite, ouvrezune nouvelle invite de commande ou session d'émulateur Bash, puis réessayez votre commande.

Pour en savoir plus sur le dépannage des problèmes Git sous Windows lors de l'utilisation de SSH,consultez Dépannage des connexions SSH (p. 404).

Dépannage des erreurs d’accès et AWSCodeCommit

Les informations suivantes vous aident à résoudre les erreurs d'accès lors de la connexion à desréférentiels AWS CodeCommit.

Rubriques• Erreur d’accès : On me demande un nom d’utilisateur et un mot de passe lorsque je me connecte à un

CodeCommit du référentiel à partir de Windows (p. 418)• Erreur d’accès : Clé publique refusée lors de la connexion à un CodeCommit référentiel (p. 418)• Erreur d’accès : message “Taux dépassé” ou “429” lors de la connexion à un CodeCommit

référentiel (p. 418)

Version de l'API 2015-04-13417

Page 427: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurErreur d’accès : On me demande un nom d’utilisateur

et un mot de passe lorsque je me connecte à unCodeCommit du référentiel à partir de Windows

Erreur d’accès : On me demande un nom d’utilisateuret un mot de passe lorsque je me connecte à unCodeCommit du référentiel à partir de WindowsProblème : Lorsque vous essayez d’utiliser Git pour communiquer avec un Référentiel CodeCommit, uneboîte de dialogue vous invite à saisir votre nom d’utilisateur et votre mot de passe.

Correctifs possibles : Il peut s’agir du système de gestion des informations d’identification intégré pourWindows. Selon votre configuration, procédez comme suit :

• Si vous utilisez HTTPS avec des informations d'identification Git, vos informations d'identification Git nesont pas encore stockées dans le système. Fournissez les informations d'identification Git et continuez.Elles ne devraient plus vous être demandées. Pour plus d'informations, consultez la section Pour lesutilisateurs HTTPS utilisant des informations d’identification Git (p. 10).

• Si vous utilisez HTTPS avec l'assistant d'informations d'identification pour AWS CodeCommit, il n'estpas compatible avec le système de gestion des informations d'identification Windows. Choisissez Cancel(Annuler).

Cela peut aussi indiquer que vous avez installé le gestionnaire d'informations d'identification de Git dansle cadre de l'installation de Git pour Windows. Le gestionnaire d'informations d'identification Git n'estpas compatible avec l'assistant d'informations d'identification pourCodeCommit inclus avec l'AWS CLI.Envisagez de désinstaller le gestionnaire d'informations d'identification Git. Vous pouvez égalementinstaller et configurer git-remote-codecommit au lieu d'utiliser l'assistant d'informations d'identificationpour CodeCommit.

Pour plus d'informations, consultez Étapes de configuration pour les connexions HTTPS à AWSCodeCommit avec git-remote-codecommit (p. 15), Pour les connexions HTTPS sur Windows avec leAWS CLI aide d’informations d’identification (p. 53) et Git pour Windows : J’ai installé Git pour Windows,mais je ne peux pas accéder à mon référentiel (403) (p. 414).

Erreur d’accès : Clé publique refusée lors de laconnexion à un CodeCommit référentielProblème : Lorsque vous essayez d’utiliser un point de terminaison SSH pour communiquer avec unRéférentiel CodeCommit, un message d’erreur s’affiche contenant l’expression Error: public keydenied.

Correctifs possibles : La raison la plus courante de cette erreur est que vous n’avez pas terminé laconfiguration des connexions SSH. Configurez une paire de clés SSH publique et privée, puis associez laclé publique à votre utilisateur IAM. Pour plus d'informations sur la configuration de SSH, consultez Pourles connexions SSH sousLinux, macOS, or Unix (p. 37) et Pour les connexions SSH sous Windows (p. 42).

Erreur d’accès : message “Taux dépassé” ou “429”lors de la connexion à un CodeCommit référentielProblème : Lorsque vous essayez de communiquer avec un CodeCommit , un message indiquant « RateExceeded » ou avec le code d’erreur « 429 » s’affiche. La communication ralentit considérablement ouéchoue.

Cause: Tous les appels vers CodeCommit, qu’il s’agisse d’une application, le AWS CLI, un client Git ouAWS Management Console sont soumis à un nombre maximal de demandes par seconde et à l’ensemble

Version de l'API 2015-04-13418

Page 428: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurDépannage des erreurs de configuration

des demandes actives. Vous ne pouvez pas dépasser le taux de demandes maximal autorisé pour uncompte AWS, quelle que soit la région AWS. Si les demandes dépassent le taux maximal, vous recevezune erreur et les appels suivants sont provisoirement limités pour votre compte AWS. Pendant la périodede limitation, vos connexions à CodeCommit sont ralenties et peuvent échouer.

Correctifs possibles : Prenez des mesures pour réduire le nombre de connexions ou d’appels àCodeCommit ou pour étaler les demandes. Voici quelques éléments à prendre en compte :

• Mettez en œuvre des paramètres d'instabilité dans les demandes, en particulier pour les demandesd'interrogation périodiques

Si vous avez une application qui interroge CodeCommit régulièrement et que cette application s'exécutesur plusieurs instances Amazon EC2, introduisez une condition d'instabilité (délai aléatoire) de façon àce que les différentes instances Amazon EC2 ne lancent pas les interrogations en même temps. Nousrecommandons un délai aléatoire entre 0 et 59 secondes pour répartir uniformément les mécanismesd'interrogation dans un délai d'une minute.

• Utilisez une architecture basée sur des événements plutôt que l'interrogation

Plutôt que l'interrogation, utilisez une architecture basée sur les événements, afin que les appels soientuniquement réalisés lorsqu'un événement se produit. Pensez à utiliser les notifications CloudWatchEvents pour les événements AWS CodeCommit pour déclencher votre flux de travail.

• Implémenter les nouvelles tentatives d’erreur et les interruptions exponentielles pour APIs et des actionsGit automatisées

Les nouvelles tentatives après erreur et les interruptions exponentielles peuvent contribuer à réduire letaux d'appels. Chaque kit SDK AWS met en œuvre une logique automatique de nouvelle tentative et desalgorithmes de backoff exponentiel. Pour les commandes Git push et Git pull automatisées, vous devrezpeut-être mettre en œuvre votre propre logique de nouvelle tentative. Pour plus d'informations, consultezla page Nouvelles tentatives après erreur et interruptions exponentielles dans AWS.

• Demander un CodeCommit une augmentation du quota de service dans le AWS Centre d’assistance

Pour recevoir une augmentation de limite de service, vous devez vérifier que vous avez déjà suiviles suggestions proposées ici, y compris la mise en œuvre de nouvelles tentatives après erreur oud'interruption exponentielle. Dans votre demande, vous devez également indiquer la région AWS, lecompte AWS et la période concernés par les problèmes de limitation.

Dépannage des erreurs de configuration et AWSCodeCommit

Les informations suivantes vous aident à résoudre les erreurs de configuration que vous êtes susceptiblede rencontrer lors de la connexion à des référentiels AWS CodeCommit.

Rubriques• Erreur de configuration : Impossible de configurer AWS CLI informations d’identification sur

macOS (p. 419)

Erreur de configuration : Impossible de configurerAWS CLI informations d’identification sur macOSProblème : Lorsque vous exécutez aws configure pour configurer le AWS CLI, vous voyez unConfigParseError message.

Version de l'API 2015-04-13419

Page 429: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurRésolution des erreurs de la console

Correctifs possibles : La cause la plus courante de cette erreur est qu’un fichier d’informationsd’identification existe déjà. Accédez à ~/.aws et recherchez un fichier nommé credentials. Renommezou supprimez ce fichier, puis exécutez aws configure à nouveau.

Dépannage des erreurs de la console et AWSCodeCommit

Les informations suivantes vous aident à résoudre les erreurs de console lors de l'utilisation desréférentiels AWS CodeCommit.

Rubriques• Erreur d’accès : Accès à la clé de chiffrement refusé pour un CodeCommit à partir de la console ou

AWS CLI (p. 418)• Erreur de la console : Impossible de parcourir le code dans un CodeCommit référentiel à partir de la

console (p. 420)

Erreur d’accès : Accès à la clé de chiffrement refusépour un CodeCommit à partir de la console ou AWSCLIProblème : Lorsque vous essayez d’accéder CodeCommit depuis la console ou le AWS CLI, un messaged’erreur s’affiche contenant l’expression EncryptionKeyAccessDeniedException ou User is notauthorized for the KMS default master key for CodeCommit 'aws/codecommit' inyour account.

Correctifs possibles : La cause la plus courante de cette erreur est que votre AWS compte n’est pasabonné à AWS Key Management Service, qui est requis pour CodeCommit. Ouvrez le AWS KMS de laconsole, choisissez Clés gérées par AWS, puis choisissez Commencez dès maintenant. Si vous voyez unmessage indiquant que vous n'êtes pas actuellement abonné au service AWS Key Management Service,suivez les instructions de cette page pour vous abonner. Pour plus d'informations sur CodeCommit et AWSKey Management Service, consultez AWS KMS et chiffrement (p. 311).

Erreur de la console : Impossible de parcourir le codedans un CodeCommit référentiel à partir de la consoleProblème : Lorsque vous essayez de parcourir le contenu d’un référentiel à partir de la console, unmessage d’erreur s’affiche refusant l’accès à.

Correctifs possibles : La cause la plus courante de cette erreur est qu’un IAM appliquée à votre AWSrefuse une ou plusieurs autorisations requises pour le code de navigation à partir du CodeCommit console.Pour plus d'informations sur la gestion des autorisations d'accès CodeCommit et la navigation, voirAuthentification et contrôle d'accès pour AWS CodeCommit (p. 321).

Déclencheurs de dépannage et AWS CodeCommitLes informations suivantes peuvent vous aider à résoudre les problèmes de déclencheurs dans AWSCodeCommit.

Version de l'API 2015-04-13420

Page 430: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurErreur de déclenchement : Un déclencheur

de référentiel ne s’exécute pas comme prévu

Rubriques• Erreur de déclenchement : Un déclencheur de référentiel ne s’exécute pas comme prévu (p. 421)

Erreur de déclenchement : Un déclencheur deréférentiel ne s’exécute pas comme prévuProblème : Un ou plusieurs déclencheurs configurés pour un référentiel ne semblent pas s’exécuter ou nes’exécutent pas comme prévu.

Correctifs possibles : Si la cible du déclencheur est un AWS Lambda fonction, assurez-vous d’avoirconfiguré la stratégie de ressource de la fonction pour l’accès par CodeCommit. Pour plus d'informations,consultez la section Exemple 3 : Créer une stratégie pour AWS Lambda avec une CodeCommitdéclencheur (p. 349).

Vous pouvez également modifier le déclencheur et vous assurer que les événements pour lesquels voussouhaitez déclencher des actions ont été sélectionnés et que les branches pour le déclencheur incluentla branche sur laquelle vous voulez voir les réponses à des actions. Essayez de modifier les paramètrespour le déclencheur en All repository events et All branches, puis de tester le déclencheur. Pour plusd'informations, consultez la section Modifier les déclencheurs d’un référentiel (p. 132).

Activer le débogageProblème : Je veux activer le débogage pour obtenir plus d’informations sur mon référentiel et sur la façondont Git exécute les commandes.

Correctifs possibles : Essayez les éléments suivants :

1. Depuis le terminal ou l'invite de commande, exécutez les commandes suivantes sur votre ordinateurlocal avant d'exécuter des commandes Git :

Sous Linux, macOS, or Unix :

export GIT_TRACE_PACKET=1export GIT_TRACE=1export GIT_CURL_VERBOSE=1

Sous Windows :

set GIT_TRACE_PACKET=1set GIT_TRACE=1set GIT_CURL_VERBOSE=1

Note

Le paramètre GIT_CURL_VERBOSE est utile pour les connexions HTTPS uniquement. SSHn'utilise pas la bibliothèque libcurl.

2. Pour obtenir plus d'informations sur votre référentiel Git, créez un script similaire à ce qui suit, puisexécutez le script :

#!/bin/sh

gc_output=`script -q -c 'git gc' | grep Total`object_count=$(echo $gc_output | awk -F ' |\(|\)' '{print $2}')

Version de l'API 2015-04-13421

Page 431: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurActiver le débogage

delta_count=$(echo $gc_output | awk -F ' |\(|\)' '{print $5}')

verify_pack_output=`git verify-pack -v objects/pack/pack-*.pack .git/objects/pack/pack-*.pack 2>/dev/null`largest_object=$(echo "$verify_pack_output" | grep blob | sort -k3nr | head -n 1 | awk '{print $3/1024" KiB"}')largest_commit=$(echo "$verify_pack_output" | grep 'tree\|commit\|tag' | sort -k3nr | head -n 1 | awk '{print $3/1024" KiB"}')longest_delta_chain=$(echo "$verify_pack_output" | grep chain | tail -n 1 | awk -F ' |:' '{print $4}')

branch_count=`git branch -a | grep remotes/origin | grep -v HEAD | wc -l`if [ $branch_count -eq 0 ]; then branch_count=`git branch -l | wc -l`fi

echo "Size: `git count-objects -v | grep size-pack | awk '{print $2}'` KiB"echo "Branches: $branch_count"echo "Tags: `git show-ref --tags | wc -l`"echo "Commits: `git rev-list --all | wc -l`"echo "Objects: $object_count"echo "Delta objects: $delta_count"echo "Largest blob: $largest_object"echo "Largest commit/tag/tree: $largest_commit"echo "Longest delta chain: $longest_delta_chain"

3. Si ces étapes ne fournissent pas suffisamment d'informations pour vous permettre de résoudre leproblème vous-même, demandez de l'aide sur le forum AWS CodeCommit. Veillez à inclure les sortiespertinentes de ces étapes dans votre message.

Version de l'API 2015-04-13422

Page 432: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurRégions et points de terminaison de connexion Git

Référence AWS CodeCommitLes rubriques de référence suivantes peuvent vous aider à mieux comprendre CodeCommit, Git, lesrégions AWS, les limites de service, et plus encore.

Rubriques• Régions et points de terminaison de connexion Git pour AWS CodeCommit (p. 423)• Utilisation de AWS CodeCommit avec points de terminaison de VPC d’interface (p. 430)• Quotas dans AWS CodeCommit (p. 432)• Référence des commandes en ligne AWS CodeCommit (p. 437)• Commandes Git de base (p. 441)

Régions et points de terminaison de connexion Gitpour AWS CodeCommit

Chaque référentiel CodeCommit est associé à une région AWS. CodeCommit fournit des points determinaison régionaux pour effectuer vos demandes au service. En outre, CodeCommit fournit des pointsde terminaison de connexion Git pour les protocoles SSH et HTTPS dans chaque région où CodeCommitest disponible.

Tous les exemples de ce guide utilisent la même URL de point de terminaison pour Git dans USAEst (Ohio): git-codecommit.us-east-2.amazonaws.com. Toutefois, lorsque vous utilisez Gitet configurez vos connexions, assurez-vous de choisir le point de terminaison de connexion Git quicorrespond à la région AWS qui héberge votre CodeCommit du référentiel. Par exemple, si voussouhaitez établir une connexion à un référentiel dans USA Est (Virginie du Nord), utilisez l’URL de pointde terminaison de git-codecommit.us-east-1.amazonaws.com. Ceci est également vrai pour lesappels d’API. Lorsque vous établissez des connexions à un CodeCommit avec le AWS CLI ou le SDKs,assurez-vous d’utiliser le point de terminaison régional correct pour le référentiel.

Rubriques• Régions AWS prises en charge pour CodeCommit (p. 423)• Points de terminaison de connexion Git (p. 424)• Empreintes digitales du serveur pour CodeCommit (p. 427)

Régions AWS prises en charge pour CodeCommitVous pouvez créer et utiliser des référentiels CodeCommit dans les régions AWS suivantes :

• USA Est (Ohio)• USA Est (Virginie du Nord)• USA Ouest (Californie du Nord)• USA Ouest (Oregon)• Europe (Irlande)• Europe (Londres)• Europe (Paris)• Europe (Francfort)• Europe (Stockholm)

Version de l'API 2015-04-13423

Page 433: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurPoints de terminaison de connexion Git

• UE (Milan)• Asie-Pacifique (Tokyo)• Asie-Pacifique (Singapour)• Asie-Pacifique (Sydney)• Asie-Pacifique (Séoul)• Asie-Pacifique (Mumbai)• Asie-Pacifique (Hong Kong)• Amérique du Sud (São Paulo)• Moyen-Orient (Bahreïn)• Canada (Centre)• Chine (Pékin)• Chine (Ningxia)• AWS GovCloud (USA Ouest)• AWS GovCloud (US-East)

CodeCommit a ajouté la prise en charge de la norme gouvernementale de publication Federal InformationProcessing Standard (FIPS) 140-2 dans certaines régions. Pour plus d'informations sur FIPS et les pointsde terminaison FIPS, consultez Federal Information Processing Standard (FIPS) 140-2 Overview. Pour ensavoir plus sur les points de terminaison de connexion Git qui prennent en charge FIPS, consultez Pointsde terminaison de connexion Git (p. 424).

Pour plus d'informations sur les points de terminaison régionaux pour l'AWS CLI, le service et les appelsd'API à CodeCommit, consultez Points de terminaison et quotas AWS CodeCommit.

Points de terminaison de connexion GitUtilisez ce qui suit URLs lorsque vous configurez des connexions Git à CodeCommit référentiels :

Points de terminaison de connexion Git pour AWS CodeCommit

Nom de la région Région URL de point determinaison

Protocol

USA Est (Ohio) us-east-2 https://git-codecommit.us-east-2.amazonaws.com

HTTPS

USA Est (Ohio) us-east-2 ssh://git-codecommit.us-east-2.amazonaws.com

SSH

USA Est (Ohio) us-east-2 https://git-codecommit-fips.us-east-2.amazonaws.com

HTTPS

USA Est (Virginie duNord)

us-east-1 https://git-codecommit.us-east-1.amazonaws.com

HTTPS

USA Est (Virginie duNord)

us-east-1 ssh://git-codecommit.us-east-1.amazonaws.com

SSH

USA Est (Virginie duNord)

us-east-1 https://git-codecommit-fips.us-east-1.amazonaws.com

HTTPS

USA Ouest (Oregon) us-west-2 https://git-codecommit.us-west-2.amazonaws.com

HTTPS

Version de l'API 2015-04-13424

Page 434: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurPoints de terminaison de connexion Git

Nom de la région Région URL de point determinaison

Protocol

USA Ouest (Oregon) us-west-2 ssh://git-codecommit.us-west-2.amazonaws.com

SSH

USA Ouest (Oregon) us-west-2 https://git-codecommit-fips.us-west-2.amazonaws.com

HTTPS

USA Ouest (Californiedu Nord)

us-west-1 https://git-codecommit.us-west-1.amazonaws.com

HTTPS

USA Ouest (Californiedu Nord)

us-west-1 ssh://git-codecommit.us-west-1.amazonaws.com

SSH

USA Ouest (Californiedu Nord)

us-west-1 https://git-codecommit-fips.us-west-1.amazonaws.com

HTTPS

Europe (Irlande) eu-west-1 https://git-codecommit.eu-west-1.amazonaws.com

HTTPS

Europe (Irlande) eu-west-1 ssh://git-codecommit.eu-west-1.amazonaws.com

SSH

Asie-Pacifique (Tokyo) ap-northeast-1 https://git-codecommit.ap-northeast-1.amazonaws.com

HTTPS

Asie-Pacifique (Tokyo) ap-northeast-1 ssh://git-codecommit.ap-northeast-1.amazonaws.com

SSH

Asie-Pacifique(Singapour)

ap-southeast-1 https://git-codecommit.ap-southeast-1.amazonaws.com

HTTPS

Asie-Pacifique(Singapour)

ap-southeast-1 ssh://git-codecommit.ap-southeast-1.amazonaws.com

SSH

Asie-Pacifique (Sydney) ap-southeast-2 https://git-codecommit.ap-southeast-2.amazonaws.com

HTTPS

Asie-Pacifique (Sydney) ap-southeast-2 ssh://git-codecommit.ap-southeast-2.amazonaws.com

SSH

Europe (Francfort) eu-central-1 https://git-codecommit.eu-central-1.amazonaws.com

HTTPS

Europe (Francfort) eu-central-1 ssh://git-codecommit.eu-central-1.amazonaws.com

SSH

Asie-Pacifique (Séoul) ap-northeast-2 https://git-codecommit.ap-northeast-2.amazonaws.com

HTTPS

Asie-Pacifique (Séoul) ap-northeast-2 ssh://git-codecommit.ap-northeast-2.amazonaws.com

SSH

Amérique du Sud (SãoPaulo)

sa-east-1 https://git-codecommit.sa-east-1.amazonaws.com

HTTPS

Version de l'API 2015-04-13425

Page 435: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurPoints de terminaison de connexion Git

Nom de la région Région URL de point determinaison

Protocol

Amérique du Sud (SãoPaulo)

sa-east-1 ssh://git-codecommit.sa-east-1.amazonaws.com

SSH

Europe (Londres) eu-west-2 https://git-codecommit.eu-west-2.amazonaws.com

HTTPS

Europe (Londres) eu-west-2 ssh://git-codecommit.eu-west-2.amazonaws.com

SSH

Asie-Pacifique (Mumbai) ap-south-1 https://git-codecommit.ap-south-1.amazonaws.com

HTTPS

Asie-Pacifique (Mumbai) ap-south-1 ssh://git-codecommit.ap-south-1.amazonaws.com

SSH

Canada (Centre) ca-central-1 https://git-codecommit.ca-central-1.amazonaws.com

HTTPS

Canada (Centre) ca-central-1 ssh://git-codecommit.ca-central-1.amazonaws.com

SSH

Canada (Centre) ca-central-1 https://git-codecommit-fips.ca-central-1.amazonaws.com

HTTPS

Europe (Paris) eu-west-3 https://git-codecommit.eu-west-3.amazonaws.com

HTTPS

Europe (Paris) eu-west-3 ssh://git-codecommit.eu-west-3.amazonaws.com

SSH

AWS GovCloud(USA Ouest)

us-gov-west-1 https://git-codecommit.us-gov-west-1.amazonaws.com

HTTPS

AWS GovCloud(USA Ouest)

us-gov-west-1 ssh://git-codecommit.us-gov-west-1.amazonaws.com

SSH

AWS GovCloud(USA Ouest)

us-gov-west-1 https://git-codecommit-fips.us-gov-west-1.amazonaws.com

HTTPS

AWS GovCloud (US-East)

us-gov-east-1 https://git-codecommit.us-gov-east-1.amazonaws.com

HTTPS

AWS GovCloud (US-East)

us-gov-east-1 ssh://git-codecommit.us-gov-east-1.amazonaws.com

SSH

AWS GovCloud (US-East)

us-gov-east-1 https://git-codecommit-fips.us-gov-east-1.amazonaws.com

HTTPS

Europe (Stockholm) eu-north-1 https://git-codecommit.eu-north-1.amazonaws.com

HTTPS

Version de l'API 2015-04-13426

Page 436: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurEmpreintes digitales du serveur pour CodeCommit

Nom de la région Région URL de point determinaison

Protocol

Europe (Stockholm) eu-north-1 ssh://git-codecommit.eu-north-1.amazonaws.com

SSH

Moyen-Orient (Bahreïn) me-south-1 https://git-codecommit.me-south-1.amazonaws.com

HTTPS

Moyen-Orient (Bahreïn) me-south-1 ssh://git-codecommit.me-south-1.amazonaws.com

SSH

Asie-Pacifique (HongKong)

ap-east-1 https://git-codecommit.ap-east-1.amazonaws.com

HTTPS

Asie-Pacifique (HongKong)

ap-east-1 ssh://git-codecommit.ap-east-1.amazonaws.com

SSH

Chine (Pékin) cn-north-1 https://git-codecommit.cn-north-1.amazonaws.com.cn

HTTPS

Chine (Pékin) cn-north-1 ssh://git-codecommit.cn-north-1.amazonaws.com.cn

SSH

Chine (Ningxia) cn-northwest-1 https://git-codecommit.cn-northwest-1.amazonaws.com.cn

HTTPS

Chine (Ningxia) cn-northwest-1 ssh://git-codecommit.cn-northwest-1.amazonaws.com.cn

SSH

UE (Milan) eu-south-1 https://git-codecommit.eu-south-1.amazonaws.com

HTTPS

UE (Milan) eu-south-1 ssh://git-codecommit-eu-south-1.amazonaws.com

SSH

Empreintes digitales du serveur pour CodeCommitLe tableau suivant répertorie les empreintes publiques pour les points de terminaison de connexion Gitdans CodeCommit. Ces empreintes de serveur sont affichés dans le cadre de la procédure de vérificationde l'ajout d'un point de terminaison au fichier d'hôtes connus.

Empreintes publiques pour CodeCommit

de bases de données Type de hachagecryptographique

Empreinte digitale

git-codecommit.us-east-2.amazonaws.com

MD5 a9:6d:03:ed:08:42:21:be:06:e1:e0:2a:d1:75:31:5e

git-codecommit.us-east-2.amazonaws.com

SHA256 3lBlW2g5xn/NA2Ck6dyeJIrQOWvn7n8UEs56fG6ZIzQ

git-codecommit.us-east-1.amazonaws.com

MD5 a6:9c:7d:bc:35:f5:d4:5f:8b:ba:6f:c8:bc:d4:83:84

git-codecommit.us-east-1.amazonaws.com

SHA256 eLMY1j0DKA4uvDZcl/KgtIayZANwX6t8+8isPtotBoY

Version de l'API 2015-04-13427

Page 437: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurEmpreintes digitales du serveur pour CodeCommit

de bases de données Type de hachagecryptographique

Empreinte digitale

git-codecommit.us-west-2.amazonaws.com

MD5 a8:68:53:e3:99:ac:6e:d7:04:7e:f7:92:95:77:a9:77

git-codecommit.us-west-2.amazonaws.com

SHA256 0pJx9SQpkbPUAHwy58UVIq0IHcyo1fwCpOOuVgcAWPo

git-codecommit.eu-west-1.amazonaws.com

MD5 93:42:36:ea:22:1f:f1:0f:20:02:4a:79:ff:ea:12:1d

git-codecommit.eu-west-1.amazonaws.com

SHA256 tKjRkOL8dmJyTmSbeSdN1S8F/f0iql3RlvqgTOP1UyQ

git-codecommit.ap-northeast-1.amazonaws.com

MD5 8e:a3:f0:80:98:48:1c:5c:6f:59:db:a7:8f:6e:c6:cb

git-codecommit.ap-northeast-1.amazonaws.com

SHA256 Xk/WeYD/K/bnBybzhiuu4dWpBJtXPf7E30jHU7se4Ow

git-codecommit.ap-southeast-1.amazonaws.com

MD5 65:e5:27:c3:09:68:0d:8e:b7:6d:94:25:80:3e:93:cf

git-codecommit.ap-southeast-1.amazonaws.com

SHA256 ZIsVa7OVzxrTIf+Rk4UbhPv6Es22mSB3uTBojfPXIno

git-codecommit.ap-southeast-2.amazonaws.com

MD5 7b:d2:c1:24:e6:91:a5:7b:fa:c1:0c:35:95:87:da:a0

git-codecommit.ap-southeast-2.amazonaws.com

SHA256 nYp+gHas80HY3DqbP4yanCDFhqDVjseefVbHEXqH2Ec

git-codecommit.eu-central-1.amazonaws.com

MD5 74:5a:e8:02:fc:b2:9c:06:10:b4:78:84:65:94:22:2d

git-codecommit.eu-central-1.amazonaws.com

SHA256 MwGrkiEki8QkkBtlAgXbYt0hoZYBnZF62VY5RzGJEUY

git-codecommit.ap-northeast-2.amazonaws.com

MD5 9f:68:48:9b:5f:fc:96:69:39:45:58:87:95:b3:69:ed

git-codecommit.ap-northeast-2.amazonaws.com

SHA256 eegAPQrWY9YsYo9ZHIKOmxetfXBHzAZd8Eya53Qcwko

git-codecommit.sa-east-1.amazonaws.com

MD5 74:99:9d:ff:2b:ef:63:c6:4b:b4:6a:7f:62:c5:4b:51

git-codecommit.sa-east-1.amazonaws.com

SHA256 kW+VKB0jpRaG/ZbXkgbtMQbKgEDK7JnISV3SVoyCmzU

git-codecommit.us-west-1.amazonaws.com

MD5 3b:76:18:83:13:2c:f8:eb:e9:a3:d0:51:10:32:e7:d1

git-codecommit.us-west-1.amazonaws.com

SHA256 gzauWTWXDK2u5KuMMi5vbKTmfyerdIwgSbzYBODLpzg

git-codecommit.eu-west-2.amazonaws.com

MD5 a5:65:a6:b1:84:02:b1:95:43:f9:0e:de:dd:ed:61:d3

Version de l'API 2015-04-13428

Page 438: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurEmpreintes digitales du serveur pour CodeCommit

de bases de données Type de hachagecryptographique

Empreinte digitale

git-codecommit.eu-west-2.amazonaws.com

SHA256 r0Rwz5k/IHp/QyrRnfiM9j02D5UEqMbtFNTuDG2hNbs

git-codecommit.ap-south-1.amazonaws.com

MD5 da:41:1e:07:3b:9e:76:a0:c5:1e:64:88:03:69:86:21

git-codecommit.ap-south-1.amazonaws.com

SHA256 hUKwnTj7+Xpx4Kddb6p45j4RazIJ4IhAMD8k29itOfE

git-codecommit.ca-central-1.amazonaws.com

MD5 9f:7c:a2:2f:8c:b5:74:fd:ab:b7:e1:fd:af:46:ed:23

git-codecommit.ca-central-1.amazonaws.com

SHA256 Qz5puafQdANVprLlj6r0Qyh4lCNsF6ob61dGcPtFS7w

git-codecommit.eu-west-3.amazonaws.com

MD5 1b:7f:97:dd:d7:76:8a:32:2c:bd:2c:7b:33:74:6a:76

git-codecommit.eu-west-3.amazonaws.com

SHA256 uw7c2FL564jVoFgtc+ikzILnKBsZz7t9+CFdSJjKbLI

git-codecommit.us-gov-west-1.amazonaws.com

MD5 9f:6c:19:3b:88:cd:e8:88:1b:9c:98:6a:95:31:8a:69

git-codecommit.us-gov-west-1.amazonaws.com

SHA256 djXQoSIFcg8vHe0KVH1xW/gOF9X37tWTqu4Hkng75x4

git-codecommit.us-gov-east-1.amazonaws.com

MD5 00:8d:b5:55:6f:05:78:05:ed:ea:cb:3f:e6:f0:62:f2

git-codecommit.us-gov-east-1.amazonaws.com

SHA256 fVb+R0z7qW7minenW+rUpAABRCRBTCzmETAJEQrg98

git-codecommit.eu-north-1.amazonaws.com

MD5 8e:53:d8:59:35:88:82:fd:73:4b:60:8a:50:70:38:f4

git-codecommit.eu-north-1.amazonaws.com

SHA256 b6KSK7xKq+V8jl7iuAcjqXsG7zkqoUZZmmhYYFBq1wQ

git-codecommit.me-south-1.amazonaws.com

MD5 0e:39:28:56:d5:41:e6:8d:fa:81:45:37:fb:f3:cd:f7

git-codecommit.me-south-1.amazonaws.com

SHA256 O+NToCGgjrHekiBuOl0ad7ROGEsz+DBLXOd/c9wc0JU

git-codecommit.ap-east-1.amazonaws.com

MD5 a8:00:3d:24:52:9d:61:0e:f6:e3:88:c8:96:01:1c:fe

git-codecommit.ap-east-1.amazonaws.com

SHA256 LafadYwUYW8hONoTRpojbjNs9IRnbEwHtezD3aAIBX0

git-codecommit.cn-north-1.amazonaws.com.cn

MD5 11:7e:2d:74:9e:3b:94:a2:69:14:75:6f:5e:22:3b:b3

Version de l'API 2015-04-13429

Page 439: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurUtilisation de AWS CodeCommit avec

points de terminaison de VPC d’interface

de bases de données Type de hachagecryptographique

Empreinte digitale

git-codecommit.cn-north-1.amazonaws.com.cn

SHA256 IYUXxH2OpTDsyYMLIp+JY8CTLS4UX+ZC5JVZXPRaxc8

git-codecommit.cn-northwest-1.amazonaws.com.cn

MD5 2e:a7:fb:4c:33:ac:6c:f9:aa:f2:bc:fb:0a:7b:1e:b6

git-codecommit.cn-northwest-1.amazonaws.com.cn

SHA256 wqjd6eHd0+mOBx+dCNuL0omUoCNjaDtZiEpWj5TmCfQ

git-codecommit.eu-south-1.amazonaws.com

MD5 b9:f6:5d:e2:48:92:3f:a9:37:1e:c4:d0:32:0e:fb:11

git-codecommit.eu-south-1.amazonaws.com

SHA256 lyXrWbCg3uQmJrl1XxB/ASR7ugW1Ysf5yzYOJbudHsI

Utilisation de AWS CodeCommit avec points determinaison de VPC d’interface

Si vous utilisez Amazon Virtual Private Cloud (Amazon VPC) pour héberger vos ressources AWS, vouspouvez établir une connexion privée entre votre VPC et CodeCommit. Vous pouvez utiliser cette connexionpour permettre à CodeCommit de communiquer avec vos ressources sur votre VPC sans passer par leréseau Internet public.

Amazon VPC est un service AWS que vous pouvez utiliser pour lancer des ressources AWS dans unréseau virtuel que vous définissez. Avec un VPC, vous contrôlez des paramètres réseau, tels que laplage d'adresses IP, les sous-réseaux, les tables de routage et les passerelles réseau. Avec les points determinaison d'un VPC, le routage entre le VPC et les services AWS sont traités par le réseau AWS, et vouspouvez utiliser les stratégies IAM pour contrôler l'accès aux ressources de service.

Pour connecter votre VPC à CodeCommit, vous définissez un point de terminaison de VPC d'interface pourCodeCommit. Un point de terminaison d'interface est une interface réseau Elastic avec une adresse IPprivée qui sert de point d'entrée au trafic destiné au service AWS pris en charge. Le point de terminaisonassure une connectivité scalable et fiable à CodeCommit sans qu'une passerelle Internet, une instanceNAT (Network Address Translation) ou une connexion VPN ne soit nécessaire. Pour de plus amplesinformations, veuillez consulter Qu'est-ce que Amazon VPC dans le Amazon VPC Guide de l'utilisateur.

Note

D'autres services AWS qui assurent la prise en charge de VPC et s'intègrent avec CodeCommit,par exemple AWS CodePipeline, ne prennent peut-être pas en charge l'utilisation des points determinaison de Amazon VPC pour cette intégration. Par exemple, le trafic entre CodePipeline etCodeCommit ne peut pas être restreint à la plage de sous-réseaux VPC.

Les points de terminaison d’un VPC d’interface sont alimentés par AWS PrivateLink, un AWS permettantune communication privée entre AWS à l’aide d’une interface réseau Elastic avec des adresses IP privées.Pour plus d’informations, consultez AWS PrivateLink.

Les étapes suivantes s'adressent aux utilisateurs de Amazon VPC. Pour plus d'informations, consultez lasection Getting Started du manuel Amazon VPC Guide de l'utilisateur.

Version de l'API 2015-04-13430

Page 440: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurAvailability

AvailabilityCodeCommit prend actuellement en charge les points de terminaison de VPC dans les régions AWSsuivantes :

• USA Est (Ohio)• USA Est (Virginie du Nord)• USA Ouest (Californie du Nord)• USA Ouest (Oregon)• Europe (Irlande)• Europe (Londres)• Europe (Paris)• Europe (Francfort)• Europe (Stockholm)• UE (Milan)• Asie-Pacifique (Tokyo)• Asie-Pacifique (Singapour)• Asie-Pacifique (Sydney)• Asie-Pacifique (Séoul)• Asie-Pacifique (Mumbai)• Asie-Pacifique (Hong Kong)• Amérique du Sud (São Paulo)• Moyen-Orient (Bahreïn)• Canada (Centre)• Chine (Pékin)• Chine (Ningxia)• AWS GovCloud (USA Ouest)• AWS GovCloud (US-East)

Créer des points de terminaison de VPC pourCodeCommitPour commencer à utiliser CodeCommit avec votre VPC, créez un point de terminaison de VPC d'interfacepour CodeCommit. CodeCommit nécessite des points de terminaison distincts pour les opérations Git etpour les opérations d'API CodeCommit. Selon les besoins de votre entreprise, il se peut que vous ayezbesoin de créer plusieurs points de terminaison de VPC. Lorsque vous créez un point de terminaison deVPC pour CodeCommit, choisissez Services AWS, puis dans Service Name (Nom du service), choisissezl'une des options suivantes :

• com.amazonaws.region.git-codecommit: Choisissez cette option si vous souhaitez créer un point determinaison de VPC pour les opérations Git avec CodeCommit référentiels. Par exemple, choisissezcette option si vos utilisateurs utilisent un client Git et des commandes telles que git pull, gitcommit et git push lorsqu'ils interagissent avec des référentiels CodeCommit.

• com.amazonaws.region.git-codecommit-fips: Choisissez cette option si vous souhaitez créer un pointde terminaison de VPC pour les opérations Git avec CodeCommit aux référentiels conformes à la normefédérale américaine 140-2 relative au traitement des informations (FIPS).

• com.amazonaws.region.codecommit: Choisissez cette option si vous souhaitez créer un point determinaison de VPC pour CodeCommit Opérations d’API. Par exemple, choisissez cette option si vos

Version de l'API 2015-04-13431

Page 441: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurCréation d'une stratégie de point de

terminaison de VPC pour CodeCommit

utilisateurs utilisent le AWS CLI, le CodeCommit ou l’API AWS SDKs pour interagir avec CodeCommitpour des opérations telles que CreateRepository, ListRepositories, et PutFile.

• com.amazonaws.region.codecommit-fips: Choisissez cette option si vous souhaitez créer un point determinaison de VPC pour CodeCommit des opérations API conformes à la norme fédérale de traitementdes informations (FIPS) publication 140-2 du gouvernement américain.

Création d'une stratégie de point de terminaison deVPC pour CodeCommitVous pouvez créer une stratégie pour les points de terminaison Amazon VPC pour CodeCommit danslesquels vous pouvez spécifier :

• Le mandataire qui peut exécuter des actions.• Les actions qui peuvent être effectuées.• Les ressources qui peuvent avoir des actions exécutées sur elles.

Par exemple, une entreprise peut vouloir restreindre l'accès à des référentiels à la plage d'adresses réseaupour un VPC. Vous pouvez voir un exemple de ce type de stratégie ici : Exemple 3 : Autoriser un utilisateurse connectant à partir d’une plage d’adresses IP spécifiée à accéder à un référentiel (p. 343). La sociétéa configuré deux points de terminaison de VPC Git pour le USA Est (Ohio) région : com.amazonaws.us-east-2.codecommit et com-amazonaws.us-east-2.git-codecommit-fips. Ils veulent autoriserles transmissions de code à un CodeCommit nom du référentiel MyDemoRepo uniquement sur le point determinaison compatible FIPS uniquement. Pour appliquer cela, elle devrait configurer une stratégie similaireà la stratégie suivante sur le point de terminaison com.amazonaws.us-east-2.codecommit qui refusespécifiquement les actions Git push :

{ "Statement": [ { "Action": "*", "Effect": "Allow", "Resource": "*", "Principal": "*" }, { "Action": "codecommit:GitPush", "Effect": "Deny", "Resource": "arn:aws:codecommit:us-west-2:123456789012:MyDemoRepo", "Principal": "*" } ]}

Pour plus d'informations, veuillez consulter Création d'un point de terminaison d'interface dans le AmazonVPC Guide de l'utilisateur.

Quotas dans AWS CodeCommitLe tableau suivant décrit les quotas au sein d'CodeCommit. Pour plus d'informations sur les quotasqui peuvent être modifiés, consultez Points de terminaison et quotas AWS CodeCommit. Pour plusd’informations sur la demande d’augmentation de quota de service, consultez AWS Quotas de servicePour plus d’informations sur les versions requises de Git et d’autres logiciels, consultez Compatibilité pourCodeCommit, Git et autres composants (p. 10).

Version de l'API 2015-04-13432

Page 442: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurQuotas

Noms des modèles de règles d'approbation et desrègles d'approbation

Toute combinaison de lettres, chiffres, points,espaces, traits de soulignement et tirets pour unelongueur de 1 à 100 caractères. Les noms sontsensibles à la casse. Les noms ne peuvent passe terminer par .git et ne peuvent pas contenir lescaractères suivants : ! ? @ # $ % ^ & * ( )+ = { } [ ] | \ / > < ~ ` ' " ; :

Longueur du contenu de la règle d'approbation 3 000 caractères

Longueur de la description du modèle de règled'approbation

1 000 caractères

Références de destination du modèle de règled'approbation

100

Modèles de règles d'approbation 1 000 dans une région AWS

Règles d'approbation pour une demanded'extraction

Jusqu'à 30 maximum. Jusqu'à 25 d'entre ellespeuvent être issues de modèles de règlesd'approbation.

Règles d'approbation pour une demanded'extraction créée automatiquement à partir d'unmodèle de règle d'approbation

25

Approbations pour une demande d'extraction 200

Approbateurs dans un groupe d'approbation 50

Noms des branches Toute combinaison de caractères autorisés pourune longueur de 1 à 256 caractères. Les noms debranche ne peuvent pas :

• commencer ou se terminer par une barreoblique (/) ou un point (.)

• consister uniquement du caractère @• contenir deux points (..) ou barres obliques (//)

consécutifs ou plus, ou la combinaison decaractères suivante : @{

• contenir des espaces ou l'un des caractèressuivants : ? ^ * [ \ ~ :

Les noms de branche sont des références. Ungrand nombre des restrictions qui s'appliquent auxnoms de branche sont basées sur le standard deréférence Git. Pour plus d'informations, consultezGit Internals et git-check-ref-format.

Données personnalisées pour les déclencheurs Il s'agit d'un champ de chaîne limité à1 000 caractères. Celle-ci ne peut pas être utiliséepour transmettre des paramètres dynamiques.

Adresses e-mail dans les validations effectuéesdans la console

Toute combinaison de caractères autorisés pourune longueur de 1 à 256 caractères. Les adressese-mail ne sont pas validées.

Version de l'API 2015-04-13433

Page 443: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurQuotas

Chemins de fichier Toute combinaison de caractères autorisés pourune longueur de 1 à 4,096 caractères. Un cheminde fichier doit être un nom non ambigu qui spécifiele fichier et son emplacement exact. Un chemin defichier ne peut pas avoir une profondeur de plus de20 répertoires. En outre, un chemin de fichier nepeut pas :

• contenir des chaînes vides• être un chemin de fichier relatif• inclure les combinaisons de caractères

suivantes :

/./

/../

//

• se terminer par une barre oblique ni une barreoblique inverse

Les noms et les chemins de fichier doivent êtrecomplets. Le nom et le chemin d'un fichier sur votreordinateur local doivent suivre les normes définiespour ce système d'exploitation. Lorsque vousspécifiez le chemin d'un fichier dans un référentielCodeCommit, utilisez les normes pour AmazonLinux.

Taille de fichier 6 Mo maximum pour tout fichier individuel lors del’utilisation du CodeCommit console, APIs, ou leAWS CLI.

Taille d'objet blob git Maximum de 2 Go.

Note

Aucune limite ne s'applique au nombre ouà la taille totale de tous les fichiers d'unemême validation, dans la mesure où lesmétadonnées ne dépassent pas 6 Mo etoù un objet blob unique ne dépasse pas2 Go.

Affichage graphique de branches dans CommitVisualizer

35 par page. Si une page individuelle comprendplus de 35 branches, le graphique ne s'affiche pas.

Version de l'API 2015-04-13434

Page 444: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurQuotas

Métadonnées pour une validation 20 Mo maximum pour le combiné métadonnéespour une validation (par exemple, la combinaisondes informations d’auteur, de la date, de la liste devalidation parent et des messages de validation)lors de l’utilisation de l’ CodeCommit console, APIs,ou le AWS CLI.

Note

Aucune limite ne s'applique au nombre ouà la taille totale de tous les fichiers d'unemême validation, dans la mesure où lesdonnées ne dépassent pas 20 Mo, où unfichier individuel ne dépasse pas 6 Mo etoù un objet blob unique ne dépasse pas6 Go.

Nombre de références dans une seule commandepush

Maximum de 4 000, y compris pour créer,supprimer et mettre à jour. Le nombre total deréférences dans le référentiel n'est pas limité.

Nombre de référentiels Maximum de 1 000 par compte AWS. Cette limitepeut être modifiée. Pour plus d’informations,consultez AWS CodeCommit Points de terminaisonet quotas et AWS Quotas de service.

Nombre de déclencheurs dans un référentiel Maximum de 10.

Version de l'API 2015-04-13435

Page 445: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurQuotas

Regions CodeCommit est disponible dans les régions AWSsuivantes :

• USA Est (Ohio)• USA Est (Virginie du Nord)• USA Ouest (Californie du Nord)• USA Ouest (Oregon)• Europe (Irlande)• Europe (Londres)• Europe (Paris)• Europe (Francfort)• Europe (Stockholm)• UE (Milan)• Asie-Pacifique (Tokyo)• Asie-Pacifique (Singapour)• Asie-Pacifique (Sydney)• Asie-Pacifique (Séoul)• Asie-Pacifique (Mumbai)• Asie-Pacifique (Hong Kong)• Amérique du Sud (São Paulo)• Moyen-Orient (Bahreïn)• Canada (Centre)• Chine (Pékin)• Chine (Ningxia)• AWS GovCloud (USA Ouest)• AWS GovCloud (US-East)

Pour plus d'informations, consultez la sectionRégions et points de terminaison de connexionGit (p. 423).

Descriptions de référentiel Toute combinaison de caractères pour unelongueur de 0 à 1 000 caractères. Les descriptionsde référentiel sont facultatives.

Noms de référentiel Toute combinaison de lettres, chiffres, points, traitsde soulignement et tirets pour une longueur de 1à 100 caractères. Les noms sont sensibles à lacasse. Les noms de référentiel ne peuvent passe terminer par .git et ne peuvent pas contenir lescaractères suivants : ! ? @ # $ % ^ & * ( )+ = { } [ ] | \ / > < ~ ` ' " ; :

Version de l'API 2015-04-13436

Page 446: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurRéférence des commandes en ligne

Nom des clés de balises de référentiel Toute combinaison de lettres, chiffres, espaces auformat Unicode et les caractères UTF-8 autorisésavec une longueur de 1 à 128 caractères. Lescaractères autorisés sont les suivants : + - = ._ : / @

Les noms de clé de balise doivent être uniques, etchaque clé ne peut avoir qu'une seule valeur. Unebalise ne peut pas :

• commencer par aws:• être composée uniquement d’espaces• se terminer par un espace• contenir des émoticônes ou l'un des caractères

suivants : ? ^ * [ \ ~ ! # $ % & * ( ) >< | " ' ` [ ] { } ;

Valeurs des balises de référentiel Toute combinaison de lettres, chiffres, espaces auformat Unicode et les caractères UTF-8 autorisésavec une longueur de 1 à 256 caractères. Lescaractères autorisés sont les suivants : + - = ._ : / @

Une clé ne peut avoir qu'une seule valeur, maisplusieurs clés peuvent avoir la même valeur. Unebalise ne peut pas :

• être composée uniquement d’espaces• se terminer par un espace• contenir des émoticônes ou l'un des caractères

suivants : ? ^ * [ \ ~ ! # $ % & * ( )> < | " ' ` [ ] { } ;

Balises de référentiel Les balises sont sensibles à la casse. Nombremaximal de 50 par ressource.

Noms de déclencheur Toute combinaison de lettres, chiffres, points, traitsde soulignement et tirets pour une longueur de 1à 100 caractères. Les noms de déclencheur nepeuvent pas contenir des espaces ou des virgules.

Noms d'utilisateur dans les validations effectuéesdans la console

Toute combinaison de caractères autorisés pourune longueur de 1 à 1,024 caractères.

Référence des commandes en ligne AWSCodeCommit

Cette référence vous apprendra à utiliser l'AWS CLI.

Pour installer et configurer le AWS CLI

1. Sur votre ordinateur local, téléchargez et installez l'AWS CLI. Il s'agit d'un prérequis pour l'interactionavec CodeCommit à partir de la ligne de commande. Pour plus d'informations, consultez Préparationde l'installation de l'interface de ligne de commande AWS.

Version de l'API 2015-04-13437

Page 447: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurRéférence des commandes en ligne

Note

CodeCommit fonctionne uniquement avec les versions de l'AWS CLI1.7.38 et ultérieures.Il est recommandé d'installer ou de mettre à niveau la version de l'AWS CLI la plus récentedisponible. Pour déterminer quelle version de l'AWS CLI vous avez installée, exécutez lacommande aws --version.Pour mettre à niveau une ancienne version de l'AWS CLI vers la version la plus récente,consultez Installation de l'AWS Command Line Interface.

2. Exécutez la commande suivante pour vérifier que les commandes CodeCommit pour l'AWS CLI sontinstallées :

aws codecommit help

Cette commande doit renvoyer une liste de commandes CodeCommit.3. Configurez l'AWS CLI avec un profil à l'aide de la commande configure, comme suit :

aws configure

Lorsque vous y êtes invité, spécifiez la clé d'accès AWS et la clé d'accès secrète AWS de l'utilisateurIAM à utiliser avec CodeCommit. Veillez également à spécifier la région AWS dans laquelle leréférentiel existe, par exemple us-east-2. Lorsque vous êtes invité à saisir le format de sortie pardéfaut, spécifiez json. Par exemple :

AWS Access Key ID [None]: Type your target AWS access key ID here, and then press EnterAWS Secret Access Key [None]: Type your target AWS secret access key here, and then press EnterDefault region name [None]: Type a supported region for CodeCommit here, and then press EnterDefault output format [None]: Type json here, and then press Enter

Pour plus d'informations sur la création et la configuration des profils à utiliser avec l'AWS CLI,consultez les rubriques suivantes :

• Profils nommés• Utilisation d’un IAM Rôle dans le AWS CLI• Définition de la commande• Connexion à AWS CodeCommit référentiels avec informations d’identification rotatives (p. 312)

Pour vous connecter à un référentiel ou à une ressource dans une autre région AWS, vous devezreconfigurer l'AWS CLI avec le nom de région par défaut. Les noms de région par défaut pris encharge pour CodeCommit sont notamment les suivants :

• us-east-2• us-east-1• eu-west-1• us-west-2• ap-northeast-1• ap-southeast-1• ap-southeast-2• eu-central-1• ap-northeast-2 Version de l'API 2015-04-13

438

Page 448: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurRéférence des commandes en ligne

• sa-east-1• us-west-1• eu-west-2• ap-south-1• ca-central-1• us-gov-west-1• us-gov-east-1• eu-north-1• ap-east-1• me-south-1• cn-north-1• cn-northwest-1• eu-south-1

Pour plus d'informations sur CodeCommit et les régions AWS, consultezRégions et points determinaison de connexion Git (p. 423). Pour plus d'informations sur IAM, les clés d'accès et lesclés secrètes, consultez Comment puis-je obtenir des informations d'identification ? et Gestion desclés d'accès pour les utilisateurs IAM. Pour plus d’informations sur le AWS CLI et profils, voir Profilsnommés.

Pour afficher une liste de toutes les commandes CodeCommit disponibles, exécutez la commandesuivante :

aws codecommit help

Pour afficher des informations sur un CodeCommit , exécutez la commande suivante, où command-nameest le nom de la commande (par exemple, create-repository) :

aws codecommit command-name help

Consultez les sections suivantes pour afficher des descriptions et des exemples d'utilisation descommandes de l'AWS CLI :

• associate-approval-rule-template-with-repository (p. 224)• batch-associate-approval-rule-template-with-repositories (p. 224)• batch-disassociate-approval-rule-template-from-repositories (p. 229)• batch-describe-merge-conflicts (p. 211)• batch-get-commits (p. 242)• batch-get-repositories (p. 143)• create-approval-rule-template (p. 222)• create-branch (p. 268)• create-commit (p. 235)• create-pull-request (p. 173)• create-pull-request-approval-rule (p. 177)• create-repository (p. 97)• create-unreferenced-merge-commit (p. 213)• delete-approval-rule-template (p. 230)• delete-branch (p. 280)

Version de l'API 2015-04-13439

Page 449: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurRéférence des commandes en ligne

• delete-comment-content (p. 257)• delete-file (p. 167)• delete-repository (p. 160)• describe-merge-conflicts (p. 212)• delete-pull-request-approval-rule (p. 196)• describe-pull-request-events (p. 181)• disassociate-pull-request-approval-rule-template-from-repository (p. 229)• evaluate-pull-request-approval-rules (p. 202)• get-approval-rule-template (p. 225)• get-blob (p. 244)• get-branch (p. 274)• get-comment (p. 256)• obtenir-des-réactions-commentaires (p. 260)• get-comments-for-compared-commit (p. 255)• get-comments-for-pull-request (p. 189)• get-commit (p. 240)• get-differences (p. 243)• get-merge-commit (p. 241)• get-merge-conflicts (p. 181)• get-merge-options (p. 209)• get-pull-request (p. 180)• get-pull-request-approval-states (p. 180)• get-pull-request-override-state (p. 198)• get-repository (p. 142)• get-repository-triggers (p. 133)• list-approval-rule-templates (p. 225)• list-associated-approval-rule-templates-for-repository (p. 228)• list-branches (p. 274)• list-pull-requests (p. 179)• list-repositories (p. 141)• list-repositories-for-approval-rule-template (p. 227)• list-tags-for-resource (p. 114)• merge-branchs-by-fast-forward (p. 276)• merge-branchs-by-squash (p. 277)• merge-branchs-by-trois-way (p. 277)• merge-pull-request-by-fast-forward (p. 202)• merge-pull-request-by-squash (p. 203)• merge-pull-request-by-three-way (p. 205)• override-pull-request-approval-rules (p. 198)• post-comment-for-compared-commit (p. 257)• post-comment-for-pull-request (p. 188)• post-comment-reply (p. 259)• mettre-commentaire-réaction (p. 260)• put-file (p. 164)• put-repository-triggers (p. 133)

Version de l'API 2015-04-13440

Page 450: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurCommandes Git de base

• tag-resource (p. 112)• test-repository-triggers (p. 134)• untag-resource (p. 116)• update-approval-rule-template-content (p. 226)• update-approval-rule-template-description (p. 227)• update-approval-rule-template-name (p. 226)• update-comment (p. 258)• update-default-branch (p. 279)• update-pull-request-approval-rule-content (p. 196)• update-pull-request-approval-state (p. 190)• update-pull-request-description (p. 192)• update-pull-request-status (p. 215)• update-pull-request-title (p. 191)• update-repository-description (p. 145)• update-repository-name (p. 146)

Commandes Git de baseVous pouvez utiliser Git pour travailler avec un rapport local et le Référentiel CodeCommit auquel vousavez connecté le rapport local.

Voici des exemples de base de commandes Git fréquemment utilisées.

Pour plus d'options, consultez la documentation Git.

Rubriques• Variables de configuration (p. 441)• Référentiels distants (p. 442)• Commits (p. 443)• Branches (p. 444)• Tags (p. 445)

Variables de configuration

Répertorie toutes les variables de configuration. git config --list

Répertorie uniquement les variables deconfiguration locales.

git config --local -l

Répertorie uniquement les variables deconfiguration système.

git config --system -l

Répertorie uniquement les variables deconfiguration globales.

git config --global -l

Définit une variable de configuration dans le fichierde configuration spécifié.

git config [--local | --global | --system] variable-name variable-value

Modifie directement un fichier de configuration.Permet également de découvrir l'emplacement

git config [--local | --global | --system] --edit

Version de l'API 2015-04-13441

Page 451: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurRéférentiels distants

d'un fichier de configuration spécifique. Pour quitterle mode édition, vous saisissez généralement :q(pour quitter sans enregistrer les modifications)ou :wq (pour enregistrer les modifications, puisquitter), puis vous appuyez sur Entrée.

Référentiels distants

Initialise un rapport local en vue de sa connexion àun Référentiel CodeCommit.

git init

Peut être utilisée pour configurer une connexionentre un rapport local et un référentiel distant(comme un Référentiel CodeCommit) en utilisant lepseudonyme spécifié dont dispose le rapport localpour le Référentiel CodeCommit et l'URL spécifiéevers le Référentiel CodeCommit.

git remote add remote-name remote-url

Crée un référentiel local en créant une copie d'unRéférentiel CodeCommit sur l'URL spécifiée,dans le sous-dossier indiqué du dossier actuel surl'ordinateur local. Cette commande crée égalementune branche de suivi distant pour chaque branchedans le Référentiel CodeCommit cloné, et créeet vérifie une branche initiale qui est répliquée àpartir de la branche actuelle par défaut dans leRéférentiel CodeCommit cloné.

git clone remote-url local-subfolder-name

Affiche le pseudonyme utilisé par le rapport localpour le Référentiel CodeCommit.

git remote

Affiche le pseudonyme et l'URL utilisés parle rapport local pour les extractions et lestransmissions vers le Référentiel CodeCommit.

git remote -v

Transmet les validations finalisées du rapportlocal vers le Référentiel CodeCommit en utilisantle pseudonyme spécifié dont dispose le rapportlocal pour le Référentiel CodeCommit et la branchespécifiée. Définit également des informationsde suivi en amont pour le rapport local lors de latransmission.

git push -u remote-name branch-name

Transmet les validations finalisées du rapportlocal vers le Référentiel CodeCommit une fois lesinformations de suivi en amont définies.

git push

Transmet les validations finalisées du RéférentielCodeCommit vers le rapport local en utilisant lepseudonyme spécifié dont dispose le rapport localpour le Référentiel CodeCommit et la branchespécifiée.

git pull remote-name branch-name

Extrait les validations finalisées vers le rapport localà partir du Référentiel CodeCommit une fois lesinformations de suivi en amont définies.

git pull

Version de l'API 2015-04-13442

Page 452: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurCommits

Déconnecte le rapport local du RéférentielCodeCommit en utilisant le pseudonyme spécifiédont dispose le rapport local pour le RéférentielCodeCommit.

git remote rm remote-name

Commits

Montre ce qui a été ou n'a pas été ajouté à lavalidation en attente dans le référentiel local.

git status

Montre ce qui a été ou n'a pas été ajouté à lavalidation en attente dans le rapport local en formatconcis.

(M = modifiés A = ajoutés, D = supprimés, etc.)

git status -sb

Montre les modifications entre la validation enattente et la dernière validation dans le rapportlocal.

git diff HEAD

Ajoute des fichiers spécifiques à la validation enattente dans le rapport local.

git add [file-name-1 file-name-2 file-name-N | file-pattern]

Ajoute tous les fichiers nouveaux, modifiés etsupprimés à la validation en attente dans leréférentiel local.

git add

Commence la finalisation de la validation en attentedans le rapport local qui affiche un éditeur pourfournir un message de validation. Une fois que lemessage a été saisi, la validation en attente estfinalisée.

git commit

Finalise la validation en attente dans le rapportlocal, en spécifiant en même temps un message devalidation.

git commit -m "Some meaningful commitcomment"

Répertorie les dernières validations dans le rapportlocal.

git log

Répertorie les dernières validations dans le rapportlocal en format graphique.

git log --graph

Répertorie les dernières validations dans le rapportlocal en un format condensé prédéfini.

git log --pretty=oneline

Répertorie les dernières validations dans le rapportlocal en un format condensé prédéfini avec ungraphique.

git log --graph --pretty=oneline

Répertorie les dernières validations dans le rapportlocal en un format personnalisé avec un graphique.

(Pour plus d'options, consultez le document GitBasics - Viewing the Commit History)

git log --graph --pretty=format:"%H(%h) : %cn : %ar : %s"

Version de l'API 2015-04-13443

Page 453: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurBranches

Branches

Répertorie toutes les branches du rapport localavec un astérisque (*) affiché à côté de votrebranche actuelle.

git branch

Extrait des informations sur toutes les branchesexistantes dans le Référentiel CodeCommit vers leréférentiel local.

git fetch

Répertorie toutes les branches existantes dans lerapport local et les branches de suivi distant dansle référentiel local.

git branch -a

Répertorie uniquement les branches de suividistant dans le rapport local.

git branch -r

Crée une nouvelle branche dans le rapport local enutilisant le nom de branche spécifié.

git branch new-branch-name

Bascule vers une autre branche dans le rapportlocal en utilisant le nom de branche spécifié.

git checkout other-branch-name

Crée une nouvelle branche dans le rapport local enutilisant le nom de branche spécifié, puis basculevers celle-ci.

git checkout -b new-branch-name

Transmet une nouvelle branche du rapport localvers le Référentiel CodeCommit en utilisant lepseudonyme spécifié dont dispose le rapportlocal pour le Référentiel CodeCommit et le nomde branche spécifié. Définit également desinformations de suivi en amont pour la branchedans le rapport local lors de la transmission.

git push -u remote-name new-branch-name

Crée une nouvelle branche dans le rapport localen utilisant le nom de branche spécifié. Connecteensuite la nouvelle branche dans le rapport localà une branche existante dans le RéférentielCodeCommit en utilisant le pseudonyme spécifiédont dispose le rapport local pour le RéférentielCodeCommit et le nom de branche spécifié.

git branch --track new-branch-nameremote-name/remote-branch-name

Fusionne des modifications d'une autre branchedans le rapport local à la branche actuelle dans lerapport local.

git merge from-other-branch-name

Supprime une branche dans le rapport localsauf si elle contient des tâches qui n'ont pas étéfusionnées.

git branch -d branch-name

Supprime une branche dans le RéférentielCodeCommit en utilisant le pseudonyme spécifiédont dispose le rapport local pour le RéférentielCodeCommit et le nom de branche spécifié. (Notezl'utilisation du signe deux points (:).)

git push remote-name :branch-name

Version de l'API 2015-04-13444

Page 454: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurTags

Tags

Répertorie toutes les balises du rapport local. git tag

Extrait toutes les balises du RéférentielCodeCommit vers le rapport local.

git fetch --tags

Affiche des informations sur une balise spécifiquedans le rapport local.

git show tag-name

Crée une balise « légère » dans le rapport local. git tag tag-name commit-id-to-point-tag-at

Transmet une balise spécifique du rapport localvers le Référentiel CodeCommit en utilisant lepseudonyme spécifié dont dispose le rapport localpour le Référentiel CodeCommit et le nom debalise spécifié.

git push remote-name tag-name

Transmet toutes les balises du rapport localvers le Référentiel CodeCommit en utilisant lepseudonyme spécifié dont dispose le rapport localpour le Référentiel CodeCommit.

git push remote-name --tags

Supprime une balise dans le rapport local. git tag -d tag-name

Supprime une balise dans le RéférentielCodeCommit en utilisant le pseudonyme spécifiédont dispose le rapport local pour le RéférentielCodeCommit et le nom de balise spécifié. (Notezl'utilisation du signe deux points (:).)

git push remote-name :tag-name

Version de l'API 2015-04-13445

Page 455: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateur

Historique du document Guide del'utilisateur AWS CodeCommit

Le tableau suivant décrit les modifications importantes apportées à la documentation CodeCommit. Pourrecevoir les notifications concernant les mises à jour de cette documentation, abonnez-vous à un flux RSS.

• Version de l'API : 2015-04-13• Dernière mise à jour de la documentation : 16 septembre 2020

update-history-change update-history-description update-history-date

CodeCommit est désormaisdisponible dans UE(Milan). (p. 446)

CodeCommit est désormaisdisponible dans un AWSRégion : UE (Milan). Pour plusd’informations, consultez Régionset points de terminaison deconnexion Git.

September 16, 2020

CodeCommit prend en charge lesréactions aux emojis (p. 446)

CodeCommit prend désormaisen charge la réaction auxcommentaires d’autresutilisateurs avec des emojis. Pourplus d’informations, consultezCommentaire sur une validationet Examiner une demanded’extraction.

June 24, 2020

CodeCommit est désormaisdisponible dans les régionsChine (Pékin) et Chine(Ningxia) (p. 446)

CodeCommit est désormaisdisponible dans deux régionsAWS supplémentaires :Chine (Pékin) et Chine(Ningxia). Pour de plus amplesinformations, veuillez consulterla documentation relative auxrégions et points de terminaisonde connexion Git.

April 23, 2020

CodeCommit inclut la priseen charge de git-remote-codecommit (p. 446)

CodeCommit prend en chargeles connexions aux référentielsCodeCommit via HTTPS avecgit-remote-codecommit, unutilitaire qui modifie Git. Il s'agitde l'approche recommandéepour les connexions d'accèsfédérés ou temporaires auxréférentiels CodeCommit. Vouspouvez également utiliser git-remote-codecommit avec unutilisateur IAM. git-remote-codecommit ne nécessitepas que vous configuriez lesinformations d’identification

March 4, 2020

Version de l'API 2015-04-13446

Page 456: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateur

Git pour l’utilisateur. Pour plusd'informations, consultez Étapesde configuration des connexionsHTTPS AWS CodeCommit avecgit-remote-codecommit.

CodeCommit prend en charge lesbalises de session (p. 446)

CodeCommit prend en chargel’utilisation de balises de session,qui sont des attributs de paireclé-valeur que vous transmettezlorsque vous assumez un IAMrôle, utiliser temporou fédérer unutilisateur dans AWS SecurityToken Service (AWS STS). Vouspouvez utiliser les informationsfournies dans ces balises pourfaciliter l'identification despersonnes qui ont effectuéune modification ou causé unévénement. Pour de plus amplesinformations, veuillez consulterSurveillance CodeCommit etUtilisation de balises pour fournirles informations d'identité dansCodeCommit.

December 19, 2019

CodeCommit est disponibledans Asie-Pacifique (HongKong). (p. 446)

Vous pouvez désormais utiliserCodeCommit dans Asie-Pacifique (Hong Kong). Pourplus d'informations, notammentsur les points de terminaisonde connexion Git, consultezRégions.

December 11, 2019

CodeCommit prend encharge Amazon CodeGuruReviewer (p. 446)

CodeCommit prend en chargeAmazon CodeGuru Reviewer,un service de révision decode automatisé qui utilisel'analyse de programme et leMachine Learning pour détecterles problèmes courants etrecommander des correctifs dansvotre code Java. Pour de plusamples informations, veuillezconsulter Associer un référentielà Amazon CodeGuru Reviewerou le dissocier et Utilisation desdemandes d'extraction.

December 3, 2019

Version de l'API 2015-04-13447

Page 457: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateur

CodeCommit prend en charge lesrègles d'approbation (p. 446)

Vous pouvez désormais utiliserdes règles d'approbation pourpersonnaliser plus facilementvos workflows de développemententre référentiels afin que lesdifférentes branches disposentde niveaux d'approbation et decontrôle appropriés pour lesdemandes d'extraction. Pourde plus amples informations,veuillez consulter Utilisation desmodèles de règles d'approbationet Utilisation des demandesd'extraction.

November 20, 2019

CodeCommit prend en charge lesrègles de notification (p. 446)

Vous pouvez désormais utiliserdes règles de notification pourinformer les utilisateurs desmodifications importantesapportées aux référentiels.Cette fonctionnalité remplaceles notifications créées avantle 5 novembre 2019. Pour plusd'informations, consultez Créerune règle de notification.

November 5, 2019

CodeCommit est disponibledans Moyen-Orient(Bahreïn). (p. 446)

Vous pouvez désormais utiliserCodeCommit dans Moyen-Orient (Bahreïn). Pour plusd'informations, notammentsur les points de terminaisonde connexion Git, consultezRégions.

October 30, 2019

CodeCommit ajoute la priseen charge de la récupérationd'informations sur plusieursvalidations (p. 446)

Vous pouvez obtenir desinformations sur plusieursvalidations à l'aide de lacommande batch-get-commitsde l'AWS CLI. Pour plusd'informations, consultezAffichage des détails devalidation.

August 15, 2019

CodeCommit est disponible dansEurope (Stockholm). (p. 446)

Vous pouvez désormaisutiliser CodeCommit dansEurope (Stockholm). Pour plusd'informations, notammentsur les points de terminaisonde connexion Git, consultezRégions.

July 31, 2019

Version de l'API 2015-04-13448

Page 458: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateur

CodeCommit ajoute la priseen charge du balisage desréférentiels dans la consoleCodeCommit (p. 446)

Vous pouvez désormaisajouter, gérer et supprimerdes balises pour un référentielafin de vous aider à gérer vosressources AWS depuis laconsole CodeCommit. Pourplus d'informations, consultezBalisage d'un référentiel.

July 2, 2019

CodeCommit ajoute la prise encharge d'autres stratégies defusion Git (p. 446)

Vous pouvez désormais choisirentre des stratégies de fusionGit lorsque vous fusionnezdes demandes d’extractiondans CodeCommit. Vouspouvez également résoudredes conflits de fusion dans laconsole CodeCommit. Pourplus d'informations, consultezUtilisation des demandesd’extraction.

June 10, 2019

CodeCommit est disponibledans AWS GovCloud (US-East). (p. 446)

Vous pouvez désormais utiliserCodeCommit dans AWSGovCloud (US-East). Pourplus d'informations, notammentsur les points de terminaisonde connexion Git, consultezRégions.

May 31, 2019

CodeCommit ajoute la priseen charge des référentiels debalisage (p. 446)

Vous pouvez désormais ajouter,gérer et supprimer des balisespour un référentiel afin de vousaider à gérer vos ressourcesAWS. Pour plus d'informations,consultez Balisage d'unréférentiel.

May 30, 2019

Recherche des ressources dansla console (p. 446)

Vous pouvez désormaisrechercher rapidement vosressources, telles que desréférentiels, des projets degénération, des applications dedéploiement et des pipelines.Choisissez Go to ressource(Accéder aux ressources)ou appuyez sur la touche /,puis saisissez le nom de laressource. Pour de plus amplesinformations, veuillez consulterDidacticiel CodeCommit.

May 14, 2019

CodeCommit est disponibledans AWS GovCloud(USA Ouest). (p. 446)

Vous pouvez désormais utiliserCodeCommit dans AWSGovCloud (USA Ouest). Pourplus d'informations, notammentsur les points de terminaisonde connexion Git, consultezRégions.

April 18, 2019

Version de l'API 2015-04-13449

Page 459: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateur

CodeCommit prend désormais encharge les points de terminaisonAmazon VPC (p. 446)

Vous pouvez maintenant établirune connexion privée entrevotre VPC et CodeCommit. Pourplus d'informations, consultezUtilisation d’CodeCommit avecles points de terminaison de VPCd'interface.

March 7, 2019

CodeCommit ajoute une nouvelleAPI (p. 446)

CodeCommit a ajouté une APIpour créer des validations. Pourplus d'informations, consultezCréation d’une validation.

February 20, 2019

Mise à jour du contenu (p. 446) Le contenu de ce guide a été misà jour pour inclure des correctifsmineurs ainsi que des conseilssupplémentaires de dépannage.

January 2, 2019

Mise à jour du contenu (p. 446) Le contenu de ce guide a été misà jour pour prendre en charge lanouvelle expérience de consoleCodeCommit.

October 30, 2018

CodeCommit et la normefédérale de traitement desinformations (FIPS) (p. 446)

CodeCommit a ajouté laprise en charge de la normegouvernementale de publicationFederal Information ProcessingStandard (FIPS) 140-2 danscertaines régions. Pour plusd'informations sur FIPS etles points de terminaisonFIPS, consultez FederalInformation Processing Standard(FIPS) 140-2 Overview. Pour plusd'informations sur les points determinaison de connexion Git,consultez Régions.

October 25, 2018

CodeCommit ajoute troisAPIs (p. 446)

CodeCommit a ajouté troisAPIs pour prendre en chargel’utilisation des fichiers. Pour plusd'informations sur les points determinaison de connexion Git,consultez la page Autorisationspour les actions sur des fichiersindividuels et Référence d'APIAWS CodeCommit.

September 27, 2018

Notification d'historique de ladocumentation CodeCommitdisponible via un flux RSS (p. 446)

Vous pouvez maintenant recevoirune notification en cas de miseà jour de la documentationCodeCommit en vous abonnant àun flux RSS.

June 29, 2018

Version de l'API 2015-04-13450

Page 460: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurMises à jour antérieures

Mises à jour antérieuresLe tableau suivant décrit les modifications importantes apportées à la documentation avant le 29 juin 2018.

Modification  Description Date demodification

Nouvelle rubrique La rubrique Permet de limiter les transmissions et les fusionsvers les branches (p. 269) a été ajoutée. La rubrique Référencedes autorisations CodeCommit (p. 349) a été mise à jour.

16 mai 2018

Nouvelle section La section Utilisation des fichiers dans AWS CodeCommitréférentiels (p. 161) a été ajoutée. Les rubriques Référencedes autorisations CodeCommit (p. 349) et Démarrez avec AWSCodeCommit (p. 60) ont été mises à jour.

21 février 2018

Nouvelle rubrique La rubrique Configurer l’accès entre comptes à un AWSCodeCommit du référentiel à l’aide de rôles (p. 150) a étéajoutée.

21 février 2018

Nouvelle rubrique La rubrique Intégration de AWS Cloud9 avec AWSCodeCommit (p. 23) a été ajoutée. La rubrique Intégrationsde produits et services (p. 86) a été mise à jour avec lesinformations sur AWS Cloud9.

1 décembre2017

Nouvelle section La section Utilisation des demandes d’extraction dansAWS CodeCommit référentiels (p. 169) a été ajoutée.La section Authentification et contrôle d'accès pourAWS CodeCommit (p. 321) a été mise à jour avec lesinformations sur les autorisations d'extraction des demandeset commentaires. Elle inclut également des déclarations destratégie gérées et mises à jour.

20 novembre 2017

Mise à jour desrubriques

La rubrique Intégrations de produits et services (p. 86) aété mise à jour pour inclure des liens pour les clients quisouhaitent actualiser leurs pipelines existants afin d'utiliserAmazon CloudWatch Events pour démarrer les pipelines enréponse à des modifications dans un référentiel CodeCommit.

11 octobre 2017

Nouvelles rubriques La section Authentification et contrôle d'accès pour AWSCodeCommit (p. 321) a été ajoutée. Elle remplace la rubriqueRéférence des autorisations d'accès.

11 septembre2017

Mise à jour desrubriques

La section Gestion des déclencheurs pour unréférentiel (p. 117) a été mise à jour pour prendre en compte lesmodifications relatives à la configuration des déclencheurs. Lesrubriques et les images ont été mises à jour dans tout le guidepour prendre en compte les modifications apportées à la barrede navigation.

29 août 2017

Nouvelle rubrique La rubrique Utilisation des préférences utilisateur (p. 282) a étéajoutée. La rubrique Afficher les détails de la balise (p. 262)a été mise à jour. Les rubriques Intégrations de produitset services (p. 86) ont été mises à jour afin d'inclure desinformations sur l'intégration à Amazon CloudWatch Events.

3 août 2017

Version de l'API 2015-04-13451

Page 461: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurMises à jour antérieures

Modification  Description Date demodification

Nouvelles rubriques Les rubriques Intégration d'Eclipse à AWS CodeCommit (p. 30)et Intégration de Visual Studio avec AWS CodeCommit (p. 27)ont été ajoutées.

29 juin 2017

Rubrique mise à jour CodeCommit est désormais disponible dans deux régionssupplémentaires : Asie-Pacifique (Mumbai) et Canada (Centre).La rubrique Régions et points de terminaison de connexionGit (p. 423) a été mise à jour.

29 juin 2017

Rubrique mise à jour CodeCommit est désormais disponible dans quatre régionssupplémentaires : Asie-Pacifique (Séoul), Amérique du Sud(São Paulo), USA Ouest (Californie du Nord) et Europe(Londres). La rubrique Régions et points de terminaison deconnexion Git (p. 423) a été mise à jour.

6 juin 2017

Rubrique mise à jour CodeCommit est désormais disponible dans quatre régionssupplémentaires : Asie-Pacifique (Tokyo), Asie-Pacifique(Singapour), Asie-Pacifique (Sydney) et Europe (Francfort).La rubrique Régions et points de terminaison de connexionGit (p. 423) a été mise à jour afin de fournir des informations surles points de terminaison de connexion Git et les régions prisesen charge pour CodeCommit.

25 mai 2017

Nouvelle rubrique La rubrique Comparer et fusionner des branches (p. 275)a été ajoutée. Le contenu de la section Utilisation debranches (p. 266) a été mis à jour avec des informations surl'utilisation de la console CodeCommit avec des branches dansun référentiel.

18 mai 2017

Nouvelle rubrique La rubrique Comparer des validations (p. 246) a été ajoutéeavec des informations sur la comparaison des validations.La structure du guide de l'utilisateur a été mise à jour pourl'utilisation des référentiels (p. 95), des validations (p. 231) etdes branches (p. 266).

28 mars 2017

Rubrique mise à jour La rubrique Affichage des détails d'une validation (p. 237) a étémise à jour avec des informations sur l'affichage des différencesentre une validation et sa validation parent dans la console,et à l'aide de la commande get-differences pour afficher lesdifférences entre les validations à l'aide de l'AWS CLI.

24 janvier 2017

Nouvelle rubrique La rubrique Journalisation des appels d'API AWS CodeCommitavec AWS CloudTrail (p. 393) a été ajoutée avec desinformations concernant la journalisation de connexions àCodeCommit à l'aide de AWS CloudFormation.

11 janvier 2017

Nouvelle rubrique La rubrique Pour les utilisateurs HTTPS utilisant desinformations d’identification Git (p. 10) a été ajoutée avec desinformations concernant la configuration de connexions àCodeCommit en utilisant des informations d'identification Git parHTTPS.

22 décembre2016

Rubrique mise à jour Le Intégrations de produits et services (p. 86) rubrique a étémise à jour pour inclure des informations sur l’intégration avecAWS CodeBuild.

5 décembre2016

Version de l'API 2015-04-13452

Page 462: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurMises à jour antérieures

Modification  Description Date demodification

Rubrique mise à jour CodeCommit est désormais disponible dans une autre région,Europe (Irlande). La rubrique Régions et points de terminaisonde connexion Git (p. 423) a été mise à jour afin de fournir desinformations sur les points de terminaison de connexion Git etles régions prises en charge pour CodeCommit.

16 novembre 2016

Rubrique mise à jour CodeCommit est désormais disponible dans une autre région,USA Ouest (Oregon). La rubrique Régions et points determinaison de connexion Git (p. 423) a été mise à jour afinde fournir des informations sur les points de terminaisonde connexion Git et les régions prises en charge pourCodeCommit.

14 novembre 2016

Nouvelle rubrique La rubrique Créer un déclencheur pour un Lambdafonction (p. 123) a été mise à jour pour refléter la possibilitéde créer des déclencheurs CodeCommit dans le cadre dela création de la fonction Lambda. Ce processus simplifiérationalise la création des déclencheurs et configureautomatiquement le déclencheur avec les autorisationsnécessaires pour qu'CodeCommit appelle la fonctionLambda. La rubrique Créer un déclencheur pour un Lambdafonction (p. 127) a été ajoutée de façon à inclure desinformations sur la création des déclencheurs pour les fonctionsLambda existantes dans la console CodeCommit.

19 octobre 2016

Nouvelle rubrique CodeCommit est désormais disponible dans une autre région,USA Est (Ohio). La rubrique Régions et points de terminaisonde connexion Git (p. 423) a été ajoutée afin de fournir desinformations sur les points de terminaison de connexion Git etles régions prises en charge pour CodeCommit.

17 octobre 2016

Mise à jour derubrique

La rubrique Intégrations de produits et services (p. 86) a étémise à jour afin d'inclure des informations sur l'intégration àAWS Elastic Beanstalk.

13 octobre 2016

Mise à jour derubrique

La rubrique Intégrations de produits et services (p. 86) a étémise à jour afin d'inclure des informations sur l'intégration àAWS CloudFormation.

6 octobre 2016

Mise à jour derubrique

Le Pour les connexions SSH sous Windows (p. 42) a été révisépour fournir des conseils sur l’utilisation d’un émulateur Bashpour les connexions SSH sous Windows au lieu de PuTTY suited’outils.

29 septembre2016

Mise à jour derubrique

Les rubriques Affichage des détails d'une validation (p. 237) etDémarrez avec CodeCommit (p. 60) ont été mises à jour pourinclure des informations sur l'outil Commit Visualizer dans laconsole CodeCommit. La rubrique Quotas (p. 432) a été miseà jour avec l'augmentation du nombre de références autoriséesdans une seule transmission (push).

14 septembre2016

Mise à jour derubrique

Les rubriques Affichage des détails d'une validation (p. 237)et Démarrez avec CodeCommit (p. 60) ont été mises à jourpour inclure des informations sur l'affichage de l'historique devalidations dans la console CodeCommit.

28 juillet 2016

Version de l'API 2015-04-13453

Page 463: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurMises à jour antérieures

Modification  Description Date demodification

Nouvelles rubriques Les rubriques Migrer un référentiel Git vers AWSCodeCommit (p. 283) et Migrer le contenu local ou nonversionné vers AWS CodeCommit (p. 293) ont été ajoutées.

29 juin 2016

Mise à jour derubrique

Des mises à jour mineures ont été apportées aux rubriquesDépannage (p. 401) et Pour les connexions HTTPSsur Windows avec le AWS CLI aide d’informationsd’identification (p. 53).

22 juin 2016

Mise à jour derubrique

Les rubriques Intégrations de produits et services (p. 86) etRéférence des autorisations d'accès ont été mises à jour afind'inclure des informations sur l'intégration à CodePipeline.

18 avril 2016

Nouvelles rubriques La section Gestion des déclencheurs pour unréférentiel (p. 117) a été ajoutée. De nouvelles rubriquesincluent des exemples, notamment des exemples de stratégieet de code, pour expliquer comment créer, modifier etsupprimer des déclencheurs.

7 mars 2016

Nouvelle rubrique La rubrique Intégrations de produits et services (p. 86) aété ajoutée. Des mises à jour mineures ont été apportées àDépannage (p. 401).

7 mars 2016

Mise à jour derubrique

En plus de l'empreinte de serveur MD5, l'empreinte de serveurSHA256 pour CodeCommit a été ajoutée à Pour les connexionsSSH sousLinux, macOS, or Unix (p. 37) et Pour les connexionsSSH sous Windows (p. 42).

9 décembre2015

Nouvelle rubrique La rubrique Parcourir les fichiers dans un référentiel (p. 162)a été ajoutée. Des nouveaux problèmes ont été ajoutés àDépannage (p. 401). Des améliorations et des correctifsmineurs ont été apportés dans l'ensemble du guide del'utilisateur.

5 octobre 2015

Nouvelle rubrique La rubrique Pour les utilisateurs SSH qui n’utilisent pas l’AWS CLI (p. 35) a été ajoutée. Les rubriques de Configurationde (p. 7) ont été simplifiées. Des conseils pour aider lesutilisateurs à déterminer les étapes à suivre pour leurssystèmes d'exploitation et leurs protocoles préférés ont étéfournis.

5 août 2015

Mise à jour derubrique

Des clarifications et des exemples ont été ajoutés auxétapes sur l'ID de clé SSH dans SSH et Linux, macOS, orUnix : Configuration des clés publiques et privées pour GitetCodeCommit (p. 38) et Étape 3 : Configuration des cléspubliques et privées pour Git etCodeCommit (p. 44).

24 juillet 2015

Mise à jour derubrique

Des étapes Étape 3 : Configuration des clés publiques etprivées pour Git etCodeCommit (p. 44) ont été mises à jourpour résoudre un problème lié à IAM et l'enregistrement dufichier de clé publique.

22 juillet 2015

Mise à jour derubrique

La rubrique Dépannage (p. 401) a été mise à jour avecdes aides à la navigation. Des informations de dépannagesupplémentaires pour des problèmes de trousseaud'informations d'identification ont été ajoutées.

20 juillet 2015

Version de l'API 2015-04-13454

Page 464: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateurMises à jour antérieures

Modification  Description Date demodification

Mise à jour derubrique

Des informations supplémentaires sur les autorisations AWSKey Management Service ont été ajoutées aux rubriques AWSKMS et chiffrement (p. 311) et Référence des autorisationsd'accès.

17 juillet 2015

Mise à jour derubrique

Une section supplémentaire a été ajoutée àDépannage (p. 401) avec des informations sur le dépannage deproblèmes liés à AWS Key Management Service.

10 juillet 2015

Première version Il s'agit de la première version du Guide de l'utilisateurCodeCommit.

9 juillet 2015

Version de l'API 2015-04-13455

Page 465: AWS CodeCommit - Guide de l'utilisateur...Étape 3 : Navigation dans le contenu de votre référentiel..... 64 Étape 4 : Créer et gérer une demande d'extraction de manière collaborative

AWS CodeCommit Manuel de l'utilisateur

Glossaire AWSPour la terminologie AWS la plus récente, consultez le Glossaire AWS dans le document AWS GeneralReference.

Version de l'API 2015-04-13456