Как предоставить пользователю возможность отмечать изображения в OpenShift Online Pro? - PullRequest
0 голосов
/ 28 мая 2018

Я создал учетную запись сотрудника с ролью «просмотр».Теперь я хочу предоставить этому пользователю возможность помечать изображения с помощью oc tag.

Следуя этим инструкциям, которые у меня есть:

oc get clusterrole view -o yaml > role_edittags.yaml
# 1. Update kind: ClusterRole to kind: Role
# 2. Update name: view to name: edittags
# 3. Remove resourceVersion, selfLink, uid, and creationTimestamp
# 4. split up the section with {imagestreamimages,imagestreammappings,imagestreams,imagestreamtags} into two sections:
- apiGroups:
  - image.openshift.io
  - ""
  attributeRestrictions: null
  resources:
  - imagestreamimages
  - imagestreammappings
  - imagestreams
  verbs:
  - get
  - list
  - watch
- apiGroups:
  - image.openshift.io
  - ""
  attributeRestrictions: null
  resources:
  - imagestreamtags
  verbs:
  - get
  - list
  - watch
  - create
  - update
  - patch
  - deletecollection

Я затем oc project в проект, где я хочу предоставить роль и импортировать ее с помощью:

$ oc create -f role_edittags.yaml role "edittags" created

Когда я пытаюсь предоставить его пользователю, я получаю сообщение об ошибке:

$ oc policy add-role-to-user edittags myuser Error from server (NotFound): rolebindings.authorization.openshift.io "edittags" not found

Как мне предоставить oc tag разрешения дляПользователь?

Спасибо!

обновление:

Я обнаружил ранее существовавшую роль registry-editor, указанную в "примере 1" по ссылке выше, которая делаетзадание:

$ oc policy add-role-to-user registry-editor myuser role "registry-editor" added: "myuser"

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

Ответы [ 2 ]

0 голосов
/ 13 июня 2018

Хороший пример есть в шаблоне Helm для openshift , который предоставляет записи доступ к configmaps .Все роли по умолчанию показаны с oc describe clusterPolicy default, что является хорошей отправной точкой, напишите новую роль, аналогичную существующей.В моем случае существующая роль registry-editor была то, что мне нужно для автоматизации продвижения, помечая изображения и вытягивая вышестоящие патчи из каталога контейнера RedHat.

Обновление:

Вот как создать локальную роль, которая может запустить сборку openshift:

oc create role buildinstantiate --verb=create --resource=buildconfigs.build.openshift.io/instantiate -n hubot

oc adm policy add-role-to-user buildinstantiate myuser --role-namespace=hubot -n hubot

0 голосов
/ 29 мая 2018

См. Документацию OpenShift по Создание локальной роли .

В частности, чтобы связать пользователя с локальной ролью, необходимо указать --role-namespace до команды oc policy add-role-to-user.

...