繁体   English   中英

在不同的 GCP 项目中使用工件注册表时,GCP 工件注册表找不到满足要求的版本

[英]GCP artifact registry cannot find a version that satisfies the requirement when using artifact registry in different GCP project

我正在尝试将自定义包添加到 GCP 上的云功能,我拥有正确的权限,并且可以在同一个 GCP 项目中按照本教程导入包。

即使我手动将角色: Artifact Registry Reader添加到部署云功能的服务帐户,我也无法从外部 GCP 项目添加工件。

我还在谷歌云平台问题跟踪器上发布了一个问题

在调查和回答这个问题时,我用我的发现更新了 Google 问题跟踪器

我将在下面对该答案进行简短总结,但请参阅我的答案以获取更多详细信息。

概括

因此,总而言之,对存储库的第一次身份验证是使用您使用的任何 SA 完成的。
很愚蠢的是,下载本身是使用您正在部署 Cloud Function 的项目中的 Cloud Build 的内置 SA 完成的。 恕我直言,这应该由与第一个相同的 SA 完成。

请注意,Cloud Build 内置 SA 的格式为<PROJECT-NUMBER>@cloudbuild.gserviceaccount.com

根据官方文档,我相信这可以按预期工作。

如果 Cloud Functions 和 Artifact Registry 位于不同的项目中,您必须授予对 Cloud Build 服务帐号的存储库访问权限。

Artifact Registry 角色需要授予Cloud Build 服务帐户,而不是 Cloud Functions SA。

我知道这不是最直观的事情:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM