詳細な権限を持つパッケージは、個人ユーザもしくはOrganizationアカウントをスコープとします。 パッケージのアクセス制御と可視性は、パッケージに接続された(あるいはリンクされた)リポジトリは別個に変更できます。
現在は、コンテナレジストリでのみ詳細な権限を使うことができます。 詳細な権限は、npmレジストリなど他のパッケージレジストリではサポートされていません。
リポジトリをスコープとするパッケージの権限や、PATに関するパッケージ関連のスコープ、Actionsのワークフローの権限の管理についての詳しい情� �は、「GitHub Packagesの権限について」を参照してく� さい。
コンテナイメージの可視性とアクセス権限
コンテナイメージへの管理権限を持っているなら、そのコンテナイメージへのアクセス権限をプライベートもしくはパブリックに設定できます。 パブリックイメージは匿名でアクセスでき、認証や 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 | このパッケージのアップロード、ダウンロード、削除、管理ができます。 パッケージのメタデータの読み取りおよび書き込みができます。 パッケージに権限を付与できます。 |
個人アカウントにコンテナイメージへのアクセス権限を設定する
個人アカウントが所有するコンテナイメージに対する管理者権限がある� �合には、他のユーザに読み取り、書き込み、管理者ロールを割り当てることができます。 これらの権限ロールに関する詳しい情� �については、コンテナイメージの可視性とアクセス権限」を参照してく� さい。
パッケージがプライベートもしくはインターナルで、Organizationによって所有されているなら、あなたにできることは他のOrganizationメンバーやTeamにアクセス権を与えること� けです。
- パッケージを検索して選択してく� さい。
- パッケージのランディングページの右上で、Package settings(パッケージ設定)をクリックしてく� さい。
- パッケージ設定ページで [Invite teams or people] をクリックして、アクセス権を付与するユーザの名前、ユーザ名、またはメールアドレスを入力します。 Team には、個人アカウントが所持するコンテナイメージのアクセス権限を与えることができません。
- ユーザ名または Team 名の隣にある [Role] のドロップダウンメニューで、付与する権限レベルを選択します。
選択したユーザには自動的にアクセス権限が与えられ、招待を承諾する必要はありません。
Organization のコンテナイメージへのアクセス権限を設定する
Organization が所有するコンテナイメージに対する管理者権限がある� �合には、他のユーザや Team に読み取り、書き込み、管理者ロールを割り当てることができます。 これらの権限ロールに関する詳しい情� �については、コンテナイメージの可視性とアクセス権限」を参照してく� さい。
パッケージがプライベートもしくはインターナルで、Organizationによって所有されているなら、あなたにできることは他のOrganizationメンバーやTeamにアクセス権を与えること� けです。
-
GitHubで、Organizationのメインページにアクセスしてく� さい。
-
Organization名の下で、Packages(パッケージ)をクリックしてく� さい。
-
パッケージを検索して選択してく� さい。
-
パッケージのランディングページの右上で、Package settings(パッケージ設定)をクリックしてく� さい。
-
パッケージ設定ページで [Invite teams or people] をクリックして、アクセス権を付与するユーザの名前、ユーザ名、またはメールアドレスを入力します。 また、Organization から Team 名を入力して、全 Team メンバーにアクセスを付与することもできます。
-
ユーザ名または Team 名の隣にある [Role] のドロップダウンメニューで、付与する権限レベルを選択します。
選択したユーザや Team には自動的にアクセス権限が与えられ、招待を承諾する必要はありません。
リポジトリからコンテナイメージへのアクセスの継承
GitHub Actionsワークフローを通じたパッケージ管理を単純化するには、デフォルトでリポジトリのアクセス権をコンテナイメージが継承できるようにすることができます。
パッケージのワークフローが保存されているリポジトリのアクセス権限を継承する� �合、リポジトリの権限を通じてパッケージへのアクセスを調整できます。
リポジトリが同期されると、パッケージの詳細なアクセス設定にはアクセスできなくなります。 詳細なパッケージのアクセス設定を通じてパッケージの権限をカスタマイズするには、まず同期されたリポジトリを取り除かなければなりません。
-
GitHubで、Organizationのメインページにアクセスしてく� さい。
-
Organization名の下で、Packages(パッケージ)をクリックしてく� さい。
-
パッケージを検索して選択してく� さい。
-
パッケージのランディングページの右上で、Package settings(パッケージ設定)をクリックしてく� さい。
-
"Repository source(リポジトリソース)"の下で、Inherit access from repository (recommended)(アクセスをリポジトリから継承(推奨))を選択してく� さい。
パッケージへのワークフローのアクセスの確保
GitHub Actionsワークフローがパッケージに確実にアクセスできるようにするためには、ワークフローが保存されているリポジトリに対する明示的なアクセスを与えなければなりません。
指定するリポジトリは、パッケージのソースコードが保存されているリポジトリである必要はありません。 パッケージに対して複数のリポジトリワークフローにアクセスを与えることができます。
ノート: Actionsのアクセスメニューオプションを通じてコンテナイメージをリポジトリと同期することは、コンテナをリポジトリに接続することとは異なります。 リポジトリのコンテナへのリンクに関する詳しい情� �については、「リポジトリのパッケージへの接続」を参照してく� さい。
ユーザアカウントが所有するコンテナイメージへのGitHub Actionsのアクセス
- パッケージを検索して選択してく� さい。
- パッケージのランディングページの右上で、Package settings(パッケージ設定)をクリックしてく� さい。
- ひ� りのサイドバーで、Actions access(Actionsのアクセス)をクリックしてく� さい。
- ワークフローがコンテナパッケージに確実にアクセスできるようにするには、ワークフローが保存されるリポジトリを追� しなければなりません。 Add repository(リポジトリの追� )をクリックし、追� したいリポジトリを検索してく� さい。
- "role(ロール)"ドロップダウンメニューを使い、コンテナイメージに対してリポジトリに持たせたいデフォルトのアクセスレベルを選択してく� さい。
コンテナイメージへのアクセスをさらにカスタマイズするには、「個人アカウントのためのコンテナイメージへのアクセスの設定」を参照してく� さい。
Organizationが所有するコンテナイメージへのGitHub Actionsのアクセス
-
GitHubで、Organizationのメインページにアクセスしてく� さい。
-
Organization名の下で、Packages(パッケージ)をクリックしてく� さい。
-
パッケージを検索して選択してく� さい。
-
パッケージのランディングページの右上で、Package settings(パッケージ設定)をクリックしてく� さい。
-
ひ� りのサイドバーで、Actions access(Actionsのアクセス)をクリックしてく� さい。
-
Add repository(リポジトリの追� )をクリックし、追� したいリポジトリを検索してく� さい。
-
"role(ロール)"ドロップダウンメニューを使い、リポジトリのメンバーからコンテナイメージに対して持たせたいデフォルトのアクセスレベルを選択してく� さい。 外部のコラボレータは含まれません。
コンテナイメージへのアクセスをさらにカスタマイズするには、「Organizationのためのコンテナイメージへのアクセスの設定」を参照してく� さい。
個人アカウントにコンテナイメージの可視性を設定する
パッケージを最初に公開する際のデフォルトの可視性はプライベートで、パッケージを表示できるのは公開したユーザ� けです。 アクセス設定を変更することで、プライベートやパブリックなコンテナイメージのアクセス権限を変更できます。
パブリックパッケージは認証なしに匿名でアクセスできます。 いったんパッケージをパブリックに設定すると、そのパッケージをプライベートに戻すことはできません。
-
パッケージを検索して選択してく� さい。
-
パッケージのランディングページの右上で、Package settings(パッケージ設定)をクリックしてく� さい。
-
[Danger Zone] の下で、可視性の設定を選択します。
- あらゆる人がコンテナイメージを表示できるようにするには、[Make public] をクリックします。
警告: いったんパッケージをパブリックにすると、プライベートに戻すことはできません。
- 指定したユーザ� けがコンテナイメージを表示できるようにするには、[**Make private**] をクリックします。 ![コンテナ可視性のオプション](/assets/images/help/package-registry/container-visibility-option.png) - あらゆる人がコンテナイメージを表示できるようにするには、[Make public] をクリックします。
Organizationメンバーのためのコンテナ作成の可視性
デフォルトでは、Organizationのメンバーが公開できるコンテナの可視性を選択できます。
- In the top right corner of GitHub Enterprise Server, click your profile photo, then click Your organizations.
- Organizationの隣のSettings(設定)をクリックしてく� さい。
- 左側にある [Packages] をクリックします。
- "Container creation(コンテナ作成)"の下で、パブリック、プライベート、インターナルのコンテナイメージの作成を有効化するかを選択してく� さい。
- Organization のメンバーがパブリックのコンテナイメージを作成できるようにするには、[Public] をクリックします。
- Organization のメンバーに、Organization のメンバーのみが表示できるプライベートコンテナイメージの作成ができるようにするには、[Private] をクリックします。 プライベートコンテナイメージの可視性については、さらに細かくカスタマイズできます。
- OrganizationのメンバーがすべてのOrganizationのメンバーから見えるインターナルのコンテナイメージを作成できるようにするには、Internal(インターナル)をクリックしてく� さい。 EnterpriseにそのOrganizationが所属している� �合、コンテナイメージはEnterpriseのすべてのメンバーに見えるようになります。
Organization にコンテナイメージの可視性を設定する
パッケージを最初に公開する際のデフォルトの可視性はプライベートで、パッケージを表示できるのは公開したユーザ� けです。 アクセス設定を使用して、コンテナイメージに対するさまざまなアクセスロールをユーザや Team に付与できます。
パブリックパッケージは認証なしに匿名でアクセスできます。 いったんパッケージをパブリックに設定すると、そのパッケージをプライベートに戻すことはできません。
-
GitHubで、Organizationのメインページにアクセスしてく� さい。
-
Organization名の下で、Packages(パッケージ)をクリックしてく� さい。
-
パッケージを検索して選択してく� さい。
-
パッケージのランディングページの右上で、Package settings(パッケージ設定)をクリックしてく� さい。
-
[Danger Zone] の下で、可視性の設定を選択します。
- あらゆる人がコンテナイメージを表示できるようにするには、[Make public] をクリックします。
警告: いったんパッケージをパブリックにすると、プライベートに戻すことはできません。
- 指定したユーザ� けがコンテナイメージを表示できるようにするには、[**Make private**] をクリックします。 ![コンテナ可視性のオプション](/assets/images/help/package-registry/container-visibility-option.png) - あらゆる人がコンテナイメージを表示できるようにするには、[Make public] をクリックします。