具有精细权限的包仅限于个人用户或组织帐户。 您可以从与包相连(或链接)的仓库分别更改包的访问控制和可见性。
目前,您只能对 Container registry 使用粒度权限。 粒度权限不支持我们的其他软件包注册表,如 npm 注册表。
有关仓库作用域的包、与包相关的 PAT 作用域或管理操作工作流程的权限的更多信息,请参阅“关于 GitHub Packages 的权限”。
容器� 像的可见性和访问权限
如果您对容器� 像具有管理员权限,可以将容器� 像的访问权限设置为私有或公有。 公有� 像允许匿名访问,� 需身份验证或通过 CLI 登录即可进行拉取。
作为管理员,您还可以授予容器� 像的访问权限,该权限与在组织和仓库级别设置的权限不同。
对于由个人帐户发布和拥有的容器� 像,您可以向任何人授予访问角色。 对于组织发布和拥有的容器� 像,您可以为组织中的任何人或团队授予访问角色。
权限 | 访问描述 |
---|---|
读取 | 可以下载包。 可以读取包元数据。 |
写入 | 可以上� 和下载此包。 可以读取和写入包元数据。 |
管理员 | 可以上� 、下载、� 除和管理此包。 可以读取和写入包元数据。 可以授予包权限。 |
为个人帐户配置对容器� 像的访问
如果您对个人帐户拥有的容器� 像具有管理员权限,您可以向其他用户分配读取、写入或管理员角色。 有关这些权限角色的更多信息,请参阅“容器� 像的可见性和访问权限”。
如果您的软件包是私人或内部的并且由组织拥有,则您只能向其他组织成员或团队授予访问。
- 搜索并选择您的包。
- 在包登录页的右上角,单击 Package settings(包设置)。
- 在软件包设置页面上,单击 Invite teams or people(邀请团队或人员),然后输入名称、用户名或您想要授予访问权限的人员的电子邮件地址。 不能授予团队访问个人帐户拥有的容器� 像。
- 在用户名或团队名称旁边,使用“Role(角色)”下拉菜单选择所需的权限级别。
所选用户将自动被授予访问权限,不需要先接受邀请。
为企业配置对容器� 像的访问
如果您对组织拥有的容器� 像具有管理员权限,您可以向其他用户和团队分配读取、写入或管理员角色。 有关这些权限角色的更多信息,请参阅“容器� 像的可见性和访问权限”。
如果您的软件包是私人或内部的并且由组织拥有,则您只能向其他组织成员或团队授予访问。
-
在 GitHub 上,导航到组织的主页面。
-
在组织名称下,单击 Packages(包)。
-
搜索并选择您的包。
-
在包登录页的右上角,单击 Package settings(包设置)。
-
在软件包设置页面上,单击 Invite teams or people(邀请团队或人员),然后输入名称、用户名或您想要授予访问权限的人员的电子邮件地址。 您还可以从组织输入团队名称,以允许所有团队成员访问。
-
在用户名或团队名称旁边,使用“Role(角色)”下拉菜单选择所需的权限级别。
所选用户或团队将自动被授予访问权限,不需要先接受邀请。
从仓库继承容器� 像的访问权限
要通过 GitHub Actions 工作流程简化包管理,您可以让容器� 像默认继承仓库的访问权限。
如果您继承了存储包工作流程的仓库的访问权限,则可以通过仓库的权限调整对包的访问权限。
仓库一旦同步,您就� 法访问包的精细访问设置。 要通过精细的包访问设置自定义包的权限,您必须先� 除同步的仓库。
-
在 GitHub 上,导航到组织的主页面。
-
在组织名称下,单击 Packages(包)。
-
搜索并选择您的包。
-
在包登录页的右上角,单击 Package settings(包设置)。
-
在“Repository source(仓库来源)”下,选择 Inherit access from repository (recommended)(从仓库继承访问权限 [推荐])。
确保工作流程访问您的包
为确保 GitHub Actions 工作流程能访问您的包,您必须授予存储工作流程的仓库以明确的访问权限。
指定的仓库不需要是保存包源代� �的仓库。 您可以授予多个仓库工作流程对包的访问权限。
注意:通过 Actions access(操作访问)菜单选项同步容器� 像与仓库不同于将容器连接到仓库。 有关将仓库链接到容器的更多信息,请参阅“将仓库连接到包”。
用户帐户拥有的容器� 像的 GitHub Actions 访问权限
- 搜索并选择您的包。
- 在包登录页的右上角,单击 Package settings(包设置)。
- 在左侧边� �中,单击 Actions access(操作访问)。
- 为确保工作流程有权访问容器包,您必须添� 存储工作流程的仓库。 单击 Add repository(添� 仓库)并搜索要添� 的仓库。
- (使用“role(角色)”下拉菜单,选择您希望仓库访问您的容器� 像所必须拥有的默认访问权限。
要进一步自定义对容器� 像的访问,请参阅“配置对个人帐户的容器� 像的访问”。
组织拥有的容器� 像的 GitHub Actions 访问权限
-
在 GitHub 上,导航到组织的主页面。
-
在组织名称下,单击 Packages(包)。
-
搜索并选择您的包。
-
在包登录页的右上角,单击 Package settings(包设置)。
-
在左侧边� �中,单击 Actions access(操作访问)。
-
单击 Add repository(添� 仓库)并搜索要添� 的仓库。
-
使用“role(角色)”下拉菜单,选择您希望仓库成员访问您的容器� 像所必须拥有的默认访问权限。 外部协作者将不包括在内。
要进一步自定义对容器� 像的访问,请参阅“配置对组织的容器� 像的访问”。
为个人帐户配置容器� 像的可见性
首次发布包时,默认可见性是私有的,只有您才能看到包。 您可以通过更改访问设置来修改私有或公共容器� 像的访问权限。
公共包可以匿名访问,� 需身份验证。 包一旦被设为公共,便� 法再次将其设为私有。
-
搜索并选择您的包。
-
在包登录页的右上角,单击 Package settings(包设置)。
-
在“Danger Zone(危险区域)”下,选择可见性设置:
- 要使容器� 像对任何人都可见,请单击“Make public(设为公共)”。
警告:包一旦被设为公共,便� 法再次将其设为私有。
- 要使容器� 像只对选择的人员可见,请单击“**Make private(设为私有)**”。 ![容器可见性选项](/assets/images/help/package-registry/container-visibility-option.png) - 要使容器� 像对任何人都可见,请单击“Make public(设为公共)”。
组织成员的容器创建可见性
您可以选择组织成员默认可以发布的容器的可见性。
- 在 GitHub Enterprise Server 的右上角,单击您的头像,然后单击 Your organizations(您的组织)。
- 在组织旁边,单击 Settings(设置)。
- 在左侧,单击 Packages(包)。
- 在“Container creation(容器创建)”下,选择是要启用公共、私有或内部容器� 像。
- 要让组织成员创建公共容器� 像,请单击 Public(公共)。
- 要让组织成员创建只对其他组织成员可见的私有容器� 像,请单击 Private(私有)。 您可以进一步自定义私有容器� 像的可见性。
- 要使组织成员能够创建对所有组织成员可见的内部容器� 像,请单击 Internal(内部)。 如果组织属于企业,则容器� 像将对所有企业成员可见。
为组织配置容器� 像的可见性
首次发布包时,默认可见性是私有的,只有您才能看到包。 您可以通过访问设置授予用户或团队对容器� 像的不同访问角色。
公共包可以匿名访问,� 需身份验证。 包一旦被设为公共,便� 法再次将其设为私有。
-
在 GitHub 上,导航到组织的主页面。
-
在组织名称下,单击 Packages(包)。
-
搜索并选择您的包。
-
在包登录页的右上角,单击 Package settings(包设置)。
-
在“Danger Zone(危险区域)”下,选择可见性设置:
- 要使容器� 像对任何人都可见,请单击“Make public(设为公共)”。
警告:包一旦被设为公共,便� 法再次将其设为私有。
- 要使容器� 像只对选择的人员可见,请单击“**Make private(设为私有)**”。 ![容器可见性选项](/assets/images/help/package-registry/container-visibility-option.png) - 要使容器� 像对任何人都可见,请单击“Make public(设为公共)”。