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 存储库中提供了一个示例。我们建议根据您的设置调整以下值:
settings.bwSecretsManagerRefreshInterval
机密同步的频率(以秒为单位)。最小值为 180。
settings.cloudRegion
自托管用户设置为 US
或 EU
云区域以用于同步。有关更多信息,请参阅启用云通信。
settings.bwApiUrlOverride
仅适用于自托管用户。这是您的实例 API 的 URL。
settings.bwIdentityUrlOverride
仅适用于自托管用户。这是您的实例的身份服务的 URL。
containers.enableSeccompProfileRuntimeDefault
设置为 false
以在较旧的 Kubernetes 版本 (< 1.19) 或默认情况下不支持此字段的供应商版本(例如 OpenShift < 4.11)上工作。
对于不需要升级权限来限制容器的大多数常见情况,建议使用此设置。有关更多信息,请参阅 Kubernetes 文档。
要使用与图表中包含的版本不同的操作映像版本,请更新:
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
元素是可选的。
metadata.name
您正在部署的 BitwardenSecret 对象的名称。
spec.organizationId
您从中提取 Secrets Manager 数据的 Bitwarden 组织 ID。
spec.secretName
将创建并注入 Secrets Manager 数据的 Kubernetes 机密的名称。
spec.authToken
BitwardenSecrets 对象部署到的 Kubernetes 命名空间内的机密名称,其中包含跨机密使用的 Secrets Manager 机器账户授权令牌。
Secrets Manager 不保证跨工程机密名称的唯一性。默认情况下,将使用作为密钥使用的 Secrets Manager 机密 UUID 来创建机密。
为了使生成的机密更易于使用,您可以创建 Bitwarden Secrets ID 到 Kubernetes 机密密钥的映射。生成的机密将用您提供的映射名称替换 Bitwarden 机密 ID。
Available map settings: 可用的图标设置:
bwSecretId
这是 Secrets Manager 中机密的 UUID(通用唯一标识符)。这可以在 Secrets Manager Web 门户中的机密名称下或使用 Bitwarden Secrets Manager CLI 找到。
secretKeyName
Kubernetes 机密中生成的密钥替换了 UUID。
图表使用示例
最后更新于