Note
Auf GitHub gehostete Runner werden aktuell nicht auf GitHub Enterprise Server unterstützt. Weitere Informationen zur geplanten zukünftigen Unterstützung findest Du in der GitHub public roadmap.
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.
Benennen deiner Geheimnisse
Tip
Damit GitHub deine Geheimnisse in Protokollen korrekt redigiert, verwende keine strukturierten Daten als Werte von Geheimnissen.
Für Geheimnisnamen gelten folgende Regeln:
- Darf nur alphanumerische Zeichen (
[a-z]
,[A-Z]
,[0-9]
) oder Unterstriche (_
) enthalten Leerzeichen sind nicht zulässig. - darf nicht mit dem
GITHUB_
-Präfix beginnen. - darf nicht mit einer Zahl beginnen.
- Die Groß-/Kleinschreibung wird nicht beachtet.
- Müssen für das Repository, die Organisation oder das Unternehmen eindeutig sein, in dem bzw. der sie erstellt werden
Wenn ein Geheimnis mit demselben Namen auf mehreren Ebenen vorhanden ist, erhält das Geheimnis auf der niedrigsten Ebene Vorrang. Wenn beispielsweise ein Geheimnis auf Organisationsebene denselben Namen wie ein Geheimnis auf Repositoryebene aufweist, erhält das Geheimnis auf Repositoryebene Vorrang. Analog dazu hat bei einem Geheimnis mit demselben Namen in einer Organisation, einem Repository und einer Umgebung das Geheimnis auf Umgebungsebene Vorrang.
Verwenden von Geheimnissen in Workflows
Warning
Wenn bei dem Workflowauftrag ein Geheimnis verwendet wurde, werden die in das Protokoll ausgegebenen Geheimnisse durch GitHub automatisch unkenntlich gemacht. Sie sollten die Geheimnisse nicht absichtlich in das Protokoll ausgeben.
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.
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.
Geheimnisse auf der Organisations- und Repositoryebene werden gelesen, wenn eine Workflowausführung in die Warteschlange eingereiht wird, während Geheimnisse auf der Umgebungsebene beim Starten eines Auftrags gelesen werden, der auf die Umgebung verweist.
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.