

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# GitHub et jeton d'accès au serveur GitHub Enterprise
<a name="access-tokens-github"></a>

## Prérequis de jeton d'accès
<a name="access-tokens-github-prereqs"></a>

Avant de commencer, vous devez ajouter les étendues d'autorisation appropriées à votre jeton GitHub d'accès. 

En effet GitHub, votre jeton d'accès personnel doit avoir les champs d'application suivants. 
+ **repo** : accorde un contrôle total des référentiels privés. 
+ **repo:status** : accorde l' read/write accès aux statuts de validation des référentiels publics et privés.
+ **admin:repo\$1hook** : accorde le contrôle total des hooks de référentiel. Cette règle n'est pas obligatoire si votre jeton dispose de la règle `repo`. 
+ **admin:org\$1hook** : accorde le contrôle total des hooks de l'organisation. Cette étendue n'est requise que si vous utilisez la fonctionnalité de webhook de l'organisation.

Pour plus d'informations, consultez [la section Comprendre les étendues des OAuth applications](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/) sur le GitHub site Web.

Si vous utilisez des jetons d'accès personnels précis, selon votre cas d'utilisation, votre jeton d'accès personnel peut nécessiter les autorisations suivantes :
+ **Contenu : Lecture seule** : autorise l'accès aux référentiels privés. Cette autorisation est requise si vous utilisez des référentiels privés comme source.
+ **Statuts de validation : lecture et écriture** : accorde l'autorisation de créer des statuts de validation. Cette autorisation est requise si le webhook est configuré dans votre projet ou si la fonctionnalité d'état de création de rapports est activée.
+ **Webhooks : lecture et écriture** : accorde l'autorisation de gérer les webhooks. Cette autorisation est requise si le webhook est configuré dans votre projet.
+ **Demandes d'extraction : en lecture seule** : accorde l'autorisation d'accéder aux demandes d'extraction. Cette autorisation est requise si votre webhook possède un `FILE_PATH` filtre sur les événements de pull request.
+ **Administration : lecture et écriture** : cette autorisation est requise si vous utilisez la fonctionnalité GitHub Actions Runner auto-hébergée avec CodeBuild. Pour plus de détails, voir [Créer un jeton d'enregistrement pour un référentiel](https://docs.github.com/en/rest/actions/self-hosted-runners?apiVersion=2022-11-28#create-a-registration-token-for-a-repository) et[Tutoriel : Configuration d'un CodeBuild exécuteur d' GitHub actions hébergé](action-runner.md).

**Note**  
Si vous souhaitez accéder aux référentiels de l'organisation, assurez-vous de spécifier l'organisation en tant que propriétaire de la ressource du jeton d'accès.

Pour plus d'informations, consultez la section [Autorisations requises pour les jetons d'accès personnels détaillés](https://docs.github.com/en/rest/authentication/permissions-required-for-fine-grained-personal-access-tokens?apiVersion=2022-11-28) sur le GitHub site Web.

## Connect GitHub avec un jeton d'accès (console)
<a name="access-tokens-github-console"></a>

Pour utiliser la console afin de connecter votre projet à GitHub l'aide d'un jeton d'accès, procédez comme suit lorsque vous créez un projet. Pour plus d'informations, consultez [Création d'un projet de génération (console)](create-project.md#create-project-console). 

1. Dans le **champ Source provider**, sélectionnez **GitHub**. 

1. Pour **Credential**, effectuez l'une des opérations suivantes :
   + Choisissez d'utiliser les informations d'identification du compte pour appliquer les informations d'identification source par défaut de votre compte à tous les projets.

     1. Si vous n'êtes pas connecté à GitHub, choisissez **Gérer les informations d'identification du compte**.

     1. Pour le **type d'identifiant**, choisissez **jeton d'accès personnel**.
   + Si vous avez choisi d'utiliser les informations d'identification au niveau du compte pour le **service**, choisissez le service que vous souhaitez utiliser pour stocker votre jeton et procédez comme suit :

     1. Si vous choisissez d'utiliser **Secrets Manager**, vous pouvez choisir d'utiliser une connexion secrète existante ou d'en créer un nouveau, puis choisir **Enregistrer**. Pour plus d'informations sur la création d'un nouveau secret, consultez[Créez et stockez un jeton dans un secret du Gestionnaire de Secrets](asm-create-secret.md).

     1. Si vous choisissez de l'utiliser **CodeBuild**, entrez votre jeton d'accès GitHub personnel, puis choisissez **Enregistrer**.
   + Sélectionnez **Utiliser les informations d'identification de remplacement pour ce projet uniquement** pour utiliser des informations d'identification source personnalisées afin de remplacer les paramètres d'identification de votre compte.

     1. Dans la liste des informations d'identification renseignée, choisissez l'une des options sous **Jeton d'accès personnel**.

     1. Vous pouvez également créer un nouveau jeton d'accès personnel en sélectionnant **créer une nouvelle connexion par jeton d'accès personnel** dans la description.

## Connectez-vous à GitHub l'aide d'un jeton d'accès (CLI)
<a name="access-tokens-github-cli"></a>

Suivez ces étapes pour connecter votre projet AWS CLI à l' GitHub aide d'un jeton d'accès. Pour plus d'informations sur l'utilisation du AWS CLI with AWS CodeBuild, consultez le[Référence des commandes en ligne](cmd-ref.md). 

1. Exécutez la commande **import-source-credentials** : 

   ```
   aws codebuild import-source-credentials --generate-cli-skeleton
   ```

   Des données au format JSON apparaissent dans la sortie. Copiez les données dans un fichier (par exemple,`import-source-credentials.json`) situé sur l'ordinateur local ou sur l'instance où le AWS CLI est installé. Modifiez les données copiées comme suit, puis enregistrez vos résultats. 

   ```
   {
       "serverType": "server-type",
       "authType": "auth-type",
       "shouldOverwrite": "should-overwrite",
       "token": "token",
       "username": "username"
       }
   ```

   Remplacez les éléments suivants : 
   + *server-type*: valeur requise. Le fournisseur de source utilisé pour cette information d'identification. Les valeurs valides sont GITHUB, BITBUCKET, GITHUB\$1ENTERPRISE, GITLAB et GITLAB\$1SELF\$1MANAGED.
   + *auth-type*: valeur requise. Type d'authentification utilisé pour se connecter à un référentiel. Les valeurs valides sont OAUTH, BASIC\$1AUTH, PERSONAL\$1ACCESS\$1TOKEN, CODECONNECTIONS et SECRETS\$1MANAGER. Car GitHub seul PERSONAL\$1ACCESS\$1TOKEN est autorisé. BASIC\$1AUTH n'est autorisé qu'avec le mot de passe de l'application Bitbucket.
   + *should-overwrite*: valeur facultative. Définissez cette valeur sur `false` pour empêcher le remplacement des informations d'identification source du référentiel. Définissez cette valeur sur `true` pour remplacer les informations d'identification source du référentiel. La valeur par défaut est `true`.
   + *token*: valeur requise. Pour GitHub notre serveur d' GitHub entreprise, il s'agit du jeton d'accès personnel. Pour Bitbucket, il s'agit du jeton d'accès personnel ou du mot de passe de l'application. Pour le type d'authentification CODECONNECTIONS, il s'agit de l'ARN de connexion. Pour le type d'authentification SECRETS\$1MANAGER, il s'agit de l'ARN secret.
   + *username*: valeur facultative. Ce paramètre est ignoré pour GitHub les fournisseurs de sources GitHub Enterprise Server. 

1. Pour vous connecter à votre compte avec un jeton d'accès, passez au répertoire contenant le fichier `import-source-credentials.json` que vous avez enregistré à l'étape 1 et exécutez à nouveau la commande **import-source-credentials**. 

   ```
   aws codebuild import-source-credentials --cli-input-json file://import-source-credentials.json
   ```

   Les données au format JSON apparaissent dans la sortie avec un Amazon Resource Name (ARN). 

   ```
   {
       "arn": "arn:aws:codebuild:region:account-id:token/server-type"
       }
   ```
**Note**  
Si vous exécutez la commande **import-source-credentials** avec le même type de serveur et de auth une seconde fois, le jeton d'accès stocké est mis à jour. 

   Une fois que votre compte est connecté par un jeton d'accès, vous pouvez l'utiliser `create-project` pour créer votre CodeBuild projet. Pour de plus amples informations, veuillez consulter [Création d'un projet de génération (AWS CLI)](create-project.md#create-project-cli). 

1. Pour afficher les jetons d'accès connectés, exécutez la commande **list-source-credentials**. 

   ```
   aws codebuild list-source-credentials
   ```

   Un objet `sourceCredentialsInfos` au format JSON apparaît dans la sortie : 

   ```
   {
           "sourceCredentialsInfos": [
               {
                   "authType": "auth-type",
                   "serverType": "server-type", 
                   "arn": "arn"
               }
           ]
       }
   ```

   Le `sourceCredentialsObject` contient la liste des informations d'identification de la source connectée : 
   + L'élément `authType` est le type d'authentification utilisé par les informations d'identification. Cela peut être `OAUTH``BASIC_AUTH`,`PERSONAL_ACCESS_TOKEN`,`CODECONNECTIONS`, ou`SECRETS_MANAGER`. 
   + Le `serverType` est le type de fournisseur de source. Cela peut être `GITHUB``GITHUB_ENTERPRISE`,`BITBUCKET`,`GITLAB`, ou`GITLAB_SELF_MANAGED`. 
   + Le `arn` est l'ARN du jeton. 

1. Pour vous déconnecter d'un fournisseur de source et supprimer ses jetons d'accès, exécutez la commande **delete-source-credentials** avec son ARN. 

   ```
   aws codebuild delete-source-credentials --arn arn-of-your-credentials
   ```

   Des données au format JSON sont renvoyées avec un ARN des informations d'identification supprimées. 

   ```
   {
       "arn": "arn:aws:codebuild:region:account-id:token/server-type"
       }
   ```