こちらの手順に従って、Azure AD と統合されている AKS クラスターに RBAC をセットアップしています。AAD テナントに AD グループを作成し、ユーザーを追加しました。次に、手順に従って、AKS クラスターでグループに "クラスター ユーザー ロール" が割り当てられます。以下に示すように、ロールとロールバインディングを作成しました。
役割:
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
namespace: development
name: restricted-role
rules:
- apiGroups: [""]
resources: ["pods"]
verbs: ["get", "watch", "list"]
RoleBinding:
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: read-pods
namespace: development
subjects:
- kind: Group
name: 308f50cb-e05a-4340-99d4-xxxxxxxb
apiGroup: rbac.authorization.k8s.io
namespace: development
roleRef:
kind: Role
name: restricted-role
apiGroup: rbac.authorization.k8s.io
次に、新しいユーザー資格情報を使用してログインを試みました。
az login --username kubeuser@xxx.onmicrosoft.com --password xxxx
az aks get-credentials --name mycluster --resource-group myrg --overwrite-existing
ドキュメントによると、開発用名前空間で kubectl get pods を実行することだけが許可されているはずです。ただし、この新しいユーザー資格情報を使用すると、kubectl get pods --all-namespaces、kubectl get svc --all-namespaces などを実行して、Rolebinding がまったく影響を与えていないかのように結果を表示できることがわかります。また、クラスターが持っていることを確認して確認しました
「enableRBAC」: 真
誰かがこの構成の何が問題なのか教えてもらえますか?