Есть ли способ предоставить доступ на чтение и запись секретов только пользователю-администратору в openshift?

#openshift #openshift-3

#openshift #openshift-3

Вопрос:

Я хочу ограничить доступ на чтение и запись секретов только для пользователей с ролями администратора в openshift. Если пользователь является обычным пользователем, он может получить доступ ко всему, кроме секретов (он не может раскрывать секреты и редактировать также). Есть ли какой-нибудь способ сделать это? Спасибо!

Ответ №1:

Вы могли бы попытаться создать свои собственные роли, которые будут применяться ко всем, кто не является администратором, или просто отредактировать роли, не являющиеся администраторами, удаляя доступ к секретам.

Вот руководство по созданию вашей собственной роли.

Например, ваша роль уже может быть такой:

 rules:
- apiGroups:
  - ""
  attributeRestrictions: null
  resources:
  - configmaps
  - endpoints
  - persistentvolumeclaims
  - pods
  - secrets
  - serviceaccounts
  - services
  verbs:
  - create
  - delete
  - deletecollection
  - get
  - list
  - update
  - watch
  

и вы могли бы удалить строку секретов в разделе ресурсы:

 rules:
- apiGroups:
  - ""
  attributeRestrictions: null
  resources:
  - configmaps
  - endpoints
  - persistentvolumeclaims
  - pods
  - serviceaccounts
  - services
  verbs:
  - create
  - delete
  - deletecollection
  - get
  - list
  - update
  - watch
  

Например:

 $ oc create user test
user.user.openshift.io/test created

$ oc create role test-role --verb=get --verb=list --resource=namespaces,pods,routes,services
role.rbac.authorization.k8s.io/test-role created

$ oc login -u test -p #####
Login successful.

You have one project on this server: "######"

Using project "####".

$ oc get pods
No resources found.

$ oc get secrets
No resources found.
Error from server (Forbidden): secrets is forbidden: User "test" cannot list secrets in the namespace "####": no RBAC policy matched