Kubernetes 服务的通用 Vault 策略
Generic Vault Policy for Kubernetes Services
我试图实现一个通用规则,允许每个 Kubernetes 服务访问它自己的路径。这是我试过的:
path "secret/services/k8s/{{identity.entity.metadata.metadata.service_account_namespace}}/{{identity.entity.metadata.metadata.service_account_name}}/*" {
capabilities = ["read"]
}
但这行不通 - 有人设法编写了这样一个有效的通用策略吗?
到目前为止我尝试了什么?
- 同时使用实体元数据和 Kubernetes 访问器
- 通过检查它的令牌确保我使用的是正确的服务帐户
- 检查静态路径(用实际值替换模板)- 有效
花了一些时间,我找到了答案:
path "kv-v2/data/kubernetes/{{identity.entity.aliases.<kubernetes auth accessor>.metadata.service_account_namespace}}/{{identity.entity.aliases.<kubernetes auth accessor>.metadata.service_account_name}}" {
capabilities = ["read"]
}
要查找访问器,请使用 vault auth list -detailed
我试图实现一个通用规则,允许每个 Kubernetes 服务访问它自己的路径。这是我试过的:
path "secret/services/k8s/{{identity.entity.metadata.metadata.service_account_namespace}}/{{identity.entity.metadata.metadata.service_account_name}}/*" {
capabilities = ["read"]
}
但这行不通 - 有人设法编写了这样一个有效的通用策略吗?
到目前为止我尝试了什么?
- 同时使用实体元数据和 Kubernetes 访问器
- 通过检查它的令牌确保我使用的是正确的服务帐户
- 检查静态路径(用实际值替换模板)- 有效
花了一些时间,我找到了答案:
path "kv-v2/data/kubernetes/{{identity.entity.aliases.<kubernetes auth accessor>.metadata.service_account_namespace}}/{{identity.entity.aliases.<kubernetes auth accessor>.metadata.service_account_name}}" {
capabilities = ["read"]
}
要查找访问器,请使用 vault auth list -detailed