Direkt zum Inhalt

Wie behebe ich Authentifizierungsfehler bei der Integration von CodeBuild mit GitHub Actions?

Lesedauer: 3 Minute
0

Ich habe mein AWS CodeBuild-Projekt mit GitHub Actions als Quellanbieter konfiguriert. Es schlägt jedoch fehl, wenn der Build die Download_Source-Phase startet.

Kurzbeschreibung

Du musst den CodeBuild-Projektnamen angeben, um Aufträge mit den richtigen Projekteinstellungen aufrufen zu können. Die folgenden Fehler treten auf, wenn du keine Authentifizierung hast und das CodeBuild-Projekt in der Download_Source-Phase fehlschlägt:

„CLIENT_ERROR: authentication required for primary source“

„CLIENT_ERROR: authorization failed for primary source and source version:“

Um diese Fehler zu beheben, ermittle die verwendete Authentifizierungsmethode und konfiguriere dann die erforderlichen Einstellungen und Berechtigungen.

Lösung

Gehe wie folgt vor, um zu ermitteln, mit welcher Methode du CodeBuild mit GitHub verbindest:

  1. Öffne die CodeBuild-Konsole.
  2. Erweitere im Navigationsbereich Build und dann Build-Projekte.
  3. Wähle das Build-Projekt aus und wähle dann Bearbeiten aus.
  4. Überprüfe im Abschnitt Quelle die Anmeldeinformations-Meldung, um die verwendete Authentifizierungsmethode zu ermitteln.

Für persönliche Zugriffstoken

Gehe wie folgt vor, um zu überprüfen, ob dein persönliches Zugriffstoken existiert und gültig ist:

  • Überprüfe deine GitHub Developer-Einstellungen. Weitere Informationen findest du unter Verwalten deiner persönlichen Zugriffstoken auf der GitHub Docs-Website.
  • Stelle sicher, dass du dein persönliches Zugriffstoken mit den Voraussetzungen für das Zugriffstoken korrekt konfiguriert hast.
  • Wenn deine persönlichen Zugriffstoken abgelaufen sind, generiere die Authentifizierungstoken erneut und aktualisiere die Token in AWS Secrets Manager.

Für Secrets Manager-Geheimnisse

Gehe wie folgt vor, um zu überprüfen, ob das Secrets Manager-Geheimnis existiert und nicht abgelaufen ist:

  • Wenn du über ein Secrets Manager-Geheimnis verbunden bist, überprüfe, ob das Geheimnis existiert und der Wert aktuell ist.
  • Vergewissere dich, dass die CodeBuild-Projektservicerolle den secretsmanager:GetSecretValue enthält, um die Geheimnisse abzurufen.

Rufe die Servicerolle des CodeBuild-Projekts ab, um zu überprüfen, ob du über die secretsmanager:GetSecretValue-Berechtigungen verfügst. Führe die folgenden Schritte aus:

  1. Öffne die CodeBuild-Konsole.
  2. Wähle das Projekt aus und wähle dann die Registerkarte Projektdetails.
  3. Wähle in der Umgebungs-Konfiguration die Servicerollen-Einstellung aus.
  4. Wähle die Servicerolle aus.
  5. Vergewissere dich, dass die Rolle über die folgenden Berechtigungen verfügt:
    "Action": [
      "secretsmanager:GetSecretValue"
    ],
    "Resource": [
       "arn:aws:secretsmanager:region:account-id:secret:secretName"
                ]
    Hinweis: Ersetze region durch deine AWS-Region, account-ID durch deine AWS-Konto-ID und secretName durch den Namen deines Geheimnisses.

Für OAuth-Anwendungen

Das OAuth-Token ist an den GitHub-Benutzer gebunden. Wenn der GitHub-Eigentümer aus der Organisation entfernt wird, ist das Token nicht mehr gültig. Um die autorisierten OAuth-Anwendungen zu überprüfen, vergewissere dich, dass die Anwendungs-Liste auf GitHub die AWS CodeBuild (region)-Anwendung enthält, die aws-codesuite gehört.

Für CodeConnections

Gehe wie folgt vor, um zu überprüfen, ob CodeConnections existieren und gültig sind:

Ähnliche Informationen

GitHub OAuth-App

Zugriff auf GitHub und GitHub Enterprise Server in CodeBuild

Ändern der Build-Projekteinstellungen in AWS CodeBuild

AWS OFFICIALAktualisiert vor einem Monat