Skip to main content
ドキュメントへの更新が頻繁に発行されており、このページの翻訳はまだ行われている場合があります。 最新の情報については、「英語のドキュメント」を参照してください。

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

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

GitHub Packages は、GitHub Free、GitHub Pro、Organization の GitHub Free、GitHub Team、GitHub Enterprise Cloud、GitHub Enterprise Server 3.0 以降、GitHub AE で利用できます。
GitHub Packagesは、レガシーのリポジトリごとのプランを使っているアカウントが所有しているプライベートリポジトリでは利用できません。 また、レガシーのリポジトリごとのプランを使っているアカウントは、リポジトリごとに課金される Container registry にはアクセスできません。 詳細については、「GitHub's products」を参照してください。

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

一部のレジストリは、リポジトリがスコープ指定されたアクセス許可のみをサポートします。 そのようなレジストリの一覧については、「GitHub Packages のアクセス許可について」をご覧ください。

パッケージのアクセス許可、PAT のパッケージ関連のスコープ、またはアクション ワークフローのアクセス許可の管理について詳しくは、「GitHub Packages のアクセス許可について」をご覧ください。

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

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

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

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

GitHub Actions ワークフローを使ってコンテナー イメージを管理している場合は、パッケージの設定の [Actions access] オプションを使って、ワークフローが格納されているリポジトリへのアクセス ロールを付与できます。 詳細については、「パッケージへのワークフローのアクセスの確保」を参照してください。

アクセス許可アクセス権の内容
Readパッケージをダウンロードできます。
パッケージのメタデータを読み取ることができます。
Writeこのパッケージをアップロードおよびダウンロードできます。
パッケージ メタデータの読み取りと書き込みを行うことができます。
[Admin]このパッケージをアップロード、ダウンロード、管理できます。
パッケージ メタデータの読み取りと書き込みを行うことができます。
パッケージを削除および復元できます。

注: GitHub Actions ワークフローで REST API を使用してパッケージを削除および復元する機能は、現在パブリック ベータ版であり、変更される可能性があります。

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

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

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

  1. パッケージを検索して選択してください。
  2. パッケージのランディング ページの右上にある [パッケージ設定] をクリックします。 [パッケージ設定] ボタン
  3. パッケージの設定ページで、 [チームまたはユーザーの招待] をクリックして、アクセス権を付与するユーザーの名前、ユーザー名、またはメール アドレスを入力します。 Team には、個人アカウントが所持するコンテナー イメージのアクセス許可を与えることができません。 コンテナーへのアクセスの招待ボタン
  4. ユーザ名または Team 名の隣にある [Role] のドロップダウンメニューで、付与する権限レベルを選択します。 リポジトリに付与するアクセス レベル

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

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

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

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

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

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

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

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

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

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

  1. GitHubで、Organizationのメインページにアクセスしてください。
  2. Organization 名の下で、 [パッケージ] をクリックします。 Organization ランディング ページの [パッケージ] タブ 3. パッケージを検索して選択してください。
  3. パッケージのランディング ページの右上にある [パッケージ設定] をクリックします。 [パッケージ設定] ボタン
  4. [リポジトリ ソース] で、 [リポジトリからアクセスを継承する (推奨)] を選択します。 リポジトリ アクセスの継承のチェック ボックス

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

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

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

注: [アクションのアクセス] メニュー オプションを使用したコンテナー イメージとリポジトリとの同期は、コンテナーをリポジトリに接続する処理とは異なります。 リポジトリをコンテナーにリンクする方法の詳細については、「リポジトリのパッケージへの接続」を参照してください。

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

  1. パッケージを検索して選択してください。
  2. パッケージのランディング ページの右上にある [パッケージ設定] をクリックします。 [パッケージ設定] ボタン
  3. 左側のサイドバーで、 [アクションのアクセス] をクリックします。 左側のメニューの [アクションのアクセス] オプション
  4. ワークフローがコンテナパッケージに確実にアクセスできるようにするには、ワークフローが保存されるリポジトリを追加しなければなりません。 [リポジトリの追加] をクリックして、追加するリポジトリを検索します。 [リポジトリの追加] ボタン
  5. "role(ロール)"ドロップダウンメニューを使い、コンテナイメージに対してリポジトリに持たせたいデフォルトのアクセスレベルを選択してください。 リポジトリに付与するアクセス レベル

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

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

  1. GitHubで、Organizationのメインページにアクセスしてください。
  2. Organization 名の下で、 [パッケージ] をクリックします。 Organization ランディング ページの [パッケージ] タブ 3. パッケージを検索して選択してください。
  3. パッケージのランディング ページの右上にある [パッケージ設定] をクリックします。 [パッケージ設定] ボタン
  4. 左側のサイドバーで、 [アクションのアクセス] をクリックします。 左側のメニューの [アクションのアクセス] オプション
  5. [リポジトリの追加] をクリックして、追加するリポジトリを検索します。 [リポジトリの追加] ボタン
  6. "role(ロール)"ドロップダウンメニューを使い、リポジトリのメンバーからコンテナイメージに対して持たせたいデフォルトのアクセスレベルを選択してください。 外部のコラボレータは含まれません。 リポジトリに付与するアクセス レベル

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

パッケージへの GitHub Codespaces アクセスの確保

既定では、 [アクセスの継承] オプションが選択された同じリポジトリ内で公開されたパッケージなど、詳細なアクセス許可をサポートするレジストリ内の特定のパッケージに codespace からシームレスにアクセスできます。 詳細なアクセス許可とシームレスな GitHub Codespaces アクセスをサポートする GitHub Packages レジストリの一覧については、「GitHub Packages のアクセス許可について」をご覧ください。

あるいは、codespaceがパッケージに確実にアクセスできるようにするには、codespaceが起動されたリポジトリへのアクセスを許可しなければなりません。

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

リポジトリ内でcodespaceと共有したいパッケージを選択したら、そのリポジトリへのアクセスを付与できます。

  1. 右側のサイドバーで、 [パッケージの設定] をクリックします。

    右側のメニューの [パッケージの設定] オプション

  2. [Codespaces アクセスの管理] で、 [リポジトリの追加] をクリックします。

    [リポジトリの追加] ボタン

  3. 追加したいリポジトリを検索してください。

    [リポジトリの追加] ボタン

  4. アクセスを許可したい追加のリポジトリについて、繰り返してください。

  5. リポジトリのcodespaceがイメージへのアクセスを必要としなくなった場合は、アクセスを削除できます。

    [リポジトリの削除] ボタン

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

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

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

  1. パッケージを検索して選択してください。

  2. パッケージのランディング ページの右上にある [パッケージ設定] をクリックします。 [パッケージ設定] ボタン

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

    • コンテナー イメージをすべてのユーザーに表示するには、 [公開する] をクリックします。

      警告: 公開したパッケージを非公開に戻すことはできません。

    • コンテナー イメージをカスタム選択したユーザーに表示するには、 [非公開にする] をクリックします。 コンテナーの可視性のオプション

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

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

  1. GitHub.com の右上隅にあるプロファイル写真をクリックし、 [自分の Organization] をクリックします。 プロファイル メニューの組織 2. 組織の隣の [設定] をクリックします。 [設定] ボタン
  2. 左側の [パッケージ] をクリックします。
  3. "Container creation(コンテナ作成)"の下で、パブリック、プライベート、インターナルのコンテナイメージの作成を有効化するかを選択してください。
    • 組織のメンバーがパブリック コンテナー イメージを作成できるようにするには、 [パブリック] をクリックします。
    • 組織のメンバーが他の組織のメンバーにのみ表示されるプライベート コンテナー イメージを作成できるようにするには、 [プライベート] をクリックします。 プライベートコンテナイメージの可視性については、さらに細かくカスタマイズできます。
    • 組織のメンバーがすべての組織のメンバーに表示される内部コンテナー イメージを作成できるようにするには、 [内部] をクリックします。 EnterpriseにそのOrganizationが所属している場合、コンテナイメージはEnterpriseのすべてのメンバーに見えるようになります。 組織のメンバーが公開するコンテナー イメージの可視性のオプション

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

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

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

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

  2. Organization 名の下で、 [パッケージ] をクリックします。 Organization ランディング ページの [パッケージ] タブ 3. パッケージを検索して選択してください。

  3. パッケージのランディング ページの右上にある [パッケージ設定] をクリックします。 [パッケージ設定] ボタン

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

    • コンテナー イメージをすべてのユーザーに表示するには、 [公開する] をクリックします。

      警告: 公開したパッケージを非公開に戻すことはできません。

    • コンテナー イメージをカスタム選択したユーザーに表示するには、 [非公開にする] をクリックします。 コンテナーの可視性のオプション