【问题标题】:Cannot source vault secrets using the built-in method in gilab-ci无法使用 gitlab-ci 中的内置方法获取 Vault 机密
【发布时间】:2022-05-01 00:32:55
【问题描述】:

我可以使用JWT auth方法获取token:

export VAULT_TOKEN=\
$(vault write -field=token auth/jwt/login role=$my_role_name jwt=$CI_JOB_JWT)

在执行上述操作后,我还可以使用vault kv get 获取变量。但是,我不能使用这里描述的 gitlab 的内置方法: https://docs.gitlab.com/ee/ci/secrets/index.html#use-vault-secrets-in-a-ci-job

test:
  stage: validate
  secrets:
    TESTSECRET:
      vault: gitlab-ci/TEST_SEC/value@$SECRET_MOUNT
  script:
    - echo $TESTSECRET

未返回错误,但未获取密钥。

在 CI 变量中我有:

  VAULT_SERVER_URL: "http://myvaultserver.myvaultdomain.net:8200"
  VAULT_AUTH_ROLE: "my_role_name"

我不确定 gitlab-ci 是否需要更多配置才能使此内置方法正常工作,因为 Vault CLI 方法(在 CI 作业中)可以正常工作。

【问题讨论】:

  • 如果您确信设置和配置正确,您可能需要为此提出问题。
  • 可能。他们的文档在内置方法上有点粗略,并且以某种方式他们将“/data”添加到每个保管库路径,即使初始设置没有提到路径中的“/data”字符串。

标签: gitlab-ci hashicorp-vault


【解决方案1】:

您是否尝试过直接在 vault 关键字中使用秘密挂载名称,而不是从变量 $SECRET_MOUNT 中读取它?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-11-04
    • 2021-04-13
    • 2016-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-11
    相关资源
    最近更新 更多