我已经生成了访问令牌并放置在下面提到的挂载路径中,并且在对检索秘密端点发出请求时,该令牌需要包含在 Authorization 标头中。
我们如何在 yaml 脚本中实现它
volumeMounts:
- mountPath: /run/test
name: conjur-access-token
readOnly: true
我已经生成了访问令牌并放置在下面提到的挂载路径中,并且在对检索秘密端点发出请求时,该令牌需要包含在 Authorization 标头中。
我们如何在 yaml 脚本中实现它
volumeMounts:
- mountPath: /run/test
name: conjur-access-token
readOnly: true
这个问题是指 CyberArk 的Conjur Secrets Manager的Kubernetes 验证器。它使用 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
。如果在挂载路径中包含您的令牌的文件被调用token
,那么您可以简单地执行(假设您使用 curl):
curl -H "Authorization: Bearer $(cat /run/test/token)" ...