【问题标题】:How to create a token to pull a single container from Artifact Registry?如何创建令牌以从 Artifact Registry 中提取单个容器?
【发布时间】:2021-10-25 13:28:11
【问题描述】:
如何生成一个短期令牌以从 Google 的 Artifact Registry 中提取单个 Docker 容器(最好使用 Node API 来生成令牌)?如何使用令牌来拉取容器(例如从 Bash 命令行)?
【问题讨论】:
标签:
google-cloud-platform
google-container-registry
google-artifact-registry
【解决方案1】:
如何创建令牌以从 Artifact 中提取单个容器
注册表?
您无法在 Google Cloud 中实现这一目标。
在 GCP 中,权限在项目级别(特定类型的所有资源)或单个资源级别进行管理。
您可以创建短期令牌。 Google Cloud 实现了默认寿命为一小时的 OAuth 2.0 访问和身份令牌。这可以通过 ORG 政策更改长达 12 小时。要创建具有不同生命周期的令牌,需要创建自己的 JWT 并使用服务帐户私钥签名,然后将签名的 JWT 交换为 OAuth 令牌。相当容易做到,我在我的网站上写了关于如何做到这一点的文章。
Google Artifact Registry 不支持资源(对象、图像、容器等)级别的 IAM 权限。这意味着您无法创建对单个资源(例如容器映像)具有权限的令牌。
您可以使用单个容器映像创建一个存储库,然后仅授予对该存储库的访问权限。