如何解决PROJECT_ID env 和 Secret Manager 访问
我想在云构建步骤中使用 Secret Manager 将凭证存储到我们的工件中。我使用类似于以下内容的构建工作:
steps:
- name: 'busybox:glibc'
entrypoint: 'sh'
args: ['-c','env']
secretEnv: ['SECRET_VALUE']
availableSecrets:
secretManager:
- versionName: "projects/PROJECT_ID/secrets/TEST-SECRET/versions/1"
env: 'SECRET_VALUE'
一切都很好,没有问题 - 然后我尝试稍微改进它:
steps:
- name: 'busybox:glibc'
entrypoint: 'sh'
args: ['-c','env']
secretEnv: ['SECRET_VALUE']
availableSecrets:
secretManager:
- versionName: "projects/$PROJECT_ID/secrets/TEST-SECRET/versions/1"
env: 'SECRET_VALUE'
然后它抛出错误:
ERROR: (gcloud.builds.submit) INVALID_ARGUMENT: failed to get secret name from secret version "projects/$PROJECT_ID/secrets/TEST-SECRET/versions/1"
我已经能够添加一个 TRIGGER 级别的 env var (SECRET_MANAGER_PROJECT_ID),而且效果很好。唯一的问题是因为这是一个触发器环境,它在重建时不可用,这会破坏很多东西。
有谁知道如何在不使用触发器参数的情况下从 CloudBuild 中获取 Secret Manager 的 PROJECT_ID?
解决方法
目前,无法在秘密字段中设置动态值。我已经直接将此反馈提供给了 Google Cloud PM,它已被考虑在内,但我没有更多信息可以分享,尤其是可用性方面。
,改用 $PROJECT_NUMBER
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。