因此,我正在尝试使用AAD Pod Identity将KeyVault与现有的AKS群集集成。
我一直密切关注documentation for integrating it into the cluster,但是由于某些原因,当我尝试从具有aadboundidentity
的吊舱中访问密钥库时得到403。
我的集群具有RBAC,因此我将AAD Pod Github中的yaml用于RBAC。
这是我的aadpodidentity.yml
的样子:
apiVersion: "aadpodidentity.k8s.io/v1"
kind: AzureIdentity
metadata:
name: aks-kv-identity
spec:
type: 0
ResourceID: <full-resource-id-of-managed-id>
ClientID: <client-id-of-aks-cluster-sp>
我的aadpodidentitybinding.yaml
如下:
apiVersion: "aadpodidentity.k8s.io/v1"
kind: AzureIdentityBinding
metadata:
name: azure-identity-binding
spec:
AzureIdentity: aks-kv-identity
Selector: kv_selector
我想绑定到的吊舱Yaml:
apiVersion: apps/v1
kind: Deployment
metadata:
name: data-access
labels:
app: data-access
spec:
replicas: 1
selector:
matchLabels:
app: data-access
template:
metadata:
labels:
app: data-access
aadpodidbinding: kv_selector
spec:
containers:
- name: data-access
image: data-access:2020.02.22.0121
ports:
- containerPort: 80
我的AKS SP还具有分配给Key Vault的“读取者”角色
答案 0 :(得分:0)
我能够解决我的问题。
这是我解决的方法:
aadpodidentitybinding.yml
中,我正在使用AKS的clientId
我需要使用托管身份的客户端ID时为SP。 This article实际上非常有帮助。我只是按照这里的步骤进行,所以效果很好。
注意:我在具有AKS群集的资源组中添加了我的受管身份,而不是AKS群集(即以MC_开头的资源)的资源组。