【问题标题】:How do I grant a user the ability to tag images in OpenShift Online Pro?如何授予用户在 OpenShift Online Pro 中标记图像的能力?
【发布时间】:2018-05-28 17:27:33
【问题描述】:

我已经设置了一个具有“视图”角色的协作者帐户。我现在想授予该用户使用oc tag 标记图像的能力。

按照these 的指示,我有:

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 权限?

谢谢!

更新:

我在上面链接的“示例 1”中找到了一个预先存在的角色 registry-editor,它可以完成这项工作:

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

如果没有现成的角色,我仍然很想知道如何创建自定义角色。再次感谢!

【问题讨论】:

    标签: openshift openshift-3 openshift-online


    【解决方案1】:

    请参阅Creating a local role 上的 OpenShift 文档。

    具体来说,要将用户绑定到本地角色,您需要将--role-namespace指定给oc policy add-role-to-user命令。

    【讨论】:

    • 感谢您的链接,但我通常会先阅读文档并尝试红帽博客,然后再在这里提问。具体来说,我发现那段文档含糊不清,不足以解决现实世界的问题。那可能只是我,但如果其他人处于我的水平,我认为一个可行的示例答案会对社区有所帮助。
    【解决方案2】:

    Helm template for openshift 中有一个很好的例子,它授予写入access to 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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-12-31
      • 1970-01-01
      • 2019-05-21
      • 1970-01-01
      • 2016-07-01
      • 2023-03-28
      • 1970-01-01
      • 2015-03-15
      相关资源
      最近更新 更多