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 persönliche Zwecke zu nutzen, können Sie eine personal access token erstellen.
- Um die API im Auftrag einer Organisation oder eines anderen Benutzers zu verwenden, sollten Sie eine GitHub App.
- Um die API in einem GitHub Actions Workflow zu verwenden, sollten Sie sich bei der integrierten
GITHUB_TOKENAuthentifizierung authentifizieren.
Weitere Informationen finden Sie unter Informationen zur Authentifizierung für GitHub.
Einschränken der Berechtigungen deiner Anmeldeinformationen
Wählen Sie beim Erstellen eines Elements personal access tokennur die erforderlichen Mindestberechtigungen oder Bereiche aus, und legen Sie ein Ablaufdatum für die minimale Zeitspanne fest, die Sie für die Verwendung des Tokens benötigen. GitHub empfiehlt, fine-grained personal access tokens anstelle von personal access tokens (classic) zu verwenden. Weitere Informationen finden Sie 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.
Wählen Sie beim Erstellen eines GitHub App die Mindestberechtigungen aus, die Ihr GitHub App benötigt. Weitere Informationen finden Sie unter Bewährte Methoden zum Erstellen einer GitHub-App.
Geben Sie bei der Authentifizierung mit GITHUB_TOKEN einem GitHub Actions Workflow nur die mindest erforderliche Anzahl von Berechtigungen an. Weitere Informationen finden Sie unter Verwenden von GITHUB_TOKEN für die Authentifizierung in Workflows.
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.
- Übergeben Sie nicht Ihren personal access token als Klartext in der Befehlszeile. Weitere Informationen finden Sie 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ägen Sie stattdessen die Verwendung eines geheimen Schlüssels oder eines Codespaces.Instead consider using a GitHub Actions secret or Codespaces secret. Weitere Informationen finden Sie unter Verwenden von Geheimnissen in GitHub-Aktionen und .
- 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 finden Sie unter Informationen zur Geheimnisüberprüfung.
Einschränken, wer auf deine Authentifizierungsanmeldeinformationen zugreifen kann
Teilen Sie Ihr personal access token nicht mit anderen. Statt eine personal access token zu teilen, ziehen Sie in Betracht, ein GitHub App zu erstellen. Weitere Informationen finden Sie unter Informationen zum Erstellen von GitHub Apps.
Wenn du Anmeldeinformationen mit einem Team teilen musst, speichere die Anmeldeinformationen in einem sicheren gemeinsam genutzten System. Beispielsweise können Sie Kennwörter sicher mithilfe von 1Password speichern oder Schlüssel in Azure KeyVault speichern und den Zugriff mit Ihrem IAM (Identitäts- und Zugriffsverwaltung) verwalten.
Wenn Sie einen GitHub Actions Workflow erstellen, der auf die API zugreifen muss, können Sie Ihre Anmeldeinformationen in einem verschlüsselten Geheimschlüssel speichern und über den Workflow auf den verschlüsselten Geheimschlüssel zugreifen. Weitere Informationen findest du unter Verwenden von Geheimnissen in GitHub-Aktionen und Erstellen authentifizierter 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ägen Sie stattdessen die Verwendung eines geheimen Managers wie Azure Key Vault oder HashiCorp Vault. Weitere Informationen zum Sichern von GitHub App Anmeldeinformationen finden Sie unter Bewährte Methoden zum Erstellen einer GitHub-App.
Wenn Sie feststellen, dass ein anderer Benutzer personal access token an GitHub oder an anderer Stelle verfügbar gemacht wird, können Sie eine Sperranforderung über die REST-API senden. Weitere Informationen findest du unter Widerruf.
Wenn Sie ein personal access token in einem Skript verwenden, sollten Sie Ihr Token als GitHub Actions geheim speichern und Ihr Skript über GitHub Actions ausführen. Sie können Ihr Token auch als codespaces secret speichern und Ihr Skript in Codespaces ausführen. Weitere Informationen finden Sie unter Verwenden von Geheimnissen in GitHub-Aktionen und .
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 zur Aktualisierung kompromittierter Zugangsdaten für ein GitHub App finden Sie unter Bewährte Methoden zum Erstellen einer GitHub-App.
Informationen zum Erstellen und Löschen von personal access tokenS finden Sie unter Verwalten deiner persönlichen Zugriffstoken.