首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >‘aks创建’重用每个AKS集群的服务主体。安全吗?

‘aks创建’重用每个AKS集群的服务主体。安全吗?
EN

Stack Overflow用户
提问于 2019-12-11 10:41:58
回答 1查看 289关注 0票数 0

为多个AKS集群共享服务主体是否允许一个集群处理另一个AKS集群的资源?应该为每个AKS集群创建一个服务主体吗?,这种做法似乎受到Azure和Terraform等工具的鼓励。

长话短说:

我们需要为每个客户创建一个AKS集群,以确保另一个级别的数据隔离。具体来说,假设攻击者可以以某种方式侵入Pod、逃避Pod隔离、访问集群的Kubernetes API和集群的服务主体(SP),则表示攻击者不应该访问另一个集群的持久卷声明。

Azure只创建一个服务主体一次,并将其用于下一个集群(文档源代码):

当您使用az aks create命令自动生成服务主体时,服务主体凭据将被写入用于运行该命令的计算机上的文件~/..azure/aksServiceprial.json。

由于不确定集群的SP能(或应该)做多少,我发现以下信息相当混乱:

  1. 文件上说: 要与Azure API交互,AKS集群需要一个Azure (AD)服务主体。需要服务主体来动态创建和管理其他Azure资源,如Azure负载平衡器、或容器注册中心(ACR)。突出矿井

这意味着集群SP必须能够访问集群的资源组( RG ) --即集群创建的所有资源都位于其中的RG,而不是创建集群的RG。--这是糟糕的,因为它意味着在AKS集群之间共享SP需要said SP访问所有集群RGs。

  1. 后来的文件表明,没有任何作用的SP就足够了: az ad sp create-for-rbac --skip-assignment --name terraform-aks-ng-sp

我也可以通过从Cloud进行检查来确认这一点:

PS Azure:> z角色分配列表--受让人http://terraform-aks-ng-sp [] Azure:/ /

空列表显示SP没有角色。--这是(或者更确切地说是)好的,因为共享SP只能访问真正共享的资源(例如容器注册中心)。

  1. 然而,Azure门户表明SP确实可以访问集群的RG:

--这是个糟糕的,因为共享一个SP似乎意味着可以隐式地访问所有集群RGs。

更新:在AKS集群之间共享SP似乎甚至受到Terraform的鼓励。

EN

回答 1

Stack Overflow用户

发布于 2019-12-11 10:53:20

这里的问题在哪里?创建AKS时,只需为每个AKS指定特定的服务主体即可。您不应该使用Azure CLI创建资源,您应该使用某种工具(pulumi、ansible等)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59283942

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档