Skip to main content

GitHub Packagesの権限について

パッケージの権限の管理方法を学んでください。

リポジトリスコープのパッケージの権限

リポジトリスコープのパッケージは、パッケージを所有するリポジトリの権限と可視性を継承します。 リポジトリをスコープとするパッケージは、リポジトリのメインページにアクセスし、ページ右にある パッケージ リンクをクリックすれば見つかります。

以下の GitHub Packages レジストリでは、リポジトリ スコープのアクセス許可 のみ を使います。

  • Docker レジストリ (docker.pkg.github.com) - npm レジストリ
  • RubyGemsレジストリ
  • Apache Mavenレジストリ
  • NuGetレジストリ

パッケージの管理

パッケージ レジストリでホストされているパッケージを使用もしくは管理するためには、適切なスコープを持つトークンを使わなければならず、個人用アカウントが適切な権限を持っていなければなりません。

次に例を示します。

  • リポジトリからパッケージをダウンロードしてインストールするには、トークンに read:packages スコープが設定されていなければならず、ユーザー アカウントには読み取り権限が設定されていなければなりません。
  • GitHub Enterprise Server 上のパッケージを削除するには、ご利用のトークンに少なくとも delete:packages および read:packages スコープが設定されている必要があります。 リポジトリをスコープとするパッケージには、repo スコープも必要です。 詳細については、「パッケージを削除および復元する」を参照してください。
Scope説明必要な権限
read:packagesGitHub Packagesからのパッケージのダウンロードとインストール読み取り
write:packagesGitHub Packagesへのパッケージのアップロードと公開書き込み
delete:packagesGitHub Packagesからのパッケージの削除admin
repoパッケージをアップロードおよび削除する (write:packages または delete:packages と一緒に)書き込みもしくは読み取り

GitHub Actions ワークフローを作成する際には、GITHUB_TOKEN を使って GitHub Packages にパッケージを公開してインストールでき、個人用アクセス トークンを保存して管理する必要はありません。

詳細については、以下を参照してください:

GitHub Actionsワークフローでのパッケージへのアクセスのメンテナンス

ワークフローがパッケージへのアクセスを確実に維持するためには、確実にワークフローで正しいアクセストークンを使用し、パッケージへのGitHub Actionsアクセスを有効化してください。

GitHub Actions の概念的背景や、ワークフローでパッケージを使用する例については、「GitHub Actions ワークフローを利用した GitHub Packages の管理」を参照してください。

アクセス トークン

  • ワークフロー リポジトリに関連付けられているパッケージを発行するには、GITHUB_TOKEN を使用します。
  • GITHUB_TOKENがアクセスできない他のプライベート リポジトリに関連するパッケージをインストールするには、個人用アクセス トークンを使用してください。

GitHub Actions ワークフローで使用される GITHUB_TOKEN の詳細については、「ワークフローで認証する」を参照してください。