Azure Kubernetes -用于命名空间隔离的RBAC角色

dxxyhpgq  于 9个月前  发布在  Kubernetes
关注(0)|答案(1)|浏览(102)

我想知道是否可以在Azure Kubernetes服务上隔离命名空间。现在,如果我给予rbac角色给我的同事,他们可以看到所有命名空间,我想隔离部门的命名空间,例如,data只能看到data命名空间,dev只能看到den命名空间等。
有可能吗?
谢谢

oxf4rvwz

oxf4rvwz1#

是的,您必须启用AKS-managed Azure Active DirectoryRole-based access control (RBAC)和Azure RBAC进行Kubernetes授权。有2个选项:

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

相关问题