如何创建令牌以从 Artifact Registry 中提取单个容器?

How to create a token to pull a single container from Artifact Registry?

如何生成短期令牌以从 Google 的 Artifact Registry 中提取单个 Docker 容器(最好使用节点 API 生成令牌)?如何使用令牌拉取容器(例如从 Bash 命令行)?

How to create a token to pull a single container from Artifact Registry?

你无法在 Google 云中实现。

在 Google Cloud 中,权限在项目级别(特定类型的所有资源)或单个资源级别进行管理。

您可以创建短期令牌。 Google Cloud 实施 OAuth 2.0 访问和身份令牌,默认有效期为一小时。这可以通过 ORG 政策更改长达 12 小时。要创建具有不同生命周期的令牌,需要创建您自己的 JWT 并使用服务帐户私钥进行签名,然后将已签名的 JWT 交换为 OAuth 令牌。相当容易做到,我在我的网站上写了关于如何做到这一点的文章。

Google Artifact Registry 不支持资源(对象、图像、容器等)级别的 IAM 权限。这意味着您不能为单个资源(例如容器映像)创建具有权限的令牌。

您可以使用单个容器映像创建单个存储库,然后仅授予对该存储库的访问权限。