GitHub und GitHub Enterprise Server-Zugriff in CodeBuild - AWS CodeBuild

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

GitHub und GitHub Enterprise Server-Zugriff in CodeBuild

Denn GitHub Sie können ein persönliches Zugriffstoken, eine OAuth App, ein Secrets Manager Manager-Geheimnis oder eine GitHub App-Verbindung verwenden, um auf den Quellanbieter zuzugreifen. Für GitHub Enterprise Server können Sie ein persönliches Zugriffstoken, ein Secrets Manager Manager-Geheimnis oder eine GitHub App-Verbindung verwenden, um auf den Quellanbieter zuzugreifen.

GitHub App-Verbindungen für GitHub und GitHub Enterprise Server

Sie können die GitHub App verwenden, um eine Verbindung herzustellen CodeBuild. GitHub App-Verbindungen werden unterstützt durch AWS CodeConnections.

Der Quellanbieterzugriff ermöglicht es Ihnen, einen Build auszulösen CreateWebhook, indem Sie die GitHub Webhook-Ereignisse Nutzung von oder die Verwendung Verwenden Sie selbst gehostete GitHub Actions-Runner in AWS CodeBuild in CodeBuild abonnieren.

Anmerkung

CodeConnections ist in weniger Regionen verfügbar als CodeBuild. Sie können regionsübergreifende Verbindungen in CodeBuild verwenden. Verbindungen, die in Opt-in-Regionen erstellt wurden, können in anderen Regionen nicht verwendet werden. Weitere Informationen finden Sie unter AWS CodeConnections Endpunkte und -Kontingente.

Schritt 1: Stellen Sie eine Verbindung zur GitHub App (Konsole) her

Gehen Sie wie folgt vor, um CodeBuild über die Konsole eine Verbindung für Ihr Projekt in hinzuzufügen GitHub.

Um eine Verbindung herzustellen zu GitHub

Schritt 2: Gewähren Sie der CodeBuild IAM Projektrolle Zugriff, um die Verbindung zu verwenden

Sie können Zugriff auf CodeBuild IAM Projektrollen gewähren, um die über Ihre Verbindung angebotenen GitHub Token zu verwenden.

Um Zugriff auf CodeBuild IAM Projektrollen zu gewähren
  1. Erstellen Sie eine IAM Rolle für Ihr CodeBuild Projekt, indem Sie den Anweisungen Erlaube CodeBuild die Interaktion mit anderen AWS Diensten für Ihr CodeBuild Projekt folgen.

  2. Folgen Sie den Anweisungen und fügen Sie Ihrer CodeBuild Projektrolle die folgende IAM Richtlinie hinzu, um Zugriff auf die Verbindung zu gewähren.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codeconnections:GetConnectionToken", "codeconnections:GetConnection" ], "Resource": [ <connection-arn> ] } ] }

Schritt 3: Konfigurieren Sie CodeBuild , um die neue Verbindung zu verwenden

Sie können eine Verbindung als Anmeldeinformationen auf Kontoebene konfigurieren und sie in einem Projekt verwenden.

AWS Management Console
Um eine Verbindung als Anmeldedaten auf Kontoebene zu konfigurieren, finden Sie im AWS Management Console
  1. Wählen Sie GitHubals Quellanbieter.

  2. Führen Sie für Credential einen der folgenden Schritte aus:

    • Wählen Sie Standard-Quellanmeldedaten, um die Standard-Quellanmeldedaten Ihres Kontos für alle Projekte zu verwenden.

      1. Wenn Sie nicht verbunden sind GitHub, wählen Sie Standard-Quellanmeldedaten verwalten aus.

      2. Wählen Sie als Anmeldeinformationstyp die Option App ausGitHub .

      3. Wählen Sie unter Verbindung aus, ob Sie eine bestehende Verbindung verwenden oder eine neue Verbindung erstellen möchten.

    • Wählen Sie Benutzerdefinierte Quellanmeldedaten, um benutzerdefinierte Quellanmeldedaten zu verwenden, um die Standardeinstellungen Ihres Kontos zu überschreiben.

      1. Wählen Sie als Anmeldeinformationstyp die Option App aus. GitHub

      2. Wählen Sie unter Verbindung aus, ob Sie eine bestehende Verbindung verwenden oder eine neue Verbindung erstellen möchten.

AWS CLI
Um eine Verbindung als Anmeldeinformationen auf Kontoebene zu konfigurieren, finden Sie im AWS CLI
  • Öffnen Sie die Eingabeaufforderung (Windows) oder das Terminal (Linux, macOS oder Unix). Verwenden Sie den AWS CLI , um den import-source-credentials Befehl auszuführen, und geben Sie dabei --auth-type--server-type, und --token für Ihre Verbindung an.

    Verwenden Sie den folgenden Befehl:

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

Sie können auch mehrere Token für Ihre CodeBuild Projekte einrichten. Weitere Informationen finden Sie unter Konfigurieren Sie mehrere Token als Anmeldeinformationen auf Quellenebene.

GitHub und GitHub Enterprise Server-Zugriffstoken

Voraussetzungen für Zugriffstoken

Bevor Sie beginnen, müssen Sie Ihrem GitHub Zugriffstoken die richtigen Berechtigungsbereiche hinzufügen.

Denn GitHub Ihr persönliches Zugriffstoken muss die folgenden Bereiche haben.

  • repo gewährt volle Kontrolle über private Repositorys.

  • repo:status: Gewährt Lese-/Schreibzugriff auf den Commit-Status eines öffentlichen und privaten Repositorys.

  • admin:repo_hook gewährt volle Kontrolle über Repository-Hooks. Dieser Bereich ist nicht erforderlich, wenn Ihr Token den Bereich repo aufweist.

  • admin:org_hook: Gewährt vollständige Kontrolle über Organisations-Hooks. Dieser Bereich ist nur erforderlich, wenn Sie die Webhook-Funktion für Organisationen verwenden.

Weitere Informationen finden Sie unter Grundlegendes zu Anwendungsbereichen OAuth auf der GitHub Website.

Wenn Sie differenzierte persönliche Zugriffstoken verwenden, benötigt Ihr persönliches Zugriffstoken je nach Anwendungsfall möglicherweise die folgenden Berechtigungen:

  • Inhalt: Schreibgeschützt: Gewährt Zugriff auf private Repositorys. Diese Berechtigung ist erforderlich, wenn Sie private Repositorys als Quelle verwenden.

  • Commit-Status: Lesen und Schreiben: Erteilt die Berechtigung zum Erstellen von Commit-Status. Diese Berechtigung ist erforderlich, wenn für Ihr Projekt ein Webhook eingerichtet ist oder wenn Sie die Funktion zum Erstellen des Berichtsstatus aktiviert haben.

  • Webhooks: Lesen und Schreiben: Erteilt die Berechtigung zur Verwaltung von Webhooks. Diese Berechtigung ist erforderlich, wenn für Ihr Projekt ein Webhook eingerichtet ist.

  • Pull-Requests: Schreibgeschützt: Erteilt die Erlaubnis, auf Pull-Requests zuzugreifen. Diese Berechtigung ist erforderlich, wenn dein Webhook über einen FILE_PATH Filter für Pull-Request-Ereignisse verfügt.

  • Administration: Lesen und Schreiben: Diese Berechtigung ist erforderlich, wenn Sie die selbst gehostete GitHub Actions Runner-Funktion mit verwenden. CodeBuild Weitere Informationen finden Sie unter Registrierungstoken für ein Repository erstellen undVerwenden Sie selbst gehostete GitHub Actions-Runner in AWS CodeBuild.

Anmerkung

Wenn Sie auf Organisations-Repositorys zugreifen möchten, stellen Sie sicher, dass Sie die Organisation als Ressourcenbesitzer des Zugriffstokens angeben.

Weitere Informationen finden Sie auf der Website unter Erforderliche Berechtigungen für detaillierte persönliche Zugriffstoken. GitHub

GitHub Mit einem Zugriffstoken (Konsole) Connect

Um Ihr Projekt GitHub mithilfe eines Zugriffstokens über die Konsole mit einem Zugriffstoken zu verbinden, gehen Sie beim Erstellen eines Projekts wie folgt vor. Weitere Informationen finden Sie unter Erstellen Sie ein Build-Projekt (Konsole).

  1. Wählen Sie als Quellanbieter die Option GitHub.

  2. Führen Sie für Credential einen der folgenden Schritte aus:

    • Wählen Sie Standard-Quellanmeldedaten, um die Standard-Quellanmeldedaten Ihres Kontos für alle Projekte zu verwenden.

      1. Wenn Sie nicht verbunden sind GitHub, wählen Sie Standard-Quellanmeldedaten verwalten aus.

      2. Wählen Sie als Anmeldeinformationstyp die Option Persönliches Zugriffstoken aus.

      3. Wenn Sie Standard-Quellanmeldedaten ausgewählt haben, wählen Sie für Service aus, welchen Dienst Sie zum Speichern Ihres Tokens verwenden möchten, und gehen Sie wie folgt vor:

        • Wenn Sie Secrets Manager verwenden möchten, können Sie eine bestehende geheime Verbindung verwenden oder ein neues Geheimnis erstellen und Speichern wählen. Weitere Informationen zum Erstellen eines neuen Secrets finden Sie unterErstellen und speichern Sie ein Token in einem Secrets Manager Secret.

        • Wenn Sie sich für die Verwendung entscheiden CodeBuild, geben Sie Ihr GitHub persönliches Zugriffstoken ein und wählen Sie Speichern.

    • Wählen Sie Benutzerdefinierte Quellanmeldedaten, um benutzerdefinierte Quellanmeldedaten zu verwenden, um die Standardeinstellungen Ihres Kontos zu überschreiben.

      1. Wählen Sie als Anmeldeinformationstyp die Option Persönliches Zugriffstoken aus.

      2. Wählen Sie unter Verbindung aus, ob Sie eine bestehende geheime Verbindung verwenden oder eine neue geheime Verbindung erstellen möchten.

GitHub Mit einem Zugriffstoken Connect (CLI)

Gehen Sie wie folgt vor, um Ihr Projekt GitHub mithilfe eines Zugriffstokens mit dem zu verbinden. AWS CLI Informationen zur Verwendung von AWS CLI with AWS CodeBuild finden Sie unterBefehlszeilenreferenz.

  1. Führen Sie den Befehl import-source-credentials aus:

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

    JSON-formatierte Daten werden in der Ausgabe angezeigt. Kopieren Sie die Daten in eine Datei (z. B.import-source-credentials.json) an einem Speicherort auf dem lokalen Computer oder in der Instanz, in der das installiert AWS CLI ist. Ändern Sie die kopierten Daten wie im Folgenden dargestellt und speichern Sie die Ergebnisse.

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

    Ersetzen Sie Folgendes:

    • server-type: Erforderlicher Wert. Der Quellanbieter für diese Anmeldeinformationen. Gültige Werte sind GITHUBBITBUCKET,, GITHUB _ ENTERPRISEGITLAB, und GITLAB _ SELF _MANAGED.

    • auth-type: Erforderlicher Wert. Der Authentifizierungstyp, der für die Verbindung mit einem Repository verwendet wird. Gültige Werte sind BASIC _ OAUTHAUTH, PERSONAL ACCESS _ _ TOKENCODECONNECTIONS, und SECRETS _MANAGER. Denn GitHub nur PERSONAL _ ACCESS _ TOKEN ist erlaubt. BASIC_ AUTH ist nur mit dem Passwort für die Bitbucket-App erlaubt.

    • should-overwrite: Optionaler Wert. Setzen Sie diesen auf false, um zu verhindern, dass die Repository-Quellanmeldeinformationen überschrieben werden. Legen Sie den Wert auf true fest, um die Repository-Quellanmeldeinformationen zu überschreiben. Der Standardwert ist true.

    • token: Erforderlicher Wert. Für GitHub unseren GitHub Enterprise Server ist dies das persönliche Zugriffstoken. Für Bitbucket ist dies das persönliche Zugriffstoken oder das App-Passwort. Für den Authentifizierungstyp ist CODECONNECTIONS dies die Verbindung. ARN Für den Authentifizierungstyp SECRETS _ ist dies MANAGER das Geheimnis. ARN

    • username: Optionaler Wert. Dieser Parameter wird für GitHub GitHub Enterprise Server-Quellanbieter ignoriert.

  2. Um Ihr Konto mit einem Zugriffstoken zu verbinden, wechseln Sie in das Verzeichnis mit der Datei import-source-credentials.json, die Sie in Schritt 1 gespeichert haben, und führen den Befehl import-source-credentials erneut aus.

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

    JSON-formatierte Daten erscheinen in der Ausgabe mit einem Amazon-Ressourcennamen ()ARN.

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

    Wenn Sie den Befehl import-source-credentials mit demselben Server- und Auth-Typ ein zweites Mal ausführen, wird das gespeicherte Zugriffstoken aktualisiert.

    Nachdem Ihr Konto mit einem Zugriffstoken verknüpft wurde, können Sie es verwenden, um Ihr create-project CodeBuild Projekt zu erstellen. Weitere Informationen finden Sie unter Erstellen eines Build-Projekts (AWS CLI).

  3. Rufen Sie zum Anzeigen der verbundenen Zugriffstoken den Befehl list-source-credentials auf.

    aws codebuild list-source-credentials

    In der Ausgabe wird ein JSON sourceCredentialsInfos Objekt im Format -Format angezeigt:

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

    sourceCredentialsObject enthält eine Liste der verbundenen Quell-Anmeldeinformationen:

    • authType ist der Typ der Authentifizierung für die Anmeldeinformationen. Dies kannOAUTH,, BASIC_AUTH PERSONAL_ACCESS_TOKENCODECONNECTIONS, oder sein. SECRETS_MANAGER

    • serverType ist der Typ des Quellanbieters. Das kannGITHUB,GITHUB_ENTERPRISE, BITBUCKETGITLAB, oder seinGITLAB_SELF_MANAGED.

    • Das arn ist das ARN des Tokens.

  4. Um die Verbindung zu einem Quellanbieter zu trennen und dessen Zugriffstoken zu entfernen, führen Sie den delete-source-credentials Befehl mit seinem ausARN.

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

    JSON-formatierte Daten werden mit einem ARN der gelöschten Anmeldeinformationen zurückgegeben.

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

GitHub OAuthApp

Connect GitHub mit OAuth (Konsole)

Um Ihr Projekt GitHub mithilfe der Konsole mit einer OAuth App zu verbinden, gehen Sie beim Erstellen eines Projekts wie folgt vor. Weitere Informationen finden Sie unter Erstellen Sie ein Build-Projekt (Konsole).

  1. Wählen Sie als Quellanbieter die Option GitHub.

  2. Führen Sie für Credential einen der folgenden Schritte aus:

    • Wählen Sie Standard-Quellanmeldedaten, um die Standard-Quellanmeldedaten Ihres Kontos für alle Projekte zu verwenden.

      1. Wenn Sie nicht verbunden sind GitHub, wählen Sie Standard-Quellanmeldedaten verwalten aus.

      2. Wählen Sie als Anmeldeinformationstyp die Option. OAuth

      3. Wenn Sie Standard-Quellanmeldedaten ausgewählt haben, wählen Sie für Service aus, welchen Dienst Sie zum Speichern Ihres Tokens verwenden möchten, und gehen Sie wie folgt vor:

        • Wenn Sie Secrets Manager verwenden möchten, können Sie eine bestehende geheime Verbindung verwenden oder ein neues Geheimnis erstellen und Speichern wählen. Weitere Informationen zum Erstellen eines neuen Secrets finden Sie unterErstellen und speichern Sie ein Token in einem Secrets Manager Secret.

        • Wenn Sie sich für die Verwendung entscheiden CodeBuild, fahren Sie fort, indem Connect wählen GitHub.

    • Wählen Sie Benutzerdefinierte Quellanmeldedaten, um benutzerdefinierte Quellanmeldedaten zu verwenden, um die Standardeinstellungen Ihres Kontos zu überschreiben.

      1. Wählen Sie als Anmeldeinformationstyp die Option. OAuth

      2. Wählen Sie unter Verbindung aus, ob Sie eine bestehende geheime Verbindung verwenden oder eine neue geheime Verbindung erstellen möchten.

Um Ihre autorisierten OAuth Apps zu überprüfen, navigieren Sie zu Applications on und vergewissern Sie sich GitHub, dass eine Anwendung mit dem Namen AWS CodeBuild (region) aws-codesuite aufgeführt ist.