Политики Kubernetes ABAC для групп и пользователей? - PullRequest
0 голосов
/ 22 февраля 2019

В настоящее время у меня есть политика ABAC, которая дает «системе: авторизованный» весь доступ.K8s запускается нормально, когда я это определил, но если я удаляю его, K8s не запускается.Я пытаюсь выяснить, какие пространства имен, учетные записи служб, группы, пользователи и т. Д. Используются в моем кластере K8s, чтобы я мог определить определенный набор пользователей / групп в политике ABAC.

Как я могуполучить группы и пользователей в кластере K8s?Я использую "kubectl --namespace = kube-system get serviceaccounts", чтобы получить учетные записи service ... но где определены группы и пользователи?

1 Ответ

0 голосов
/ 22 февраля 2019

Для групп вы можете попробовать (пример для "system: masters"):

kubectl get clusterrolebindings -o json | jq -r '.items[] | select(.subjects[0].kind=="Group") | select(.subjects[0].name=="system:masters") | .metadata.name'

Также вы можете прочитать все пространства имен одновременно, добавив --all-namespaces=true внутри команды kubectl.

Вы также должны проверить все локальные файлы для политик, которые могут быть применены.

Вот документация Kubernetes относительно Использование авторизации ABAC

Что касается пользователей, я смог толькочтобы найти способ проверить, может ли конкретный пользователь создать развертывание в пространстве имен:

$ kubectl auth can-i create deployments --namespace dev
yes
$ kubectl auth can-i create deployments --namespace prod
no
...