我想知道是否可以在Azure Kubernetes服务上隔离命名空间。现在,如果我给予rbac角色给我的同事,他们可以看到所有命名空间,我想隔离部门的命名空间,例如,data只能看到data命名空间,dev只能看到den命名空间等。有可能吗?谢谢
oxf4rvwz1#
是的,您必须启用AKS-managed Azure Active Directory,Role-based access control (RBAC)和Azure RBAC进行Kubernetes授权。有2个选项:
AKS-managed Azure Active Directory
Role-based access control (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>
型第二个选项是使用Azure自定义角色,如此处所述,以及来自用户yk1的示例:
az role assignment create \ --role "Azure Kubernetes Service RBAC Reader" \ --assignee <AAD-ENTITY-ID> \ --scope $AKS_ID/namespaces/<namespace-name>
型注意:所有用户必须是Azure Kubernetes Service Cluster User Role的成员才能执行az aks get-credentials
Azure Kubernetes Service Cluster User Role
az aks get-credentials
1条答案
按热度按时间oxf4rvwz1#
是的,您必须启用
AKS-managed Azure Active Directory
,Role-based access control (RBAC)
和Azure RBAC进行Kubernetes授权。有2个选项:字符串
第一种选择:
型
第二个选项是使用Azure自定义角色,如此处所述,以及来自用户yk1的示例:
型
注意:所有用户必须是
Azure Kubernetes Service Cluster User Role
的成员才能执行az aks get-credentials