#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