Über Geheimnisse
Mithilfe von Geheimnissen können Sie vertrauliche Informationen in Ihrer Organisation, im Repository oder in Repositoryumgebungen speichern. Secrets sind Variablen, die Sie erstellen, um sie in GitHub Actions-Workflows in einer Organisation, einem Repository oder einer Repository-Umgebung zu verwenden.
GitHub Actions kann nur einen geheimen Schlüssel lesen, wenn Sie den geheimen Schlüssel explizit in einen Workflow einschließen.
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 Zugriff auf alle Repositories erlauben oder den Zugriff auf nur private Repositories oder eine angegebene Liste von Repositories einschränken.
Du kannst die erforderlichen Prüfer für Umgebungsgeheimnisse aktivieren, um den Zugriff auf die Geheimnisse zu steuern. Ein Workflow-Job kann erst dann auf Umgebungsgeheimnisse zugreifen, nachdem die erforderlichen genehmigenden Personen die Genehmigung erteilt haben.
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 Zugangsdaten
Beim Generieren von Anmeldeinformationen empfehlen wir, möglichst geringe Berechtigungen zu vergeben. 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 eines personal access token (classic) so wenige Bereiche wie nötig aus. Wählen Sie beim Generieren eines fine-grained personal access token die mindestens erforderlichen Berechtigungen und den erforderlichen Repositoryzugriff aus.
Anstatt ein personal access token zu verwenden, ziehen Sie die Verwendung von GitHub App in Betracht, da dabei feinkörnige Berechtigungen und kurzlebige Token verwendet werden, ähnlich wie bei einem fine-grained personal access token. Im Gegensatz zu einem personal access token, eine GitHub App ist nicht an einen Benutzer gebunden, sodass der Workflow weiterhin funktioniert, auch wenn der Benutzer, der die App installiert hat, Ihre Organisation verlässt. Weitere Informationen finden Sie unter Erstellen authentifizierter API-Anforderungen mit einer GitHub App in einem GitHub Actions-Workflow.
Automatisch redigierte Geheimnisse
GitHub Actions redagiert automatisch den Inhalt aller GitHub geheimen Schlüssel, die in Workflowprotokolle gedruckt werden.
GitHub Actions schwärzt auch Informationen, die als sensibel erkannt werden, aber nicht als Geheimnis gespeichert sind. Eine Liste der automatisch redigierten Geheimnisse findest du unter Referenzen zu Geheimnissen.
Da es mehrere Möglichkeiten gibt, einen geheimen Wert umzuwandeln, kann diese Reduzierung 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 von bewährten Sicherheitsmethoden für geheime Informationen findest du unter Referenzen zu Geheimnissen.