Как настроить групповой доступ с помощью OCI IAM и Kubernetes RBAC - PullRequest
0 голосов
/ 08 апреля 2020

На основании этой документации - https://docs.cloud.oracle.com/en-us/iaas/Content/ContEng/Concepts/contengaboutaccesscontrol.htm Я пытаюсь настроить доступ к Kubernetes для Oracle облачной группы IAM, но могу успешно предоставить доступ только отдельным пользователям.

Действия для воспроизведения (предполагается, что разделение, кластер, CLI OCI и настроенный kubectl):

  • Создание группы IAM - testgroup
  • Создание пользователя IAM - testuser
  • Поместите пользователя testuser в группу testgroup
  • Создайте политику в своем купе - kubernetes_dev_access
  • Заявление о политике - Allow group testgroup to use clusters in compartment mycompartment
  • Примените следующий манифест Kubernetes:
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: kubernetes_dev_access
rules:
- apiGroups: [""]
  resources: ["pods", "services"]
  verbs: ["create", "get", "update", "list", "delete", "watch"]
- apiGroups: ["apps"]
  resources: ["deployments"]
  verbs: ["create", "get", "update", "list", "delete", "watch"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: kubernetes_dev_access_group
subjects:
- kind: Group
  name: ocid1.group.oc1..aaaaaaaaabababababababababababababababababa
  apiGroup: rbac.authorization.k8s.io
roleRef:
  kind: ClusterRole
  name: kubernetes_dev_access
  apiGroup: rbac.authorization.k8s.io

Это позволит моему пользователю успешно отобразить список модулей:

kubectl get pods

Но я получаю следующую ошибку:

Error from server (Forbidden): pods is forbidden: User "ocid1.group.oc1..aaaaaaaaabababababababababababababababababa" cannot list resource "pods" in API group "" in the namespace "mynamespace"

Важнейшие строки выглядят следующим образом:

- kind: Group
  name: ocid1.group.oc1..aaaaaaaaabababababababababababababababababa
  apiGroup: rbac.authorization.k8s.io

Если я заменим эти строки следующей ссылкой на указанного пользователя c, он работает, ie Я получу список модулей:

- kind: User
  name: ocid1.user.oc1..aaaaaaaaaxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyx
  apiGroup: rbac.authorization.k8s.io

Любые указатели благодарны, спасибо.

1 Ответ

0 голосов
/ 08 апреля 2020

OKE пока не поддерживает группы в RBA C. Вы должны определить отдельных пользователей в политиках RBA C.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...