

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 Connexions aux applications pour GitHub et GitHub Enterprise Server
<a name="connections-github-app"></a>

Vous pouvez utiliser GitHub l'application pour vous connecter à CodeBuild. GitHub Les connexions aux applications sont prises en charge via [AWS CodeConnections](https://docs.aws.amazon.com/dtconsole/latest/userguide/welcome-connections.html).

L'accès au fournisseur de source vous permet de déclencher une compilation en vous abonnant à [GitHub événements webhook](github-webhook.md) [ CreateWebhook](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_CreateWebhook.html)using ou [Tutoriel : Configuration d'un CodeBuild exécuteur d' GitHub actions hébergé](action-runner.md) en utilisant in CodeBuild.

**Note**  
CodeConnections est disponible dans un nombre de régions inférieur à CodeBuild. Vous pouvez utiliser des connexions entre régions dans. CodeBuild Les connexions créées dans les régions optionnelles ne peuvent pas être utilisées dans d'autres régions. Pour plus d’informations, consultez [Points de terminaison et quotas AWS CodeConnections](https://docs.aws.amazon.com/general/latest/gr/codestar_connections.html).

**Topics**
+ [Étape 1 : créer une connexion à GitHub l'application (console)](#connections-github-console)
+ [Étape 2 : Accorder l'accès au rôle IAM du CodeBuild projet pour utiliser la connexion](#connections-github-role-access)
+ [Étape 3 : Configuration CodeBuild pour utiliser la nouvelle connexion](#connections-github-account-credential)
+ [Résolution des problèmes liés à l' GitHub application](#connections-github-troubleshooting)

## Étape 1 : créer une connexion à GitHub l'application (console)
<a name="connections-github-console"></a>

Suivez ces étapes pour utiliser la CodeBuild console afin d'ajouter une connexion pour votre projet dans GitHub.

**Pour créer une connexion avec GitHub**
+ Suivez les instructions du *guide de l'utilisateur des outils* de développement pour [créer une connexion à GitHub](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-create-github.html).

**Note**  
Au lieu de créer ou d'utiliser une connexion existante dans votre compte, vous pouvez utiliser une connexion partagée depuis un autre AWS compte. Pour plus d'informations, voir [Partager des connexions avec AWS des comptes](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-share.html).

## Étape 2 : Accorder l'accès au rôle IAM du CodeBuild projet pour utiliser la connexion
<a name="connections-github-role-access"></a>

Vous pouvez accorder l'accès au rôle IAM du CodeBuild projet pour utiliser les GitHub jetons vendus par votre connexion.

**Pour accorder l'accès CodeBuild au rôle IAM du projet**

1. Créez un rôle IAM pour votre CodeBuild projet en suivant les instructions correspondant [CodeBuild Autoriser l'interaction avec d'autres AWS services](setting-up-service-role.md) à votre CodeBuild projet.

1. Tout en suivant les instructions, ajoutez la politique IAM suivante à votre rôle de CodeBuild projet pour autoriser l'accès à la connexion.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "codeconnections:GetConnectionToken",
                   "codeconnections:GetConnection"
               ],
               "Resource": [
                   "arn:aws:iam::*:role/Service*"
               ]
           }
       ]
   }
   ```

------

## Étape 3 : Configuration CodeBuild pour utiliser la nouvelle connexion
<a name="connections-github-account-credential"></a>

Vous pouvez configurer une connexion en tant qu'identifiant au niveau du compte et l'utiliser dans un projet.

------
#### [ AWS Management Console ]

**Pour configurer une connexion en tant qu'identifiant au niveau du compte dans AWS Management Console**

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

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

     1. Si vous n'êtes pas connecté à GitHub, choisissez **Gérer les informations d'identification de source par défaut**.

     1. Pour le **type d'identifiant**, choisissez **GitHub App**.

     1. Dans **Connexion**, choisissez d'utiliser une connexion existante ou d'en créer une nouvelle.
   + Choisissez **Identifiant source personnalisé pour utiliser un identifiant** source personnalisé afin de remplacer les paramètres par défaut de votre compte.

     1. Pour le **type d'identifiant**, choisissez **GitHub App**.

     1. Dans **Connexion**, choisissez d'utiliser une connexion existante ou d'en créer une nouvelle.

------
#### [ AWS CLI ]

**Pour configurer une connexion en tant qu'identifiant au niveau du compte dans AWS CLI**
+ Ouvrez une invite de terminal (Linux, macOS ou Unix) ou de commande (Windows). Utilisez le AWS CLI pour exécuter la **import-source-credentials** commande, en spécifiant le `--auth-type``--server-type`, et `--token` pour votre connexion.

  Utilisez la commande suivante :

  ```
  aws codebuild import-source-credentials --auth-type CODECONNECTIONS --server-type GITHUB --token <connection-arn>
  ```

------

Vous pouvez également configurer plusieurs jetons pour vos CodeBuild projets. Pour de plus amples informations, veuillez consulter [Configurer plusieurs jetons comme informations d'identification au niveau de la source](multiple-access-tokens.md#asm-source-credential).

## Résolution des problèmes liés à l' GitHub application
<a name="connections-github-troubleshooting"></a>

Les informations suivantes peuvent vous aider à résoudre les problèmes courants liés à l' GitHub application.

**Topics**
+ [Installez l' GitHub application AWS Connector for dans une région indésirable](#connections-github-troubleshooting.undesired-region)
+ [La connexion à GitHub l'application n'a pas accès aux référentiels](#connections-github-troubleshooting.repo-access)
+ [Le rôle IAM du AWS service ne dispose pas des autorisations IAM nécessaires.](#connections-github-troubleshooting.iam-permissions)

### Installez l' GitHub application AWS Connector for dans une région indésirable
<a name="connections-github-troubleshooting.undesired-region"></a>

**Problème :** vous avez installé le AWS connecteur GitHub depuis le GitHub Marketplace, mais la connexion a été créée dans une région indésirable. Si vous tentez de reconfigurer l'application sur le GitHub site Web, elle ne fonctionnera pas car elle est déjà installée sur votre GitHub compte.

**Cause possible :** l'application étant déjà installée sur votre GitHub compte, vous ne pouvez que reconfigurer les autorisations de l'application.

**Solution recommandée :** vous pouvez créer une nouvelle connexion avec l'ID d'installation dans la région souhaitée.

1. Ouvrez la CodeConnections console dans [https://console.aws.amazon.com/codesuite/Paramètres/connexions](https://console.aws.amazon.com/codesuite/settings/connections) et naviguez jusqu'à la région souhaitée à l'aide du sélecteur de région dans la barre de navigation de la AWS console.

1. Suivez les instructions du *guide de l'utilisateur des outils* de développement pour [créer une connexion à GitHub](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-create-github.html).
**Note**  
Comme vous avez déjà installé le AWS Connector pour GitHub l'application, vous pouvez le choisir au lieu d'installer une nouvelle application.

### La connexion à GitHub l'application n'a pas accès aux référentiels
<a name="connections-github-troubleshooting.repo-access"></a>

**Problème :** un AWS service utilisant la connexion, tel que CodeBuild ou CodePipeline, indique qu'il n'a pas accès au référentiel ou que le référentiel n'existe pas. Voici quelques messages d'erreur possibles :
+ `Authentication required for primary source.`
+ `Unable to create webhook at this time. Please try again later.`
+ `Failed to create webhook. GitHub API limit reached. Please try again later.`

***Cause possible :** il se peut que vous utilisiez l' GitHub application et que vous n'ayez pas accordé l'autorisation d'accès au webhook.*  
**Solution recommandée :** pour accorder l'étendue d'autorisation requise, suivez les instructions de la [section Navigation vers l' GitHub application que vous souhaitez consulter ou modifier](https://docs.github.com/en/apps/using-github-apps/reviewing-and-modifying-installed-github-apps#navigating-to-the-github-app-you-want-to-review-or-modify) pour configurer l'application installée. Dans la section des autorisations, vous verrez que l'application n'a pas d'autorisation pour les webhooks et qu'il est possible de consulter les autorisations récemment demandées. Vérifiez et acceptez les nouvelles autorisations. Pour plus d'informations, consultez la section [Approbation des autorisations mises à jour pour une application](https://docs.github.com/en/apps/using-github-apps/approving-updated-permissions-for-a-github-app). GitHub 

***Cause possible :** La connexion fonctionnait comme prévu, mais elle n'a soudainement plus accès aux référentiels.*  
**Solution possible :** Commencez par examiner vos [autorisations](https://docs.github.com/en/apps/using-github-apps/reviewing-and-revoking-authorization-of-github-apps) et vos [installations](https://docs.github.com/en/apps/using-github-apps/reviewing-and-modifying-installed-github-apps), puis vérifiez que l' GitHub application est autorisée et installée. Si l'installation de l' GitHub application est suspendue, vous devez l'annuler. Si l' GitHub application n'est pas autorisée pour une connexion [UAT (User Access Token)](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/authenticating-with-a-github-app-on-behalf-of-a-user), ou si elle n'est pas installée pour une connexion [IAT (Installation Access Token)](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/authenticating-as-a-github-app-installation), la connexion existante n'est plus utilisable et vous devrez créer une nouvelle connexion. Notez que la réinstallation de l' GitHub application ne rétablira pas la connexion précédente associée à l'ancienne installation.  
**Solution possible :** s'il s'agit d'une connexion UAT, assurez-vous qu'elle n'est pas utilisée simultanément, par exemple lors de plusieurs exécutions CodeBuild simultanées de génération. Cela est dû au fait qu'il invalide GitHub immédiatement un UAT précédemment émis si un jeton expirant est actualisé par la connexion. Si vous devez utiliser une connexion UAT pour plusieurs CodeBuild versions simultanées, vous pouvez créer plusieurs connexions et utiliser chaque connexion indépendamment.  
**Solution possible :** Si la connexion UAT n'a pas été utilisée au cours des 6 derniers mois, la connexion sera invalidée par. GitHub Pour résoudre ce problème, créez une nouvelle connexion.

***Cause possible :** vous avez peut-être utilisé une connexion UAT sans installer l'application.*  
**Solution recommandée :** Bien que la création d'une connexion UAT ne nécessite pas d'associer la connexion à une installation d' GitHub application, une installation est requise pour que le référentiel soit accessible. Suivez les instructions pour [vérifier les installations](https://docs.github.com/en/apps/using-github-apps/reviewing-and-modifying-installed-github-apps) afin de vous assurer que l' GitHub application est bien installée. S'il n'est pas installé, accédez à la [page de GitHub l'application](https://github.com/marketplace/aws-connector-for-github) pour installer l'application. Pour plus d'informations sur l'accès de l'UAT, consultez [À propos des jetons d'accès utilisateur](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app#about-user-access-tokens).

### Le rôle IAM du AWS service ne dispose pas des autorisations IAM nécessaires.
<a name="connections-github-troubleshooting.iam-permissions"></a>

**Problème :** l'un des messages d'erreur suivants s'affiche :
+ `Access denied to connection <connection-arn>`
+ `Failed to get access token from <connection-arn>`

**Solution recommandée :** vous utilisez généralement une connexion avec un AWS service, tel que CodePipeline ou CodeBuild. Lorsque vous attribuez AWS un rôle IAM au AWS service, celui-ci peut utiliser l'autorisation du rôle pour agir en votre nom. Assurez-vous que le rôle IAM dispose des autorisations nécessaires. Pour plus d'informations sur l'autorisation IAM nécessaire, voir [Accorder l'accès au rôle IAM CodeBuild du projet pour utiliser la connexion et la](#connections-github-role-access) [gestion des identités et des accès pour les AWS CodeStar notifications et CodeConnections](https://docs.aws.amazon.com/dtconsole/latest/userguide/security-iam.html) dans le guide de l'*utilisateur de la console Developer Tools*.