Auswählen einer geeigneten Authentifizierungsmethode
Du solltest eine Authentifizierungsmethode auswählen, die sich für die Aufgabe eignet, die du ausführen möchtest.
- Um die API für den persönlichen Gebrauch zu verwenden, kannst du ein PAT (personal access token) erstellen.
- Um die API im Namen einer Organisation oder eines anderen Benutzers bzw. einer anderen Benutzerin zu verwenden, solltest du eine GitHub App erstellen.
- Um die API in einem GitHub Actions-Workflow zu verwenden, solltest du dich mit dem integrierten
GITHUB_TOKEN
authentifizieren.
Weitere Informationen findest du unter Informationen zur Authentifizierung für GitHub.
Einschränken der Berechtigungen deiner Anmeldeinformationen
Wähle beim Erstellen eines PAT (personal access token) nur die mindestens erforderlichen Berechtigungen oder Bereiche aus und lege ein Ablaufdatum für den Zeitraum fest, für den du das Token mindestens benötigst. GitHub empfiehlt, fine-grained personal access token anstelle von personal access tokens (classic) zu verwenden. Weitere Informationen findest du unter Verwalten deiner persönlichen Zugriffstoken.
Ein Token verfügt über die gleichen Funktionen für den Zugriff auf Ressourcen und zum Ausführen von Aktionen für diese Ressourcen, über die der Besitzer des Tokens verfügt. Er ist zudem durch alle Bereiche oder Berechtigungen beschränkt, die dem Token zugewiesen werden. Ein Token kann einem Benutzer keine zusätzlichen Zugriffsfunktionen gewähren.
Wenn du eine GitHub App erstellst, wähle die Berechtigungen aus, die deine GitHub App mindestens benötigt. Weitere Informationen findest du unter Best Practices beim Erstellen einer GitHub-App.
Gib bei der Authentifizierung mit einem GITHUB_TOKEN
in einem GitHub Actions-Workflow nur den mindestens erforderlichen Umfang an Berechtigungen an. Weitere Informationen findest du unter Automatische Tokenauthentifizierung.
Sicheres Speichern deiner Authentifizierungsanmeldeinformationen
Behandele Authentifizierungsanmeldeinformationen genauso wie deine Kennwörter oder andere vertrauliche Anmeldeinformationen.
- Gib Authentifizierungsanmeldeinformationen nicht über ein unverschlüsseltes Messaging- oder E-Mail-System weiter.
- Übergib dein PAT (personal access token nicht als Nur-Text in der Befehlszeile. Weitere Informationen findest du unter Verwalten deiner persönlichen Zugriffstoken.
- Pushe unverschlüsselte Authentifizierungsanmeldeinformationen wie Token oder Schlüssel nicht an ein Repository, auch wenn das Repository privat ist. Erwäge stattdessen die Verwendung eines GitHub Actions-Geheimnisses. Weitere Informationen findest du unter Verwenden von Geheimnissen in GitHub-Aktionen.
- Du kannst die Geheimnisüberprüfung verwenden, um Token, private Schlüssel und andere Geheimnisse zu ermitteln, die in ein Repository gepusht wurden, oder um zukünftige Pushvorgänge zu blockieren, die Geheimnisse enthalten. Weitere Informationen findest du unter Informationen zur Geheimnisüberprüfung.
Einschränken, wer auf deine Authentifizierungsanmeldeinformationen zugreifen kann
Gib dein personal access token nicht an andere Personen weiter. Anstatt ein personal access token weiterzugeben, solltest du besser eine GitHub App erstellen. Weitere Informationen findest du unter Informationen zum Erstellen von GitHub-Apps.
Wenn du Anmeldeinformationen mit einem Team teilen musst, speichere die Anmeldeinformationen in einem sicheren gemeinsam genutzten System. Du kannst Kennwörter beispielsweise mithilfe von 1Password sicher speichern und teilen. Du kannst auch Schlüssel in Azure Key Vault speichern und den Zugriff mit deinem IAM-System (Identity and Access Management, Identitäts- und Zugriffsverwaltung) verwalten.
Wenn du einen GitHub Actions-Workflow erstellst, der auf die API zugreifen muss, kannst du deine Anmeldeinformationen in einem verschlüsselten Geheimnis speichern und über den Workflow auf dieses Geheimnis zugreifen. Weitere Informationen findest du unter Verwenden von Geheimnissen in GitHub-Aktionen und Authentifizierte API-Anforderungen mit einer GitHub-App in einem GitHub Actions-Workflow.
Sicheres Verwenden von Authentifizierungsanmeldeinformationen in deinem Code
Du solltest Authentifizierungsanmeldeinformationen wie Token, Schlüssel oder App-bezogene Geheimnisse niemals in deinem Code hartcodieren. Erwäge stattdessen die Verwendung eines Geheimnis-Managers wie Azure Key Vault oder HashiCorp Vault. Weitere Informationen zum Schützen von Anmeldeinformationen für eine GitHub App findest du unter Best Practices beim Erstellen einer GitHub-App.
Wenn du ein personal access token in einem Skript verwendest, solltest du dein Token als GitHub Actions-Geheimnis speichern und dein Skript über GitHub Actions ausführen. Weitere Informationen findest du unter Verwenden von Geheimnissen in GitHub-Aktionen.
Wenn keine dieser Optionen möglich ist, kannst du Authentifizierungsanmeldeinformationen in einer .env
-Datei speichern. Stelle sicher, dass du deine .env
-Datei verschlüsselst, und pushe sie niemals in ein Repository.
Vorbereiten eines Wartungsplans
Du solltest einen Plan erstellen, um Sicherheitsverletzungen schnell beheben zu können. Falls dein Token oder andere Authentifizierungsanmeldeinformationen verloren gehen, musst du folgendermaßen vorgehen:
- Generiere neue Anmeldeinformationen.
- Ersetze die alten Anmeldeinformationen an allen Stellen durch die neuen Anmeldeinformationen, an denen du die Anmeldeinformationen speicherst oder darauf zugreifst.
- Lösche die alten kompromittierten Anmeldeinformationen.
Informationen zum Rotieren kompromittierter Anmeldeinformationen für eine GitHub App findest du unter Best Practices beim Erstellen einer GitHub-App.
Informationen zum Erstellen und Löschen von PATs (personal access token) findest du unter Verwalten deiner persönlichen Zugriffstoken.