You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Lighthouse委托订阅:如何不加入客户租户添加服务商用户到AKS集群?

解决Azure Lighthouse服务商用户访问AKS集群内资源的问题

以下是几种无需将服务商用户加入客户租户,就能访问委托订阅中AKS集群内资源的可行方案:

1. 跨租户Azure AD服务主体方案

在服务商租户创建服务主体,通过Azure Lighthouse赋予其客户AKS订阅的权限,再在AKS中绑定Kubernetes角色:

  • 第一步:在服务商租户创建Azure AD应用(服务主体),记录其Object ID。
  • 第二步:通过Azure Lighthouse,在客户租户的目标订阅中,给该服务主体分配Azure Kubernetes Service Cluster User Role或Azure Kubernetes Service Cluster Admin Role权限。
  • 第三步:在AKS集群中创建角色绑定,示例命令:
    # 绑定服务主体到cluster-admin角色(按需调整为其他Kubernetes角色)
    kubectl create clusterrolebinding sp-cluster-access --clusterrole=cluster-admin --user="oid:<服务商服务主体Object ID>"
    
  • 服务商用户可以通过Azure CLI以该服务主体身份认证,或配置凭据后访问AKS集群。

2. 跨租户Azure AD安全组方案

用服务商租户的AD组统一管理访问权限,AKS支持跨租户AD组身份验证:

  • 第一步:在服务商租户创建Azure AD安全组,将需要访问AKS的用户加入组,记录组的Object ID。
  • 第二步:通过Azure Lighthouse,在客户租户的AKS订阅中,给这个跨租户组分配AKS集群的访问权限(如上述的Cluster User/Admin Role)。
  • 第三步:在AKS集群中创建角色绑定,示例命令:
    # 绑定跨租户AD组到指定Kubernetes角色
    kubectl create clusterrolebinding ad-group-cluster-access --clusterrole=cluster-admin --group="<服务商AD组Object ID>"
    
  • 服务商用户登录自己的租户账号后,切换到客户订阅上下文,执行az aks get-credentials获取集群凭据,即可直接用kubectl操作集群内资源。

3. Azure AD工作负载身份(适合自动化场景)

如果是自动化工具或应用需要访问AKS,可通过工作负载身份实现跨租户认证:

  • 在客户租户的AKS集群中启用工作负载身份功能。
  • 建立服务商租户服务主体与AKS中服务账号的信任关系,配置对应的角色绑定。
  • 这种方式完全基于Azure AD的跨租户身份信任,无需在客户租户内创建额外身份,适合CI/CD流水线等自动化场景。

注意事项

  • 配置角色绑定时必须使用身份的Object ID,避免跨租户名称冲突导致认证失败。
  • 服务商用户操作前需确保已切换到客户租户的订阅上下文:az account set --subscription <客户订阅ID>。
  • 确认Azure Lighthouse的委托权限已正确覆盖AKS集群所在的资源组或订阅。

内容的提问来源于stack exchange,提问作者Jitu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 07:35:21