Informationen zu Geheimnissen
Mithilfe von Geheimnissen können Sie vertrauliche Informationen in Ihrer Organisation, im Repository oder in Repositoryumgebungen speichern. Geheimnisse sind Variablen, die du erstellen kannst, um sie in einer Organisation, einem Repository oder einer Repositoryumgebung in GitHub Actions-Workflows zu verwenden.
GitHub Actions kann ein Geheimnis nur lesen, wenn du das Geheimnis explizit in einen Workflow aufnimmst.
Geheimnisse auf Organisationsebene
Geheimnisse auf Organisationsebene ermöglichen es Dir, Geheimnisse zwischen mehreren Repositories zu teilen, was die Notwendigkeit zur Erstellung von doppelten Geheimnissen verringert. Die Aktualisierung eines Organisationsgeheimnisses an nur einem Ort stellt außerdem sicher, dass die Änderung in allen Workflows aller Repositorys wirksam wird, die dieses Geheimnis verwenden.
Beim Erstellen eines Geheimnisses für eine Organisation kannst du mit einer Richtlinie den Zugriff jeweils nach Repository einschränken. Du kannst beispielsweise allen Repositorys Zugriff gewähren oder nur private Repositorys oder eine angegebene Liste von Repositorys zulassen.
Du kannst die erforderlichen Prüfer für Umgebungsgeheimnisse aktivieren, um den Zugriff auf die Geheimnisse zu steuern. So kann ein Workflowauftrag erst dann auf Umgebungsgeheimnisse zugreifen, nachdem eine genehmigende Person die entsprechende Genehmigung erteilt hat.
Um ein Geheimnis für eine Aktion verfügbar zu machen, musst du das Geheimnis als Eingabe oder Umgebungsvariable in deiner Workflow-Datei festlegen. In der README-Datei der Aktion erfährst Du, welche Eingaben und Umgebungsvariablen die Aktion erwartet. Weitere Informationen findest du unter Workflowsyntax für GitHub Actions.
Einschränken von Berechtigungen für Anmeldeinformationen
Beim Generieren von Anmeldeinformationen wird empfohlen, möglichst geringe Berechtigungen zu erteilen. Verwende z. B. anstelle von persönlichen Anmeldeinformationen Bereitstellungsschlüssel oder ein Dienstkonto. Ziehe in Erwägung, Nur-Lese-Berechtigungen zu gewähren, wenn dies ausreicht, und schränke den Zugriff so weit wie möglich ein.
Wählen Sie beim Generieren einer personal access token (classic) die wenigen erforderlichen Bereiche aus. Wählen Sie beim Generieren einer fine-grained personal access token die erforderlichen Mindestberechtigungen und den erforderlichen Repository-Zugriff aus.
Anstelle eines personal access token solltest du eine GitHub App verwenden, die differenzierte Berechtigungen und kurzlebige Token verwendet, ähnlich einem fine-grained personal access token. Im Gegensatz zu einem personal access token ist eine GitHub App nicht an einen Benutzer gebunden, sodass der Workflow auch dann weiterhin funktioniert, wenn der Benutzer, der die App installiert hat, deine Organisation verlässt. Weitere Informationen finden Sie unter Authentifizierte API-Anforderungen mit einer GitHub-App in einem GitHub Actions-Workflow.
Automatisch redigierte Geheimnisse
GitHub Actions bearbeitet automatisch den Inhalt aller GitHub-Geheimnisse, die in Workflow-Protokolle gedruckt werden.
GitHub Actions macht auch Informationen unkenntlich, die zwar als sensibel erkannt, aber nicht als Geheimnis gespeichert werden. Eine Liste der automatisch redigierten Geheimnisse findest du unter Referenzen zu Geheimnissen.
Da es mehrere Möglichkeiten gibt, einen Geheimniswert zu transformieren, kann diese Bearbeitung nicht garantiert werden. Außerdem kann der Runner nur Geheimnisse, die im Rahmen des aktuellen Auftrags verwendet werden, löschen. Aus diesem Grund solltest du mithilfe bestimmter proaktiver Schritte für die Sicherheit sicherstellen, dass Geheimnisse redigiert werden und weitere Risiken im Zusammenhang mit Geheimnissen gemindert werden: Eine Referenzliste der bewährten Sicherheitsmethoden für Geheimnisse findest du unter Referenzen zu Geheimnissen.