Minimaler Satz von Bereichen, die mithilfe eines Zugriffstokens auf Github gepusht werden können

Lesezeit: 2 Minuten

Ich habe ein öffentliches Github-Repo (das ich vor ein paar Jahren erstellt habe). Ich habe die Zwei-Faktor-Authentifizierung aktiviert. Ich möchte ein Github-API-Token erstellen, um einige Änderungen an meinem Repo vornehmen zu können.

Was ist der minimale Satz von Bereichen, die ich auf der Github-Seite „Neues persönliches Zugriffstoken“ auswählen muss, um Änderungen an diesem Repository vornehmen zu können?

Ich möchte vermeiden, dem Token unnötige Rechte zu geben.

Entsprechend der GitHub-Dokumentationder Anwendungsbereich für öffentliche Repositories ist public_repound für private Repositories ist repo.

Ein Token mit einem dieser Bereiche ist der eingeschränkteste Zugriff, der für Git-Push- oder -Pull-Zugriff möglich ist; Dieses Token kann jedoch auf alle öffentlichen (bzw. privaten) Repositories zugreifen und auch für bestimmte API-Zugriffe verwendet werden. Wenn Sie das beunruhigt, können Sie einen SSH-Schlüssel für Ihr persönliches Konto verwenden oder, um es noch weiter einzuschränken, einen Read-Write-Deployment-Schlüssel für das betreffende Repo verwenden.

Obwohl es zwei Jahre her ist, seit die Frage gestellt wurde, gibt es jetzt eine Lösung von GitHub.

GitHub hat kürzlich eine neue Funktion namens „feinkörnige persönliche Zugriffstoken“ eingeführt.
https://github.blog/2022-10-18-introducing-fine-grained-personal-access-tokens-for-github

Persönliche Zugriffstoken (klassisch) erhalten Berechtigungen aus einer breiten Palette von Lese- und Schreibbereichen. Sie haben Zugriff auf alle Repositories und Organisationen, auf die der Benutzer zugreifen könnte, und dürfen ewig leben. Beispielsweise bietet der Repo-Bereich breiten Zugriff auf alle Daten in privaten Repositories, auf die der Benutzer Zugriff hat, und zwar auf Dauer.

Fein abgestufte persönliche Zugriffstokenhingegen erhalten Berechtigungen aus einem Satz von über 50 granularen Berechtigungen, die den Zugriff auf die Organisations-, Benutzer- und Repository-APIs von GitHub steuern. Jede Berechtigung kann auf der Basis „Kein Zugriff“, „Lesen“ oder „Lesen und Schreiben“ erteilt werden. Als Beispiel können Sie jetzt ein PAT erstellen, das nur Issues lesen und sonst nichts tun kann – nicht einmal den Inhalt eines Repositorys lesen.

Benutzeravatar von petezurich
petezurich

Wenn Sie die Antwort von Yogev erweitern, können Sie Folgendes tun, um a zu erstellen Feingranulares persönliches Zugriffstoken (auch bekannt als «PAT») mit dem Mindestens erforderliche Berechtigungen, um Änderungen an Ihrem Repo zu übernehmen:

  • Erstellen Sie ein feinkörniges PAT mit diesen Schritten.
  • Unter Repository Access wählen Only select repositories und wählen Sie das Repo aus, mit dem Sie arbeiten möchten (authentifizierte Pulls, Commits, Pushs usw.)
  • Unter Permissions wählen Repository permissions und nur eingestellt Contents Zu Access level -> Read and write.

Fügen Sie dann das PAT mit Kontext hinzu secrets zu Ihrem GitHub-Workflow/Ihrer Aktion, z. B.:

runs-on: ubuntu-latest
steps:
  - uses: actions/checkout@v3
    with:
      token: ${{ secrets.NAME_OF_YOUR_PAT }} 

Mehr Dokumentation auch Hier.

Hinweis: Feingranulare persönliche Zugriffstoken befinden sich noch in der Beta-Phase (Stand Anfang 2023) und können sich ändern. Diskussion Hier.

  • Danke dafür. Ich habe versucht, das grundlegendste Push/Pull zu machen, das absolut in den Github-Dokumenten vergraben ist

    – Frank Willmore

    15. Februar um 0:17 Uhr

1445830cookie-checkMinimaler Satz von Bereichen, die mithilfe eines Zugriffstokens auf Github gepusht werden können

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy