GitHub et jeton d'accès au serveur GitHub Enterprise - AWS CodeBuild

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

Prérequis de jeton d'accès

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 un accès en lecture/écriture aux statuts de validation des référentiels publics et privés.

  • admin:repo_hook : 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_hook : 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 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 etTutoriel : Configuration d'un CodeBuild exécuteur d' GitHubactions hébergé.

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 sur le GitHub site Web.

Connect GitHub avec un jeton d'accès (console)

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, veuillez consulter Création d'un projet de génération (console).

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

  2. 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.

      2. Pour le type d'identifiant, choisissez jeton d'accès personnel.

      3. Si vous avez choisi Identifiant source par défaut, dans Service, choisissez le service que vous souhaitez utiliser pour stocker votre jeton et procédez comme suit :

        • Si vous choisissez d'utiliser Secrets Manager, vous pouvez choisir d'utiliser une connexion secrète existante ou de créer un nouveau secret et choisir Enregistrer. Pour plus d'informations sur la création d'un nouveau secret, consultezCréez et stockez un jeton dans un secret du Gestionnaire de Secrets.

        • Si vous choisissez de l'utiliser CodeBuild, entrez votre jeton d'accès GitHub personnel et choisissez Enregistrer.

    • 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 jeton d'accès personnel.

      2. Dans Connexion, choisissez d'utiliser une connexion secrète existante ou d'en créer une nouvelle.

Connect GitHub avec un jeton d'accès (CLI)

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 leRéférence des commandes en ligne.

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

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

    JSON- les données formatées 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 GITHUBBITBUCKET, GITHUB _ ENTERPRISEGITLAB, et GITLAB _ SELF _MANAGED.

    • auth-type: valeur requise. Type d'authentification utilisé pour se connecter à un référentiel. Les valeurs valides sont BASIC PERSONAL _ OAUTH AUTH TOKENCODECONNECTIONS, ACCESS _ _ et SECRETS _MANAGER. Car GitHub seul PERSONAL _ ACCESS _ TOKEN est autorisé. BASIC_ n'AUTHest 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'authentificationCODECONNECTIONS, il s'agit de la connexion. ARN Pour le type d'authentification SECRETS _MANAGER, c'est le secret. ARN

    • username: valeur facultative. Ce paramètre est ignoré pour GitHub les fournisseurs de sources GitHub Enterprise Server.

  2. 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

    JSON-les données formatées 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).

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

    aws codebuild list-source-credentials

    Un sourceCredentialsInfos objet JSON formaté 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 OAUTHBASIC_AUTH,PERSONAL_ACCESS_TOKEN,CODECONNECTIONS, ouSECRETS_MANAGER.

    • Le serverType est le type de fournisseur de source. Cela peut être GITHUBGITHUB_ENTERPRISE,BITBUCKET,GITLAB, ouGITLAB_SELF_MANAGED.

    • arnC'est ARN le jeton.

  4. Pour vous déconnecter d'un fournisseur source et supprimer ses jetons d'accès, exécutez la delete-source-credentials commande avec sonARN.

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

    JSON-les données formatées sont renvoyées avec l'une ARN des informations d'identification supprimées.

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