Secrets Manager Kubernetes Operator
对应的官方文档地址
Bitwarden Secrets Manager Helm 集成目前处于 Beta 状态。某些功能目前可能无法提供完整功能。
Bitwarden Secrets Manager Kubernetes Operator 允许团队安全高效地将 Secrets Manager 集成到 Kubernetes 工作流中。使用 Helm 包管理器部署的 operator,可以从 Secrets Manager 中存储和检索机密。
sm-operator
使用控制器将 Bitwarden 机密同步到 Kubernetes 机密中。operator 将 Custom Resource Definition: BitwardenSecret
注册到 Kubernetes 集群中。集群将侦听新注册的 BitwardenSecret
,并按可配置的时间间隔进行同步。
要求
首先,需要一个具有 Secrets Manager 的活动 Bitwarden 组织。此外,还需要一个或多个与机器账户关联的访问令牌。
额外的依赖
将存储库添加到 Helm
添加 Bitwarden Secrets Manager 图表存储库:
更新本地可用图表的信息:
安装
创建配置文件
创建用于部署的自定义值文件:
更新配置文件
定位到 my-values.yaml
并填写所需的值。Bitwarden 存储库中提供了一个示例。我们建议根据您的设置调整以下值:
值 | 描述 |
---|---|
| 机密同步的频率(以秒为单位)。最小值为 180。 |
| |
| 仅适用于自托管用户。这是您的实例 API 的 URL。 |
| 仅适用于自托管用户。这是您的实例的身份服务的 URL。 |
| 设置为 |
要使用与图表中包含的版本不同的操作映像版本,请更新:
containers.manager.image.tag
.
升级 Helm 图表
配置 values.yaml
文件后,通过运行以下命令将版本升级到新图表:
此命令在命名空间 sm-operator-system
中安装或升级名为 sm-operator
的版本,其值来自 my-values.yaml
。
要查看 helm install
或 helm upgrade
命令的信息,请运行 helm install --help
或 helm upgrade --help
。
创建 Bitwarden 机密
要将存储在 Bitwarden Secrets Manager 中的机密同步到 Kubernetes 机密中,我们必须创建一个 BitwardenSecret 对象。
创建 Kubernetes 机密以使用 Secrets Manager 进行身份验证:
该命令记录在您的 shell 历史记录中。为了避免暴露访问令牌数据,请考虑使用临时管道代理进行部署。
部署 BitwardenSecret
BitwardenSecret
对象是同步设置,operator 将使用它来创建和同步 Kubernetes 机密。 Kubernetes 机密属于命名空间,并将被注入 Secrets Manager 机器账户有权访问的数据。
使用自定义映射的 BitwardenSecret 部署示例:
在 BitwardenSecret 部署示例中, custom map
元素是可选的。
设置 | 描述 |
---|---|
| 您正在部署的 BitwardenSecret 对象的名称。 |
| 您从中提取 Secrets Manager 数据的 Bitwarden 组织 ID。 |
| 将创建并注入 Secrets Manager 数据的 Kubernetes 机密的名称。 |
| BitwardenSecrets 对象部署到的 Kubernetes 命名空间内的机密名称,其中包含跨机密使用的 Secrets Manager 机器账户授权令牌。 |
Secrets Manager 不保证跨工程机密名称的唯一性。默认情况下,将使用作为密钥使用的 Secrets Manager 机密 UUID 来创建机密。
为了使生成的机密更易于使用,您可以创建 Bitwarden Secrets ID 到 Kubernetes 机密密钥的映射。生成的机密将用您提供的映射名称替换 Bitwarden 机密 ID。
Available map settings: 可用的图标设置:
设置 | 描述 |
---|---|
| 这是 Secrets Manager 中机密的 UUID(通用唯一标识符)。这可以在 Secrets Manager Web 门户中的机密名称下或使用 Bitwarden Secrets Manager CLI 找到。 |
| Kubernetes 机密中生成的密钥替换了 UUID。 |
图表使用示例
最后更新于