Warnung: Behandle deine Zugriffstoken wie Kennwörter. Weitere Informationen findest du unter Schützen deiner personal access token.
Informationen zu personal access token
Personal access token stellen eine Alternative für die Verwendung von Kennwörtern für die Authentifizierung bei GitHub Enterprise Server über die GitHub-API oder die Befehlszeile dar.
Personal access token sind für den Zugriff auf GitHub-Ressourcen in deinem Namen vorgesehen. Für den Zugriff auf Ressourcen im Auftrag einer Organisation oder für langfristige Integrationen sollte eine GitHub App verwendet werden. Weitere Informationen findest du unter Informationen zum Erstellen von GitHub-Apps.
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. Beispielsweise kann ein personal access token mit einem admin:org
-Bereich konfiguriert werden, aber wenn der Besitzer des Tokens kein Organisationsbesitzer ist, erhält das Token keinen Administratorzugriff auf die Organisation.
Arten von personal access token
GitHub unterstützt derzeit zwei Arten von personal access token: fine-grained personal access token und personal access tokens (classic). GitHub empfiehlt, nach Möglichkeit fine-grained personal access token anstelle von personal access tokens (classic) zu verwenden.
Sowohl fine-grained personal access tokens als auch personal access tokens (classic)s sind an den Benutzer gebunden, der sie erstellt hat, und werden inaktiv, wenn der Benutzer den Zugriff auf die Ressource verliert.
Organisationsbesitzerinnen können eine Richtlinie festlegen, um den Zugriff von personal access tokens (classic) auf ihre Organisation zu beschränken, und Unternehmensbesitzerinnen können den Zugriff von personal access tokens (classic) auf das Unternehmen oder Organisationen im Besitz des Unternehmens beschränken.. Weitere Informationen findest du unter Festlegen einer Richtlinie für persönliche Zugriffstoken für deine Organisation.
Fine-grained personal access tokens
Fine-grained personal access token hat gegenüber personal access tokens (classic) einige Sicherheitsvorteile:
- Jedes Token kann nur auf Ressourcen zugreifen, die einem oder einer einzelnen Benutzer*in oder einer Organisation gehören.
- Jedes Token kann nur auf bestimmte Repositorys zugreifen.
- Jedes Token erhält bestimmte Berechtigungen, die mehr Kontrolle bieten als die Berechtigungen, die personal access tokens (classic) erteilt werden.
- Jedes Token muss über ein Ablaufdatum verfügen.
- Organisationsinhaber*innen können die Genehmigung für alle fine-grained personal access token erzwingen, die auf Ressourcen in der Organisation zugreifen können.
- Unternehmensinhaber*innen können die Genehmigung für alle fine-grained personal access token erzwingen, die auf Ressourcen in der Organisation zugreifen können, die dem Unternehmen gehören.
Personal access tokens (classic)
Personal access tokens (classic) sind weniger sicher. Derzeit funktionieren einige Features jedoch nur mit personal access tokens (classic):
- Nur personal access tokens (classic) verfügen über Schreibzugriff für öffentliche Repositorys, die nicht dir gehören oder sich im Besitz einer Organisation befinden, der du nicht angehörst.
- Nur personal access tokens (classic) verfügen automatisch über Schreibzugriff für interne Repositorys, die sich im Besitz deines Unternehmens befinden. Fine-grained personal access token muss Zugriff auf interne Repositorys gewährt werden.
- Externe Projektmitarbeiter*innen können nur personal access tokens (classic) verwenden, um auf Organisationsrepositorys zuzugreifen, an denen sie mitwirken.
- Nur personal access tokens (classic) können auf Unternehmen zugreifen. (Fine-grained personal access token können auf Organisationen im Besitz von Unternehmen zugreifen.)
- Einige REST-API-Endpunkte sind nur mit einem personal access tokens (classic) verfügbar. Um zu überprüfen, ob ein Endpunkt auch fine-grained personal access token unterstützt, sehen Sie in der Dokumentation für diesen Endpunkt nach, oder lesen Sie „AUTOTITEL“.
Wenn du ein personal access token (classic) verwendest, solltest du bedenken, dass es den Zugriff auf alle Repositorys innerhalb der Organisation, auf die du Zugriff hast, sowie auf alle persönlichen Repositorys in deinem persönlichen Konto gewährt.
Schützen deiner personal access token
Personal access token sind wie Kennwörter und weisen dieselben inhärenten Sicherheitsrisiken auf. Bevor du ein neues personal access token erstellst, solltest du überlegen, ob es eine sicherere Methode für die Authentifizierung gibt:
- Um über die Befehlszeile auf GitHub zuzugreifen, kannst du die GitHub CLI oder Git Credential Manager verwenden, anstatt ein personal access token zu erstellen.
- Wenn du ein personal access token in einem GitHub Actions-Workflow verwendest, solltest du prüfen, ob du stattdessen das integrierte
GITHUB_TOKEN
verwenden kannst. Weitere Informationen findest du unter Automatische Tokenauthentifizierung.
Wenn diese Optionen nicht verfügbar sind und du ein personal access token erstellen musst, solltest du einen anderen CLI-Dienst nutzen, um dein Token sicher zu speichern.
Wenn du ein personal access token in einem Skript verwendest, kannst du dein Token als Geheimnis speichern und dein Skript über GitHub Actions ausführen. Weitere Informationen findest du unter Verwenden von Geheimnissen in GitHub-Aktionen.
Weitere Informationen zu den Best Practices findest du unter Schützen deiner API-Anmeldeinformationen.
Erstellen eines fine-grained personal access token
Hinweis: Fine-grained personal access token befinden sich derzeit in beta und können geändert werden. Informationen zum Hinterlassen von Feedback findest du in der Feedbackdiskussion.
-
Klicken Sie auf einer beliebigen Seite auf GitHub oben rechts auf Ihr Profilfoto und dann auf Einstellungen.
-
Klicke auf der linken Seitenleiste auf Entwicklereinstellungen.
-
Klicke auf der linken Randleiste unter Personal access tokens auf Differenzierte Token.
-
Klicke auf Neues Token generieren.
-
Gib unter Tokenname einen Namen für das Token ein.
-
Wählen unter Ablauf ein Ablaufdatum für das Token aus.
-
Füge optional unter Beschreibung eine Notiz hinzu, um den Zweck des Token zu beschreiben.
-
Wähle unter Ressourcenbesitzer einen Ressourcenbesitzerin aus. Das Token kann nur auf Ressourcen zugreifen, die dem oder der ausgewählten Ressourcenbesitzer*in gehören. Organisationen, bei denen du Mitglied bist, werden nicht angezeigt, es sei denn, die Organisation hat fine-grained personal access token aktiviert. Weitere Informationen findest du unter Festlegen einer Richtlinie für persönliche Zugriffstoken für deine Organisation.
-
Wenn der Ressourcenbesitzer eine Organisation ist, die eine Genehmigung für fine-grained personal access token vorschreibt, gib optional im Feld unter „Ressourcenbesitzer“ eine Begründung für die Anforderung ein.
-
Wähle unter Repositoryzugriff die gewünschten Repositorys aus, auf die das Token zugreifen soll. Du solltest nur den mindestens erforderlichen Repositoryzugriff für deine Zwecke auswählen. Token enthalten immer schreibgeschützten Zugriff auf alle öffentlichen Repositorys auf GitHub.
-
Wenn du Nur ausgewählte Repositorys im vorherigen Schritt ausgewählt hast, wähle im Dropdownmenü Ausgewählte Repositorys die Repositorys aus, auf die du zugreifen möchtest.
-
Wähle unter Berechtigungen aus, welche Berechtigungen dem Token erteilt werden sollen. Je nachdem, welchen Ressourcenbesitzerin und welchen Repositoryzugriff du angegeben hast, gibt es Repository-, Organisations- und Kontoberechtigungen. Du solltest nur die mindestens erforderlichen Berechtigungen für deine Zwecke auswählen.
Das REST-API-Referenzdokument für jeden Endpunkt gibt an, ob der Endpunkt zusammen mit fine-grained personal access token funktioniert und welche Berechtigungen erforderlich sind, damit das Token den Endpunkt verwenden kann. Einige Endpunkte erfordern möglicherweise mehrere Berechtigungen und einige möglicherweise eine von mehreren Berechtigungen. Eine Übersicht über die REST-API-Endpunkte, auf die eine fine-grained personal access token mit jeder Berechtigung zugreifen kann, ist unter „Erforderliche Berechtigungen für differenzierte persönliche Zugangstoken“ zu finden.
-
Klicke dann auf Token generieren.
Wenn du eine Organisation als Ressourcenbesitzer ausgewählt hast und die Organisation eine Genehmigung für fine-grained personal access token vorschreibt, wird dein Token bis zur Überprüfung durch einen Organisationsadministratorin mit pending
gekennzeichnet. Bis zur Genehmigung kann dein Token nur öffentliche Ressourcen lesen. Wenn du eine Inhaberin der Organisation bist, wird deine Anforderung automatisch genehmigt. Weitere Informationen findest du unter Überprüfen und Widerrufen persönlicher Zugriffstoken in deiner Organisation.
Erstellen eines personal access token (classic)
Hinweis: Organisationsinhaber*innen können den Zugriff auf personal access token (classic) auf ihre Organisation beschränken. Wenn du versuchst, ein personal access token (classic) für den Zugriff auf Ressourcen in einer Organisation zu verwenden, die den Zugriff mit personal access token (classic) deaktiviert hat, wird bei deiner Anforderung die Fehlermeldung 403 angezeigt. Du musst stattdessen eine GitHub App, OAuth app oder ein fine-grained personal access token verwenden.
Hinweis: Dein personal access token (classic) kann auf alle Repositorys zugreifen, auf die du Zugriff hast. GitHub empfiehlt, stattdessen nach Möglichkeit fine-grained personal access token zu verwenden. Diese können auf bestimmte Repositorys beschränkt werden. Fine-grained personal access token ermöglichen es dir auch, präzise Berechtigungen anstelle eines allgemeinen Spektrums anzugeben.
-
Klicken Sie auf einer beliebigen Seite auf GitHub oben rechts auf Ihr Profilfoto und dann auf Einstellungen.
-
Klicke auf der linken Seitenleiste auf Entwicklereinstellungen.
-
Klicken Sie auf der linken Seitenleiste unter Personal access tokens auf Tokens (klassisch).
-
Wählen Sie Neues Token generieren aus und klicken Sie dann auf Neues Token generieren(klassisch).
-
Gib im Feld „Notiz“ einen aussagekräftigen Namen für das Token ein.
-
Wähle Ablauf und dann eine Standardoption aus, oder klicke auf Benutzerdefiniert, um ein Datum einzugeben.
-
Wähle die Berechtigungen aus, die du diesem Token erteilen möchtest. Um das Token für den Zugriff auf Repositorys über die Befehlszeile zu verwenden, wähle Repository aus. Ein Token ohne zugewiesene Bereiche kann nur auf öffentliche Informationen zugreifen. Weitere Informationen findest du unter Bereiche für OAuth-Apps.
-
Klicke dann auf Token generieren.
-
Optional kannst du auf klicken, um das neue Token in die Zwischenablage zu kopieren.
Löschen: personal access token
Sie sollten eine personal access token löschen, wenn sie nicht mehr benötigt wird. Wenn Sie eine personal access token löschen, die zum Erstellen eines Bereitstellungsschlüssels verwendet wurde, wird auch der Bereitstellungsschlüssel gelöscht.
- Klicken Sie auf einer beliebigen Seite auf GitHub oben rechts auf Ihr Profilfoto und dann auf Einstellungen.
- Klicke auf der linken Seitenleiste auf Entwicklereinstellungen.
- Klicken Sie in der linken Seitenleiste unter Personal access tokens entweder auf Differenzierte Token oder Token (klassisch) , je nachdem, welche Art personal access token Sie löschen möchten.
- Klicke rechts neben dem zu löschenden PAT (personal access token) auf Löschen.
Verwenden eines personal access token in der Befehlszeile
Wenn du über ein personal access token verfügst, kannst du es statt deines Kennworts eingeben, wenn du Git-Vorgänge über HTTPS ausführst.
Um beispielsweise ein Repository über die Befehlszeile zu klonen, gibst du den folgenden git clone
-Befehl ein. Dann wirst du aufgefordert, deinen Benutzernamen und dein Kennwort einzugeben. Wenn du zur Eingabe deines Kennworts aufgefordert wirst, gib anstelle eines Kennworts dein personal access token ein.
$ git clone https://HOSTNAME/USERNAME/REPO.git
Username: YOUR-USERNAME
Password: YOUR-PERSONAL-ACCESS-TOKEN
Personal access token können nur für Git-Vorgänge mit HTTPS verwendet werden. Wenn dein Repository eine SSH-Remote-URL verwendet, musst du das Remoterepository von SSH auf HTTPS umstellen.
Wenn du nicht nach einem Benutzernamen und einem Passwort gefragt wirst, wurden deine Anmeldeinformationen möglicherweise auf deinem Computer zwischengespeichert. Du kannst deine Anmeldeinformationen in der Keychain aktualisieren, um das alte Kennwort durch das Token zu ersetzen.
Statt dein personal access token manuell bei jedem Git-Vorgang mit HTTPS einzugeben, kannst du dein personal access token bei einem Git-Client zwischenspeichern. Git speichert deine Anmeldeinformationen vorübergehend im Arbeitsspeicher, bis ein Ablaufintervall abgelaufen ist. Du kannst das Token auch in einer Nur-Textdatei speichern, die Git vor jeder Anforderung lesen kann. Weitere Informationen findest du unter Zwischenspeichern von GitHub Anmeldeinformationen in Git.