代码库概览

借助 Artifact Registry,您可以存储不同的制品类型;在单个项目中创建多个制品库,并将某个特定区域位置与每个制品库相关联。本页面介绍了可帮助您规划代码库位置和组织的注意事项。

在创建代码库时,请考虑创建工件的内部过程和工件消费者的使用情况。

代码库格式

每个代码库都与特定的制品格式相关联。例如,Docker 代码库用于存储 Docker 映像。您可以在同一 Cloud de Confiance 项目中为每种格式创建多个代码库。

代码库模式

标准代码库

标准制品库是用于存储私人工件的常规 Artifact Registry 制品库。您可以直接使用这些代码库上传和下载制品,并使用 Artifact Analysis 扫描漏洞和其他元数据。

如需创建标准代码库,请按照创建标准代码库中的步骤操作。

代码库位置

您可以在受支持的区域中创建一个或多个代码库。良好的代码库位置可以让数据使用者在延迟、可用性和带宽费用之间取得平衡。您的组织可能还有特定的合规性要求。

项目结构

在多项目组织中设置代码库有两种常规方法。

集中管理代码库

在一个项目中创建所有代码库,然后在代码库级层向其他项目中的正文授予访问权限。如果组织中只有一个人或一个团队负责代码库管理和代码库访问权限,这种方法可能更有效。

此外,由于您只需启用和管理一个 Artifact Registry 实例,因此还可以简化虚拟代码库的设置。

项目专用代码库

在用于存储和下载制品的项目中创建制品库。如果您有数据治理政策或信任边界,需要更精细地在项目级分离和控制资源,则可能需要采用此方法。

访问权限控制

除非您将代码库配置为公开访问,否则只有拥有相应权限的用户才能访问代码库。您可以在项目或代码库级层授予权限。

部分 Cloud de Confiance 服务使用具有对同一 Cloud de Confiance 项目中的代码库的默认权限的默认服务账号。不过,这些默认设置可能不适合您的软件开发流程,或者可能不符合您组织中的安全或政策要求。如果出现以下情况,您的代码库管理员必须明确授予这些服务对代码库的访问权限:

  • Artifact Registry 与与之互动的服务位于不同的项目中。
  • 您使用的是具有默认服务账号的自定义 IAM 角色,而不是预定义角色。
  • 您未为 Cloud de Confiance服务使用默认服务账号。

对于需要访问代码库的其他正文,您的代码库管理员必须授予访问权限。遵循最小权限安全原则,仅授予所需的最低权限。例如:

  • 您将 Artifact Registry 中的容器映像部署到多个不同项目中的 GKE 集群。这些集群中节点的相应服务账号只需要对代码库的读取权限。
  • 您有一个用于开发中应用的开发代码库,以及一个用于已发布应用的正式版代码库。 开发者需要对开发代码库具有读写权限,对生产代码库具有只读权限。
  • 您有一个包含示例应用的演示代码库。您的销售团队只需拥有只读权限即可下载演示。

数据加密

如果您有与保护数据的密钥相关的特定合规性或监管要求,则可以创建使用客户管理的加密密钥 (CMEK) 加密的代码库。

Artifact Registry 还支持组织政策限制条件,这些限制条件可以要求使用 CMEK 来保护资源。

标签

标签提供了一种整理特定于某项服务的资源的方式。 Cloud de Confiance在 Artifact Registry 中,您可以向代码库添加标签,以便将它们分组在一起或按标签过滤代码库列表。例如,您可以使用标签按开发阶段或团队对代码库进行分组,以实现自动化或结算。如需详细了解如何创建和使用代码库标签,请参阅为代码库添加标签

后续步骤