【问题标题】:AKS AAD Pod Identity Throwing Forbidden (403)禁止 AKS AAD Pod 身份投掷 (403)
【发布时间】:2020-02-27 17:21:16
【问题描述】:

[已解决] 请参阅下面的答案。

因此,我尝试使用 AAD Pod 身份将 KeyVault 与现有 AKS 群集集成。

我密切关注documentation for integrating it into the cluster,但由于某种原因,我在尝试从具有aadboundidentity 的 pod 访问密钥库时收到 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

我要绑定的 pod 的 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 的“读者”角色

【问题讨论】:

  • 如果您解决了问题,建议您添加答案以显示解决方案,而不仅仅是在问题中编辑。

标签: azure-aks


【解决方案1】:

我能够解决我的问题。

我就是这样解决的:

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

This article 实际上非常有帮助。我只是按照此处的步骤操作,并且效果很好。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-27
    • 1970-01-01
    • 1970-01-01
    • 2021-06-25
    • 2015-12-02
    • 1970-01-01
    • 2015-09-18
    相关资源
    最近更新 更多