Skip to main content
ドキュメントには頻繁に更新が加えられ、その都度公開されています。本ページの翻訳はまだ未完成な部分があることをご了承ください。最新の情報については、英語のドキュメンテーションをご参照ください。本ページの翻訳に問題がある場合はこちらまでご連絡ください。

GitHub Packagesの権限について

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

GitHub Packages is available with GitHub Free, GitHub Pro, GitHub Free for organizations, GitHub Team, GitHub Enterprise Cloud, GitHub Enterprise Server 3.0 or higher, and GitHub AE.


GitHub Packagesは、レガシーのリポジトリごとのプランを使っているアカウントが所有しているプライベートリポジトリでは利用できません。 Also, accounts using legacy per-repository plans cannot access the コンテナレジストリ since these accounts are billed by repository. 詳しい情報については「[GitHubの製品](/get-started/learning-about-github/githubs-products)」を参照してください。

パッケージの権限は、リポジトリスコープかユーザ/Organizationスコープです。

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

リポジトリスコープのパッケージは、パッケージを所有するリポジトリの権限と可視性を継承します。 リポジトリをスコープとするパッケージは、リポジトリのメインページにアクセスし、ページ右にあるパッケージリンクをクリックすれば見つかります。 詳しい情報については「リポジトリのパッケージへの接続」を参照してください。

以下のGitHub Packagesレジストリは、リポジトリスコープの権限を使います。

-Dockerレジストリ(docker.pkg.github.com

  • npmレジストリ
  • RubyGemsレジストリ
  • Apache Mavenレジストリ
  • NuGetレジストリ

ユーザ/Organizationスコープのパッケージの詳細な権限

詳細な権限を持つパッケージは、個人ユーザもしくはOrganizationアカウントをスコープとします。 パッケージのアクセス制御と可視性は、パッケージに接続された(あるいはリンクされた)リポジトリは別個に変更できます。

現在の処、コンテナレジストリだけがコンテナイメージパッケージに関する詳細な権限を提供しています。

コンテナイメージの可視性とアクセス権限

コンテナイメージへの管理権限を持っているなら、そのコンテナイメージへのアクセス権限をプライベートもしくはパブリックに設定できます。 パブリックイメージは匿名でアクセスでき、認証や CLI 経由でサインインすることなくプルできます。

あなたが管理者であれば、Organization レベルおよびリポジトリレベルに設定した権限とは別に、コンテナイメージに対してアクセス権限を付与することもできます。

For container images published and owned by a personal account, you can give any person an access role. Organization が所有し公開しているコンテナイメージには、Organization 内の任意の Team にアクセスロールを付与できます。

権限アクセス権の内容
Readパッケージをダウンロードできます。
メタデータの読み取りができます。
Writeこのパッケージをアップロードおよびダウンロードできます。
パッケージのメタデータの読み取りおよび書き込みができます。
Adminこのパッケージのアップロード、ダウンロード、削除、管理ができます。
パッケージのメタデータの読み取りおよび書き込みができます。
パッケージに権限を付与できます。

詳しい情報については「パッケージのアクセス制御と可視性」を参照してください。

パッケージの管理

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

例:

  • リポジトリからパッケージをダウンロードしてインストールするには、トークンはread:packagesスコープを持っていなければならず、ユーザアカウントは読み取り権限を持っていなければなりません。
  • |GitHub Enterprise Cloud上のパッケージを削除するには、トークンが少なくともdelete:packagesread:packagesのスコープを持っている必要があります。 リポジトリをスコープとするパッケージには、 repoスコープも必要です。 詳しい情報については「パッケージの削除と復元」を参照してください。 | スコープ | 説明 | 必要な権限 | | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------- | ------------ | | read:packages | GitHub Packagesからのパッケージのダウンロードとインストール | 読み取り | | write:packages | GitHub Packagesへのパッケージのアップロードと公開 | 書き込み | | delete:packages | | | | GitHub Packagesからのパッケージの削除 | | | | 管理 | | | | 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に関する詳しい情報については「ワークフローでの認証」を参照してください。

コンテナイメージに対するGitHub Actionsアクセス

ワークフローがコンテナイメージに確実にアクセスできるようにするには、ワークフローが実行されるリポジトリへのGitHub Actionsアクセスを有効化しなければなりません。 この設定は、パッケージの設定ページにあります。 詳しい情報については「パッケージへのワークフローアクセスの保証」を参照してください。