禁止AKS AAD Pod身份投掷(403)

时间:2020-02-27 17:21:16

标签: azure-aks

[已解决]请在下面查看我的答案。

因此,我正在尝试使用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的“读取者”角色

1 个答案:

答案 0 :(得分:0)

我能够解决我的问题。

这是我解决的方法:

  1. aadpodidentitybinding.yml中,我正在使用AKS的clientId 我需要使用托管身份的客户端ID时为SP。
  2. 我需要确保我的受管身份在我中具有读者角色 资源组
  3. 我需要为中的托管身份分配正确的策略 密钥库

This article实际上非常有帮助。我只是按照这里的步骤进行,所以效果很好。

注意:我在具有AKS群集的资源组中添加了我的受管身份,而不是AKS群集(即以MC_开头的资源)的资源组。

相关问题