GCP - Artifact Registry Enum
Last updated
Last updated
学习与实践 AWS 黑客技术:HackTricks 培训 AWS 红队专家 (ARTE) 学习与实践 GCP 黑客技术:HackTricks 培训 GCP 红队专家 (GRTE)
Google Cloud Artifact Registry 是一个完全托管的服务,允许您管理、存储和保护您的软件工件。它本质上是一个存储构建依赖项的仓库,例如Docker 镜像、Maven、npm 包和其他类型的工件。它通常用于 CI/CD 管道中,存储和版本控制在软件开发过程中生成的工件。
Artifact Registry 的主要功能包括:
统一仓库:它支持多种类型的工件,允许您拥有一个用于 Docker 镜像、语言包(如 Java 的 Maven、Node.js 的 npm)和其他类型工件的单一仓库,从而实现一致的访问控制和对所有工件的统一视图。
完全托管:作为一个托管服务,它处理底层基础设施、扩展和安全性,减少用户的维护开销。
细粒度访问控制:它与 Google Cloud 的身份和访问管理(IAM)集成,允许您定义谁可以访问、上传或下载您仓库中的工件。
地理复制:它支持在多个区域之间复制工件,提高下载速度并确保可用性。
与 Google Cloud 服务的集成:它与其他 GCP 服务如 Cloud Build、Kubernetes Engine 和 Compute Engine无缝协作,使其成为已经在 Google Cloud 生态系统中工作的团队的便捷选择。
安全性:提供漏洞扫描和容器分析等功能,以帮助确保存储的工件是安全的,并且没有已知的安全问题。
创建新仓库时,可以在多个格式/类型中选择仓库的格式/类型,如 Docker、Maven、npm、Python...,以及通常可以是以下三种模式之一:
标准仓库:用于直接在 GCP 中存储您自己的工件(如 Docker 镜像、Maven 包)的默认模式。它安全、可扩展,并且与 Google Cloud 生态系统良好集成。
远程仓库(如果可用):作为缓存来自外部公共仓库的工件的代理。它有助于防止上游依赖项变化带来的问题,并通过缓存频繁访问的工件来减少延迟。
虚拟仓库(如果可用):提供一个统一接口,通过单一端点访问多个(标准或远程)仓库,简化客户端配置和跨多个仓库的工件访问管理。
对于虚拟仓库,您需要选择仓库并给予优先级(优先级最高的仓库将被使用)。
您可以在虚拟仓库中混合远程和标准仓库,如果远程的优先级大于标准,将使用远程的包(例如 PyPi)。这可能导致依赖混淆。
请注意,在Docker 的远程版本中,可以提供用户名和令牌以访问 Docker Hub。令牌将存储在秘密管理器中。
如预期的那样,默认使用 Google 管理的密钥,但可以指示客户管理的密钥(CMEK)。
删除工件:工件将根据清理策略标准被删除。
干运行:(默认)工件将不会被删除。清理策略将被评估,并将测试删除事件发送到 Cloud Audit Logging。
可以启用漏洞扫描仪,它将检查容器镜像中的漏洞。
学习与实践 AWS 黑客技术:HackTricks 培训 AWS 红队专家 (ARTE) 学习与实践 GCP 黑客技术:HackTricks 培训 GCP 红队专家 (GRTE)