0

我已经生成了访问令牌并放置在下面提到的挂载路径中,并且在对检索秘密端点发出请求时,该令牌需要包含在 Authorization 标头中。

我们如何在 yaml 脚本中实现它

volumeMounts:
  - mountPath: /run/test
    name: conjur-access-token
    readOnly: true
4

2 回答 2

1

这个问题是指 Cyber​​Ark 的Conjur Secrets ManagerKubernetes 验证器。它使用 sidecar 身份验证器客户端来保持 Conjur API 的经过身份验证的会话令牌在共享卷挂载中刷新,并在 Kubernetes pod 中运行应用程序容器。这允许应用程序容器通过单个 API 调用从 Conjur API 请求即时 (JiT) 秘密值。

有一个文件位于/run/test/conjur-access-token(根据您提供的清单片段),其中包含用于连接到 Conjur API 的经过身份验证的会话令牌。您的应用程序容器需​​要在 Authorization 标头中读取/run/test/conjur-access-token并使用它作为基于 Token 的授权。要使用curl,这看起来像:

curl -H "Authorization: Token token='$(cat /run/test/conjur-access-token)'" https://conjur.example.com/secrets/myorg/variable/prod%2Fdb%2Fpassword

在哪里:

  • /run/test/conjur-access-token是应用程序容器和 sidecar Kubernetes 身份验证器客户端的共享卷挂载的路径。
  • conjur.example.com是您的 Conjur Follower 在 Kubernetes 集群(或外部,如果这是部署方法)中的基本 URL。
  • myorg是在 Conjur 部署和配置时配置的组织帐户。
  • prod%2Fdb%2Fpassword是 Conjur 中的 URLified 秘密变量路径。这将被引用,prod/db/password但由于正斜杠是 URL/URI 的一部分,我们需要这个 URLified to %2F
于 2022-01-05T18:07:00.337 回答
0

如果在挂载路径中包含您的令牌的文件被调用token,那么您可以简单地执行(假设您使用 curl):

curl -H "Authorization: Bearer $(cat /run/test/token)" ...
于 2021-11-25T20:30:10.433 回答