Skip to main content
We publish frequent updates to our documentation, and translation of this page may still be in progress. For the most current information, please visit the English documentation.

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

Für Pakete mit differenzierten Berechtigungen wird ein persönliches Benutzerkonto oder ein Organisationskonto als Gültigkeitsbereich festgelegt. 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 differenzierte Berechtigungen:

  • Container registry

Berechtigungen für repositorybezogene Pakete

Ein repositorybezogenes Paket erbt die Berechtigungen und Sichtbarkeit des Repositorys, in dessen Besitz es sich befindet. 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.

Die folgenden GitHub Packages-Registrierungen unterstützen nur repositorybezogene Berechtigungen:

  • Docker-Registrierung (docker.pkg.github.com) - npm-Registrierung
  • Apache Maven-Registrierung
  • Gradle-Registrierung - NuGet-Registrierung - RubyGems-Registrierung

Für die Container registry kannst du festlegen, dass Pakete auf einen Benutzer oder eine Organisation ausgerichtet oder mit einem Repository verknüpft werden sollen.

Sichtbarkeit und Zugriffsberechtigungen für Containerimages

Wenn du über Administratorberechtigungen für ein Containerimage verfügst, kannst du die Zugriffsberechtigungen für das Containerimage auf „privat“ oder „öffentlich“ festlegen. Öffentliche Images erlauben anonymen Zugriff und können ohne Authentifizierung oder Anmeldung über die CLI gepullt werden.

Als Administrator kannst du auch Zugriffsberechtigungen für ein Containerimage erteilen, die unabhängig von den Berechtigungen sind, die du auf Organisations- und Repositoryebene festgelegt hast.

Für Containerimages, die über ein persönliches Konto veröffentlicht werden und in dessen Besitz sind, kannst du jeder Person eine Zugriffsrolle zuweisen. Für Containerimages, die von einer Organisation veröffentlicht werden und in deren Besitz sind, kannst du jeder Person oder jedem Team in der Organisation eine Zugriffsrolle zuweisen.

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.

Weitere Informationen findest du unter Konfigurieren der Zugriffssteuerung und Sichtbarkeit eines Pakets.

Informationen zu Bereichen und Berechtigungen für Paketregistrierungen

Wenn du ein von einer Paketregistrierung gehostetes Paket verwenden oder verwalten möchtest, musst du ein personal access token mit dem entsprechenden Gültigkeitsbereich verwenden, und dein persönliches Konto muss über entsprechende Berechtigungen verfügen.

Beispiel:

  • Um Pakete aus einem Repository herunterladen und installieren zu können, muss dein personal access token den Gültigkeitsbereich read:packages aufweisen, und dein Benutzerkonto muss über eine Leseberechtigung verfügen.
  • Um ein Paket in GitHub Enterprise Server löschen zu können, muss dein personal access token mindestens über die Gültigkeitsbereiche delete:packages und read:packages verfügen. Der repo-Umfang ist auch für repositorybezogene Pakete erforderlich. Weitere Informationen findest du unter Löschen und Wiederherstellen eines Pakets.
ScopeBESCHREIBUNGErforderliche Berechtigung
read:packagesHerunterladen und Installieren von Paketen aus GitHub PackagesLesen
write:packagesHochladen und Veröffentlichen von Paketen in GitHub PackagesSchreiben
delete:packagesLöschen von Paketen aus GitHub Packagesadmin
repoHochladen und Löschen von Paketen (zusammen mit write:packagesoder delete:packages)Schreib- oder Administratorberechtigung

Wenn du einen GitHub Actions-Workflow erstellst, kannst du das GitHub-Token (GITHUB_TOKEN) zum Veröffentlichen und Installieren von Paketen in GitHub Packages verwenden, ohne ein personal access token zu speichern und zu verwalten.

Weitere Informationen findest du hier:

Informationen zur Übertragung von Repositorys

Du kannst ein Repository in ein anderes Benutzer- oder Organisationskonto übertragen. Weitere Informationen findest du unter Übertragen eines Repositorys.

Wenn du ein Repository überträgst, kann GitHub auch die Pakete übertragen, die dem Repository zugeordnet sind. Dies hängt von der Registrierung ab, zu der die Pakete gehören.

  • Für Registrierungen, die differenzierte Berechtigungen unterstützen, sind Pakete auf ein Benutzer- oder Organisationskonto 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 Benutzer*innen überträgst, und alle Codespaces oder GitHub Actions-Workflows, die dem Repository zugeordnet sind, verlieren den Zugriff auf das Paket. Eine Liste dieser Registrierungen findest du unter Differenzierte Berechtigungen für benutzer-/organisationsbezogene Pakete.
  • Bei Registrierungen, die nur repositorybezogene Berechtigungen unterstützen, werden Pakete direkt in Repositorys veröffentlicht, und GitHub überträgt die Pakete, die einem Repository zugeordnet sind, bei der Repositoryübertragung. Der gesamte abrechnungsfähige Verbrauch, der den Paketen zugeordnet ist, wird anschließend dem/der neuen Besitzerin in Rechnung gestellt. Wenn der/die vorherige Repositorybesitzerin als Projektmitarbeiter*in aus dem Repository entfernt wird, kann er/sie möglicherweise nicht mehr auf die Pakete zugreifen, die dem Repository zugeordnet sind. Eine Liste dieser Registrierungen findest du unter Berechtigungen für repositorybezogene Pakete.

Verwalten des Zugriffs auf Pakete in GitHub Actions-Workflows

Um sicherzustellen, dass deine Workflows Zugriff auf deine Pakete erhalten, stelle sicher, dass du das richtige Zugriffstoken in deinem Workflow verwendest und dass du den GitHub Actions-Zugriff auf dein Paket aktiviert hast.

Weitere konzeptionelle Hintergründe zu GitHub Actions oder Beispiele für die Verwendung von Paketen in Workflows findest du unter Verwalten von GitHub-Paketen mit GitHub Actions-Workflows.

Zugriffstoken

  • Um Pakete zu veröffentlichen, die dem Workflowrepository zugeordnet sind, verwende GITHUB_TOKEN.
  • Um Pakete zu installieren, die anderen privaten Repositorys zugeordnet sind, auf die GITHUB_TOKEN nicht zugreifen kann, muss ein personal access token verwendet werden.

Weitere Informationen zum GITHUB_TOKEN, das in GitHub Actions-Workflows verwendet wird, findest du unter Authentifizierung in einem Workflow.