在创建代码库时,请考虑创建工件的内部过程和工件消费者的使用情况。
代码库格式
每个代码库都与特定的工件 格式相关联。例如,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 集群。这些集群中节点的服务帐号只需要对代码库具有读取权限。
- 您有一个用于开发中的应用的开发代码库,以及一个用于已发布的应用的生产代码库。 开发者需要对开发代码库具有读取和写入权限,对生产代码库具有只读权限。
- 您有一个包含示例应用的演示代码库。您的销售团队只需要具有只读权限即可下载演示。
数据加密
默认情况下,会自动使用由 Google Cloud 提供支持的 Google 拥有和管理的加密密钥加密静态数据。 如果您有与保护数据的密钥相关的特定合规性或监管 要求,则可以创建使用客户管理的加密密钥 (CMEK) 加密的代码库。Artifact Registry 还支持 组织政策限制条件 ,这些限制条件可以要求 CMEK 保护资源。
标签
标签提供了一种整理特定于 Cloud de Confiance 服务的资源的方式。在 Artifact Registry 中,您可以向代码库添加标签,以便将它们分组在一起或按标签过滤代码库列表。例如,您可以按开发阶段或团队对代码库进行分组,以实现自动化或结算。如需详细了解如何创建和使用 代码库标签,请参阅为代码库添加标签。