Как настроить RBAC, чтобы пользователь мог отправлять рабочий процесс Argo в определенном пространстве имен?

Я проверяю Argo, и я хотел бы предоставить конкретное пространство имен для пользователя (или нескольких пользователей) для использования рабочего процесса Argo (и позволить пользователям получать доступ к таким функциям, как артефакты, выходы, доступ к секретам). Я настроил пользователя и создал пространство имен (тестирование в minikube). Как мне связать роли для пользователя, пространства имен и рабочего процесса Argo?

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

kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  namespace: default
  name: pod-reader
rules:
- apiGroups: [“”] 
  resources: [“pods”]
  verbs: [“get”, “watch”, “list”]
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: read-pods
  namespace: default
subjects:
- kind: User
  name: user1 
  apiGroup: rbac.authorization.k8s.io
roleRef:
  kind: Role 
  name: pod-reader 
  apiGroup: rbac.authorization.k8s.io

Спасибо!


person user3368526    schedule 17.04.2019    source источник


Ответы (1)


Отличное руководство для вас, чтобы получить пошаговое объяснение, как создать пространство имен, пользователя и предоставить разрешения для работы с этим пользователем только в выбранном пространстве имен:

https://docs.bitnami.com/kubernetes/how-to/configure-rbac-in-your-kubernetes-cluster/#use-case-1-create-user-with-limited-namespace-доступ

Шаг 1. Создайте пространство имен

Шаг 2. Создайте учетные данные

Шаг 3. Создайте роль для управления развертываниями

Шаг 4. Привяжите роль к пользователю

Шаг 5. Проверьте правило RBAC

person Vit    schedule 17.04.2019