Azure 应创建/使用哪些角色来部署使用istio的服务?

Azure 应创建/使用哪些角色来部署使用istio的服务?,azure,kubernetes,istio,azure-aks,Azure,Kubernetes,Istio,Azure Aks,我正在构建一个支持istio的RBAC AKS集群。我已将集群管理员角色分配给我,并且我能够毫无问题地成功部署最小的istio服务(服务/部署/网关/虚拟服务) 我需要让组织内的团队访问AKS,因此我创建了一个名称空间,并在名称空间上为他们分配了管理员角色。k8s本机的一切(kubectl获取服务——命名空间团队)都工作得很好。但是,当他们部署相同的最小istio服务(service/Deployment/Gateway/VirtualService)时,他们遇到了一系列类似以下的错误: Err

我正在构建一个支持istio的RBAC AKS集群。我已将集群管理员角色分配给我,并且我能够毫无问题地成功部署最小的istio服务(服务/部署/网关/虚拟服务)

我需要让组织内的团队访问AKS,因此我创建了一个名称空间,并在名称空间上为他们分配了管理员角色。k8s本机的一切(kubectl获取服务——命名空间团队)都工作得很好。但是,当他们部署相同的最小istio服务(service/Deployment/Gateway/VirtualService)时,他们遇到了一系列类似以下的错误:

Error from server (Forbidden): error when retrieving current configuration of:
Resource: "networking.istio.io/v1alpha3, Resource=gateways", GroupVersionKind: "networking.istio.io/v1alpha3, Kind=Gateway"
这是有道理的,因为我没有将组绑定到任何istio角色。一旦我授予他们集群管理,它就如预期的那样工作了

问题是,我不知道要添加哪些istio角色。当我查看istio安装后集群中存在的角色时,我没有看到任何明显的角色

我看到的角色:

  • 伊斯提奥城堡伊斯提奥系统
  • istio Vnetingress网关istio系统
  • istio侧车喷油器istio系统
  • istio安全安装后istio系统
  • istio飞行员istio系统
  • istio入口通道istio系统
  • istio grafana安装后istio系统
  • istio混频器istio系统
  • istio厨房istio系统
  • istio出口网关istio系统

需要在istio部署(命名空间内)上操作的用户的适当角色是什么?它是角色的组合吗?我需要一个新角色吗

这样的角色应该可以:

"apiGroups": [
    "istio.io"
],
"resources": [
    "*"
],
"verbs": [
    "*"
]
如果这不起作用,你需要做如下事情:

"apiGroups": [
    "config.istio.io",
    "networking.istio.io",
    "rbac.istio.io",
    "authentication.istio.io"
],
"resources": [
    "*"
],
"verbs": [
    "*"
]

您可以为您的用户创建角色或Clusterrole和绑定或角色绑定。

具有类似功能的角色应该可以:

"apiGroups": [
    "istio.io"
],
"resources": [
    "*"
],
"verbs": [
    "*"
]
如果这不起作用,你需要做如下事情:

"apiGroups": [
    "config.istio.io",
    "networking.istio.io",
    "rbac.istio.io",
    "authentication.istio.io"
],
"resources": [
    "*"
],
"verbs": [
    "*"
]

您可以为您的用户创建角色或Clusterrole以及绑定或角色绑定。

我使用了以下内容,这些内容聚合为默认的
编辑
(反过来也聚合为
管理
)ClusterRoles。然后,任何绑定到
edit
admin
的帐户都可以修改Istio资源:

---
apiVersion:rbac.authorization.k8s.io/v1
种类:ClusterRole
元数据:
标签:
rbac.authorization.k8s.io/aggregate-to-edit:“true”
名称:istio edit
规则:
-蜂群:
-“config.istio.io”
-“networking.istio.io”
-“rbac.istio.io”
-“authentication.istio.io”
-“security.istio.io”
资源:
- "*"
动词:
- "*"

我使用了以下内容,它们聚合为默认的
edit
(并依次聚合为
admin
)集群角色。然后,任何绑定到
edit
admin
的帐户都可以修改Istio资源:

---
apiVersion:rbac.authorization.k8s.io/v1
种类:ClusterRole
元数据:
标签:
rbac.authorization.k8s.io/aggregate-to-edit:“true”
名称:istio edit
规则:
-蜂群:
-“config.istio.io”
-“networking.istio.io”
-“rbac.istio.io”
-“authentication.istio.io”
-“security.istio.io”
资源:
- "*"
动词:
- "*"

我认为这不是Istio的限制。这应该是AKS的限制。正如您所说,您授予他们集群管理员,而不是Istio角色,然后它就可以工作了。您显示的所有角色都命名为
istos-*
,它们是Istio角色,而不是AKS集群。我认为这不是Istio的限制。这应该是AKS的限制。正如您所说,您授予他们集群管理员,而不是Istio角色,然后它就可以工作了。您显示的所有角色都名为istos-*,它们是Istio角色,而不是AKS集群。我想我必须走这条路。我将找出(反复试验)最小权限集。谢谢你可以使用istio头盔图表来计算权限。考虑接受这个答案;我想我得走这条路。我将找出(反复试验)最小权限集。谢谢你可以使用istio头盔图表来计算权限。考虑接受这个答案;