我想知道在Azure Kubernetes服务上是否有可能隔离命名空间。现在,如果我给我的同事RBAC角色,他们可以看到所有的命名空间,我希望将命名空间分隔为部门,例如数据只能看到数据命名空间,开发只能看到dev命名空间等等。
这是可能的吗?
谢谢。
这是可能的吗?
谢谢。
是的,您需要启用AKS托管的Azure活动目录
,基于角色的访问控制(RBAC)
和Kubernetes授权的Azure RBAC。有两个选项:
az aks create \
-g myResourceGroup \
-n myManagedCluster \
--enable-aad \
--enable-azure-rbac
第一选项:
---
apiVersion: v1
kind: Namespace
metadata:
name: data
labels:
kubernetes.io/metadata.name: data
---
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: data-view-access
namespace: data
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: view
subjects:
- kind: Group
namespace: data
name: <GROUP_OBJECT_ID>
az role assignment create \
--role "Azure Kubernetes Service RBAC Reader" \
--assignee <AAD-ENTITY-ID> \
--scope $AKS_ID/namespaces/<namespace-name>
注意:为了执行az aks get-credentials
命令,所有用户必须是Azure Kubernetes Service集群用户角色
的成员。