gpt4 book ai didi

gcloud - 如何通过 gcloud cli args 或环境变量将 secretEnv 指定到 cloudbuild.yaml

转载 作者:行者123 更新时间:2023-12-04 00:01:57 25 4
gpt4 key购买 nike

如果我按照云构建 document ,我必须在 cloudbuild.yaml 上指定加密的 secret 。

secrets:
- kmsKeyName: projects/[PROJECT-ID]/locations/global/keyRings/[KEYRING-NAME]/cryptoKeys/[KEY-NAME]
secretEnv:
MY_SECRET: <base64-encoded encrypted secret>

即使它是加密的,我也不会在代码中提交 secret 值。请告诉我另一种方式。

前任。通过来自 gcloud 的 args 构建提交命令或环境变量等

最佳答案

您可以使用 Google Secret Manager反而。我们仍在更新文档,但有一个示例说明如何将其与 Cloud Build 结合使用:
首先,创建一个 secret :

$ echo -n "my-secret-data" | gcloud beta secrets create "my-api-key" \
--replication-policy "automatic" \
--data-file -
授予 Cloud Build 服务帐户访问您的 key 的权限:
$ gcloud beta secrets add-iam-policy-binding "my-api-key" \
--member "serviceAccount:<project-number>@cloudbuild.gserviceaccount.com" \
--role "roles/secretmanager.secretAccessor"
更新(2021 年 2 月)
然后在您的构建步骤中检索 secret :
steps:
- name: 'my-step'
args:
- '--secret=$$MY_SECRET'
secretEnv:
- 'MY_SECRET'

availableSecrets:
secretManager:
- env: 'MY_SECRET'
versionName: 'projects/my-project/secrets/my-secret/versions/latest'
旧答案(2021 年 2 月之前)
然后在您的构建步骤中检索 secret :
steps:
- name: 'gcr.io/cloud-builders/gcloud@sha256:c1dfa4702cae9416b28c45c9dcb7d48102043578d80bfdca57488f6179c2211b'
entrypoint: 'bash'
args:
- '-c'
- |
gcloud beta secrets versions access --secret=my-api-key latest > /secrets/my-api-key
volumes:
- name: 'secrets'
path: '/secrets'

- name: 'my-step'
volumes:
- name: 'secrets'
path: '/secrets'
args: # ... /secrets/my-api-key contains the secret

关于gcloud - 如何通过 gcloud cli args 或环境变量将 secretEnv 指定到 cloudbuild.yaml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60002762/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com