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

パッケージのアクセス制御と可視性の設定

コンテナイメージに読み取り、書き込み、管理アクセス権限があるユーザと、GitHub 上のコンテナイメージの可視性を選択します。

GitHub PackagesはGitHub Free、GitHub Pro、GitHub FreeのOrganization、GitHub Team、GitHub Enterprise Cloud、GitHub Enterprise Server、GitHub AEで利用できます。


GitHub Packagesは、レガシーのリポジトリごとのプランを使っているアカウントが所有しているプライベートリポジトリでは利用できません。 また、レガシーのリポジトリごとのプランを使っているアカウントは、リポジトリごとに課金されるため、コンテナレジストリにはアクセスできません。 詳しい情報については「[GitHubの製品](/articles/github-s-products)」を参照してください。

ここには以下の内容があります:

注釈: コンテナレジストリ は現在パブリックベータであり、変更されることがあります。 ベータ期間中は、ストレージおよび帯域幅の制限はありません。 コンテナレジストリを使用するには、機能プレビューを有効化しなければなりません。 詳しい情報については「GitHub Packagesについて」及び「コンテナレジストリでの改善されたコンテナサポートの有効化」を参照してください。

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

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

リポジトリをスコープとするパッケージの権限や、PATに関するパッケージ関連のスコープ、Actionsのワークフローの権限の管理についての詳しい情報は、「GitHub Packagesの権限について」を参照してください。

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

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

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

ユーザアカウントが所有し公開しているコンテナイメージには、任意のユーザにアクセスロールを付与できます。 Organization が所有し公開しているコンテナイメージには、Organization 内の任意の Team にアクセスロールを付与できます。

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

個人アカウントにコンテナイメージへのアクセス権限を設定する

ユーザアカウントが所有するコンテナイメージに対する管理者権限がある場合には、他のユーザに読み取り、書き込み、管理者ロールを割り当てることができます。 これらの権限ロールに関する詳しい情報については、コンテナイメージの可視性とアクセス権限」を参照してください。

パッケージがプライベートもしくはインターナルで、Organizationによって所有されているなら、あなたにできることは他のOrganizationメンバーやTeamにアクセス権を与えることだけです。

  1. GitHubで、ユーザアカウントのメインページにアクセスしてください。
  2. GitHubの右上で、プロフィール画像をクリックし、続いてYour profile(あなたのプロフィール)をクリックしてください。 プロフィール画像
  3. プロフィールページで、右上のPackages(パッケージ)をクリックしてください。 プロフィールページのパッケージオプション
  4. パッケージ設定ページで [Invite teams or people] をクリックして、アクセス権を付与するユーザの名前、ユーザ名、またはメールアドレスを入力します。 Team には、ユーザアカウントが所持するコンテナイメージのアクセス権限を与えることができません。 コンテナアクセス権の招待ボタン
  5. ユーザ名または Team 名の隣にある [Role] のドロップダウンメニューで、付与する権限レベルを選択します。 コンテナアクセス権のオプション

選択したユーザには自動的にアクセス権限が与えられ、招待を承諾する必要はありません。

Organization にコンテナイメージへのアクセス権限を設定する

Organization が所有するコンテナイメージに対する管理者権限がある場合には、他のユーザや Team に読み取り、書き込み、管理者ロールを割り当てることができます。 これらの権限ロールに関する詳しい情報については、コンテナイメージの可視性とアクセス権限」を参照してください。

パッケージがプライベートもしくはインターナルで、Organizationによって所有されているなら、あなたにできることは他のOrganizationメンバーやTeamにアクセス権を与えることだけです。

Organization イメージコンテナに対しては、Organization の管理者がパッケージを有効にしないと、可視性をパブリックに設定できません。 詳しい情報については「コンテナレジストリでの改善されたコンテナサポートの有効化」を参照してください。

  1. GitHubで、Organizationのメインページにアクセスしてください。
  2. Organization名の下で、Packages(パッケージ)をクリックしてください。 コンテナアクセス権の招待ボタン
  3. パッケージ設定ページで [Invite teams or people] をクリックして、アクセス権を付与するユーザの名前、ユーザ名、またはメールアドレスを入力します。 また、Organization から Team 名を入力して、全 Team メンバーにアクセスを付与することもできます。 コンテナアクセス権の招待ボタン
  4. ユーザ名または Team 名の隣にある [Role] のドロップダウンメニューで、付与する権限レベルを選択します。 コンテナアクセス権のオプション

選択したユーザや Team には自動的にアクセス権限が与えられ、招待を承諾する必要はありません。

リポジトリからコンテナイメージへのアクセスの継承

GitHub Actionsワークフローを通じたパッケージ管理を単純化するには、デフォルトでリポジトリのアクセス権をコンテナイメージが継承できるようにすることができます。

パッケージのワークフローが保存されているリポジトリのアクセス権限を継承する場合、リポジトリの権限を通じてパッケージへのアクセスを調整できます。

リポジトリが同期されると、パッケージの詳細なアクセス設定にはアクセスできなくなります。 詳細なパッケージのアクセス設定を通じてパッケージの権限をカスタマイズするには、まず同期されたリポジトリを取り除かなければなりません。

  1. GitHubで、Organizationのメインページにアクセスしてください。
  2. Organization名の下で、Packages(パッケージ)をクリックしてください。 コンテナアクセス権の招待ボタン
  3. "Repository source(リポジトリソース)"の下で、Inherit access from repository (recommended)(アクセスをリポジトリから継承(推奨))を選択してください。 リポジトリアクセスの継承チェックボックス

パッケージへのワークフローのアクセスの確保

GitHub Actionsワークフローがパッケージに確実にアクセスできるようにするためには、ワークフローが保存されているリポジトリに対する明示的なアクセスを与えなければなりません。

指定するリポジトリは、パッケージのソースコードが保存されているリポジトリである必要はありません。 パッケージに対して複数のリポジトリワークフローにアクセスを与えることができます。

ノート: Actionsのアクセスメニューオプションを通じてコンテナイメージをリポジトリと同期することは、コンテナをリポジトリに接続することとは異なります。 リポジトリのコンテナへのリンクに関する詳しい情報については、「リポジトリのパッケージへの接続」を参照してください。

ユーザアカウントが所有するコンテナイメージへのGitHub Actionsのアクセス

  1. GitHubで、ユーザアカウントのメインページにアクセスしてください。
  2. GitHubの右上で、プロフィール画像をクリックし、続いてYour profile(あなたのプロフィール)をクリックしてください。 プロフィール画像
  3. プロフィールページで、右上のPackages(パッケージ)をクリックしてください。 プロフィールページのパッケージオプション
  4. ひだりのサイドバーでActions access(Actionsのアクセス)をクリックしてください。 左メニューの"Actionsアクセス"オプション
  5. ワークフローがコンテナパッケージに確実にアクセスできるようにするには、ワークフローが保存されるリポジトリを追加しなければなりません。 Add repository(リポジトリの追加)をクリックし、追加したいリポジトリを検索してください。 "リポジトリの追加"ボタン
  6. "role(ロール)"ドロップダウンメニューを使い、コンテナイメージに対してリポジトリに持たせたいデフォルトのアクセスレベルを選択してください。 リポジトリに付与する権限アクセスレベル

コンテナイメージへのアクセスをさらにカスタマイズするには、「個人アカウントのためのコンテナイメージへのアクセスの設定」を参照してください。

Organizationが所有するコンテナイメージへのGitHub Actionsのアクセス

  1. GitHubで、Organizationのメインページにアクセスしてください。
  2. Organization名の下で、Packages(パッケージ)をクリックしてください。 コンテナアクセス権の招待ボタン
  3. ひだりのサイドバーでActions access(Actionsのアクセス)をクリックしてください。 左メニューの"Actionsアクセス"オプション
  4. Add repository(リポジトリの追加)をクリックし、追加したいリポジトリを検索してください。 "リポジトリの追加"ボタン
  5. "role(ロール)"ドロップダウンメニューを使い、リポジトリのメンバーからコンテナイメージに対して持たせたいデフォルトのアクセスレベルを選択してください。 外部のコラボレータは含まれません。 リポジトリに付与する権限アクセスレベル

コンテナイメージへのアクセスをさらにカスタマイズするには、「Organizationのためのコンテナイメージへのアクセスの設定」を参照してください。

個人アカウントにコンテナイメージの可視性を設定する

パッケージを最初に公開する際のデフォルトの可視性はプライベートで、パッケージを表示できるのは公開したユーザだけです。 アクセス設定を変更することで、プライベートやパブリックなコンテナイメージのアクセス権限を変更できます。

パブリックパッケージは認証なしに匿名でアクセスできます。 いったんパッケージをパブリックに設定すると、そのパッケージをプライベートに戻すことはできません。

  1. GitHubで、ユーザアカウントのメインページにアクセスしてください。

  2. GitHubの右上で、プロフィール画像をクリックし、続いてYour profile(あなたのプロフィール)をクリックしてください。 プロフィール画像

  3. プロフィールページで、右上のPackages(パッケージ)をクリックしてください。 プロフィールページのパッケージオプション

  4. [Danger Zone] の下で、可視性の設定を選択します。

    • あらゆる人がコンテナイメージを表示できるようにするには、[Make public] をクリックします。

    警告: いったんパッケージをパブリックにすると、プライベートに戻すことはできません。

    - 指定したユーザだけがコンテナイメージを表示できるようにするには、[**Make private**] をクリックします。 ![コンテナ可視性のオプション](/assets/images/help/package-registry/container-visibility-option.png)

Organizationメンバーのためのコンテナ作成の可視性

デフォルトでは、Organizationのメンバーが公開できるコンテナの可視性を選択できます。

  1. GitHubの右上で、プロフィール写真をクリックし、続いてYour organizations(あなたのOrganization)をクリックしてください。 プロフィールメニューのあなたのOrganization
  2. Organizationの隣のSettings(設定)をクリックしてください。 設定ボタン
  3. 左側にある [Packages] をクリックします。
  4. "Container creation(コンテナ作成)"の下で、パブリック、プライベート、インターナルのコンテナイメージの作成を有効化するかを選択してください。
    • Organization のメンバーがパブリックのコンテナイメージを作成できるようにするには、[Public] をクリックします。
    • Organization のメンバーに、Organization のメンバーのみが表示できるプライベートコンテナイメージの作成ができるようにするには、[Private] をクリックします。 プライベートコンテナイメージの可視性については、さらに細かくカスタマイズできます。
    • GitHub Enterprise Cloudのみ: Organizationのメンバーが他のOrganizationのメンバーにだけ見えるインターナルコンテナイメージを作成できるようにするには、Internal(インターナル)をクリックしてください。 Organizationのメンバーが公開するコンテナイメージの可視性オプション

Organization にコンテナイメージの可視性を設定する

パッケージを最初に公開する際のデフォルトの可視性はプライベートで、パッケージを表示できるのは公開したユーザだけです。 アクセス設定を使用して、コンテナイメージに対するさまざまなアクセスロールをユーザや Team に付与できます。

パブリックパッケージは認証なしに匿名でアクセスできます。 いったんパッケージをパブリックに設定すると、そのパッケージをプライベートに戻すことはできません。

Organization イメージコンテナに対しては、Organization の管理者がパブリックパッケージを有効にしないと、可視性をパブリックに設定できません。 詳しい情報については「コンテナレジストリでの改善されたコンテナサポートの有効化」を参照してください。

  1. GitHubで、Organizationのメインページにアクセスしてください。

  2. Organization名の下で、Packages(パッケージ)をクリックしてください。 コンテナアクセス権の招待ボタン

  3. [Danger Zone] の下で、可視性の設定を選択します。

    • あらゆる人がコンテナイメージを表示できるようにするには、[Make public] をクリックします。

    警告: いったんパッケージをパブリックにすると、プライベートに戻すことはできません。

    - 指定したユーザだけがコンテナイメージを表示できるようにするには、[**Make private**] をクリックします。 ![コンテナ可視性のオプション](/assets/images/help/package-registry/container-visibility-option.png)

このドキュメントは役立ちましたか?

Privacy policy

これらのドキュメントを素晴らしいものにするのを手伝ってください!

GitHubのすべてのドキュメントはオープンソースです。間違っていたり、はっきりしないところがありましたか?Pull Requestをお送りください。

コントリビューションを行う

OR, コントリビューションの方法を学んでください。

問題がまだ解決していませんか?

GitHubコミュニティで質問する サポートへの連絡