Skip to main content

Informationen zu Berechtigungen für GitHub-Pakete

Hier erfährst du, wie du Berechtigungen für deine Pakete verwalten kannst.

Die Berechtigungen für Pakete können entweder auf einen Benutzer/eine Organisation oder auf ein Repository ausgerichtet werden.

Differenzierte Berechtigungen für benutzer-/organisationsbezogene Pakete

Pakete mit detaillierten Berechtigungen sind auf ein persönliches Konto oder eine Organisation beschränkt. Du kannst die Zugriffssteuerung und Sichtbarkeit eines Pakets getrennt von einem Repository ändern, mit dem es verbunden (oder verknüpft) ist.

Die folgenden GitHub Packages Registrierungen unterstützen granulare Berechtigungen.

  • Container registry
  • npm-Registrierung
  • NuGet-Registrierung
  • RubyGems-Registrierung

Berechtigungen für repositorybezogene Pakete

Ein Repository-bezogenes Paket erbt die Berechtigungen und Sichtbarkeit von dem Repository, in dem das Paket veröffentlicht wird. Du kannst ein auf ein Repository ausgerichtetes Paket finden, indem du zur Hauptseite des Repositorys wechselst und rechts auf der Seite auf den Link Pakete klickst. Weitere Informationen finden Sie unter Verbinden eines Repositorys mit einem Paket.

Die folgenden GitHub Packages Registrierungen unterstützen nur Repository-bezogene Berechtigungen.

  • Apache Maven-Registrierung
  • Gradle-Registry

Für anderen Registrierungen können Sie festlegen, dass Pakete auf einen Benutzer oder eine Organisation festgelegt oder mit einem Repository verknüpft werden können.

Sichtbarkeit und Zugriffsberechtigungen für Pakete

Wenn ein Paket zu einer Registrierung gehört, die differenzierte Berechtigungen unterstützt, kann jede Person, die Administratorberechtigungen für das Paket hat, das Paket auf „privat“ oder „öffentlich“ festlegen und Zugriffsberechtigungen für das Paket erteilen. Diese sind unabhängig von den Berechtigungen, die auf Organisations- und Repositoryebene festgelegt sind. Eine Liste der Registrierungen, die differenzierte Berechtigungen unterstützen, findest du unter Informationen zu Berechtigungen für GitHub-Pakete.

In den meisten Registrierungen musst du dich zum Pullen eines Pakets authentifizieren – personal access token oder GITHUB_TOKEN –, unabhängig davon, ob das Paket öffentlich oder privat ist. In der Container registry erlauben öffentliche Pakete jedoch anonymen Zugriff und können ohne Authentifizierung oder Anmeldung über die CLI gepullt werden.

Hinweis

Wenn du ein Paket veröffentlichst, das mit einem Repository verknüpft ist, erbt das Paket standardmäßig seine Berechtigungen vom verknüpften Repository. Um auf die detaillierten Berechtigungseinstellungen des Pakets zuzugreifen, musst du die geerbten Berechtigungen des Pakets entfernen. Wenn du Besitzer*in einer Organisation bist, kannst du die automatische Vererbung von Berechtigungen für alle neuen Pakete deaktivieren, die auf deine Organisation ausgerichtet sind. Weitere Informationen findest du unter Konfigurieren der Zugriffssteuerung und Sichtbarkeit von Paketen und Konfigurieren der Zugriffssteuerung und Sichtbarkeit von Paketen.

Wenn du ein Paket veröffentlichst, erhältst du automatisch Administratorberechtigungen für dieses. Wenn du ein Paket in einer Organisation veröffentlichst, erhält jeder mit der Rolle owner in der Organisation auch Administratorberechtigungen für das Paket.

Für Pakete, die auf ein persönliches Konto ausgerichtet sind, kannst du jeder Person eine Zugriffsrolle zuweisen. Für Pakete, die auf eine Organisation ausgerichtet sind, kannst du jeder Person oder jedem Team in der Organisation eine Zugriffsrolle zuweisen.

Wenn Sie zum Verwalten Ihrer Pakete einen GitHub Actions-Workflow verwenden, können Sie mit mithilfe der Schaltfläche Repository hinzufügen unter „Actions-Zugriff verwalten“ in den Einstellungen des Pakets dem Repository, in dem der Workflow gespeichert ist, eine Zugriffsrolle zuweisen. Weitere Informationen finden Sie unter Konfigurieren der Zugriffssteuerung und Sichtbarkeit von Paketen.

BerechtigungZugriffsbeschreibung
LesenKann Paket herunterladen.
Kann Paketmetadaten lesen.
SchreibenKann dieses Paket hochladen und herunterladen.
Kann Paketmetadaten lesen und schreiben.
AdministratorKann dieses Paket hochladen, herunterladen, löschen und verwalten.
Kann Paketmetadaten lesen und schreiben.
Kann Paketberechtigungen erteilen.

Hinweis

Die Möglichkeit für GitHub Actions-Workflows, Pakete mithilfe der REST-API zu löschen und wiederherzustellen, befindet sich derzeit in der Öffentliche Vorschau. Änderungen sind vorbehalten.

Weitere Informationen finden Sie unter Konfigurieren der Zugriffssteuerung und Sichtbarkeit von Paketen.

Informationen zu Geltungsbereichen und Berechtigungen für Paketregister

Hinweis

GitHub Packages unterstützt nur die Authentifizierung mit einem personal access token (classic). Weitere Informationen finden Sie unter Verwalten deiner persönlichen Zugriffstoken.

Um ein Paket zu verwenden oder zu verwalten, das von einer Paketregistrierung gehostet wird, müssen Sie einen personal access token (classic) mit dem entsprechenden Bereich verwenden, und Ihr persönliches Konto muss über entsprechende Berechtigungen verfügen.

Beispiel:

  • Um Pakete aus einem Repository herunterzuladen und zu installieren, muss Ihr personal access token (classic) über den read:packages-Berechtigungsbereich verfügen, und Ihr Benutzerkonto muss über Leseberechtigung verfügen.
  • Um ein Paket zu löschen, muss Ihr personal access token (classic) mindestens über die Berechtigungsbereiche delete:packages und read:packages verfügen. Weitere Informationen finden Sie unter Löschen und Wiederherstellen eines Pakets.
UmfangBESCHREIBUNGErforderliche Berechtigung
read:packagesHerunterladen und Installieren von Paketen von GitHub PackagesLesen
write:packagesHochladen und Veröffentlichen von Paketen in GitHub PackagesSchreiben
delete:packagesPakete aus GitHub Packages löschenadmin

Hinweis

Die Möglichkeit für GitHub Actions-Workflows, Pakete mithilfe der REST-API zu löschen und wiederherzustellen, befindet sich derzeit in der Öffentliche Vorschau. Änderungen sind vorbehalten.

Wenn Sie einen GitHub Actions-Workflow erstellen, können Sie mit GITHUB_TOKEN Pakete in GitHub Packages veröffentlichen, installieren, löschen und wiederherstellen, ohne ein personal access token speichern und verwalten zu müssen.

Weitere Informationen finden Sie unter:

Informationen zur Übertragung von Repositorys

Du kannst ein Repository in ein anderes persönliches Konto oder eine Organisation übertragen. Weitere Informationen finden Sie unter Repository übertragen.

Wenn Sie ein Repository übertragen, kann GitHub abhängig von der Registry, zu der die Pakete gehören, auch die mit dem Repository verknüpften Pakete übertragen.

  • Für Registrierungen, die differenzierte Berechtigungen unterstützen, sind Pakete auf ein persönliches Konto oder eine Organisation beschränkt, und das dem Paket zugeordnete Konto ändert sich nicht, wenn du ein Repository überträgst. Wenn du ein Paket mit einem Repository verknüpft hast, wird die Verknüpfung aufgehoben, wenn du das Repository an andere Benutzerinnen überträgst. Alle Codespaces oder GitHub Actions Workflows, die dem Repository zugeordnet sind, verlieren den Zugriff auf das Paket. Wenn das Paket seine Zugriffsberechtigungen vom verknüpften Repository geerbt hat, verlieren Benutzerinnen den Zugriff auf das Paket. Die Liste dieser Registrierungen findest du oben unter Differenzierte Berechtigungen für benutzer- bzw. organisationsbezogene Pakete.
  • Bei Registrierungen, die nur Repository-bezogene Berechtigungen unterstützen, werden Pakete direkt in Repositorys veröffentlicht und GitHub übertragen die Pakete, die einem Repository zugeordnet sind, als Teil der Repositoryübertragung. Der gesamte abrechenbare Verbrauch, der den Paketen zugeordnet ist, wird anschließend dem/der neuen Besitzer*in des Repositorys in Rechnung gestellt. Wenn der vorherige Repository-Besitzer als Mitarbeiter des Repositorys entfernt wird, kann er möglicherweise nicht mehr auf die Pakete zugreifen, die dem Repository zugeordnet sind. Die Liste dieser Registrierungen findest du oben unter Berechtigungen für repositorybezogene Pakete.

Verwalten des Zugriffs auf Pakete in GitHub Actions Workflows

Um sicherzustellen, dass Ihre Workflows weiterhin Zugriff auf Ihre Pakete haben, vergewissern Sie sich, dass Sie in Ihrem Workflow das richtige Zugriffstoken verwenden und GitHub Actions den Zugriff auf Ihr Paket aktiviert haben.

Weitere konzeptionelle Hintergründe GitHub Actions oder Beispiele für die Verwendung von Paketen in Workflows finden Sie unter Verwalten von GitHub-Paketen mithilfe von GitHub Actions Workflows.

Zugriffstoken

Hinweis

Die Möglichkeit für GitHub Actions-Workflows, Pakete mithilfe der REST-API zu löschen und wiederherzustellen, befindet sich derzeit in der Öffentliche Vorschau. Änderungen sind vorbehalten.

  • Um Pakete, die dem Workflow-Repository zugeordnet sind, zu veröffentlichen, zu installieren, zu löschen und wiederherzustellen, verwenden Sie bitte GITHUB_TOKEN.
  • Um Pakete zu installieren, die anderen privaten Repositorys zugeordnet sind, auf die GITHUB_TOKEN nicht zugegriffen werden kann, verwenden Sie eine personal access token (classic)

Weitere Informationen zur GITHUB_TOKEN Verwendung in GitHub Actions Workflows finden Sie unter Verwenden von GITHUB_TOKEN für die Authentifizierung in Workflows.

GitHub Actions Zugriff auf Pakete mit granularen Berechtigungen

Um sicherzustellen, dass Ihre Workflows Zugriff auf Pakete haben, die in Registrierungen gespeichert sind, die präzise Berechtigungen unterstützen, müssen Sie Zugriff auf die Repositorys gewähren GitHub Actions , in denen Ihr Workflow ausgeführt wird. Du kannst diese Einstellung auf der Seite mit den Einstellungen für dein Paket finden. Weitere Informationen finden Sie unter Konfigurieren der Zugriffssteuerung und Sichtbarkeit von Paketen.