搜索

5.2. OpenShift 4 上 HawtIO 的基于角色的访问控制

download PDF

HawtIO 提供基于角色的访问控制(RBAC),它根据 OpenShift 提供的用户授权推断访问。在 HawtIO 中,RBAC 决定用户在 pod 上执行 MBean 操作。

如需有关 OpenShift 授权的信息,请参阅 OpenShift 文档中的使用 RBAC 定义和应用权限 部分。

当使用 Operator 在 OpenShift 上安装 HawtIO 时,默认启用基于角色的访问控制。HawtIO RBAC 利用 OpenShift 中的 pod 资源的操作动词访问,以确定用户在 HawtIO 中对 pod 的 MBean 操作的访问。默认情况下,对于 HawtIO,有两个用户角色:

  1. admin :如果用户可以在 OpenShift 中更新 pod,则用户会被限制掉 HawtIO 的 admin 角色。用户可以在 HawtIO 中为 pod 执行写 MBean 操作。
  2. Viewer: 如果用户可以在 OpenShift 中获取 pod,则用户会被限制掉 HawtIO 的 viewer 角色。用户可以在 HawtIO 中为 pod 执行只读 MBean 操作。

5.2.1. 确定 OpenShift 4 上 HawtIO 的访问角色

HawtIO 基于角色的访问控制是从用户的 pod 的 OpenShift 权限中推断出来的。要确定向特定用户授予 HawtIO 访问角色,请获取授予 Pod 用户的 OpenShift 权限。

先决条件:

  • 用户名
  • pod 的名称

流程

  1. 要确定用户是否为 pod 具有 HawtIO admin 角色,请运行以下命令来查看用户是否可以更新 OpenShift 上的 pod:

    oc auth can-i update pods/<pod> --as <user>
  2. 如果响应是 yes,则用户具有 Pod 的 admin 角色。用户可以对 pod 执行 HawtIO 中的写入操作。
  3. 要确定用户是否为 pod 具有 HawtIO viewer 角色,请运行以下命令来查看用户是否可以在 OpenShift 上获取 pod:

    oc auth can-i get pods/<pod> --as <user>
  4. 如果响应是 yes,则用户具有 pod 的 viewer 角色。用户可以在 HawtIO 中为 pod 执行只读操作。根据上下文,HawtIO 会阻止具有 viewer 角色的用户执行写入 MBean 操作,方法是禁用一个选项,或者在 用户尝试写入 MBean 操作时显示这个用户消息允许的操作
  5. 如果没有响应,用户不会绑定到任何 HawtIO 角色,用户无法在 HawtIO 中查看 pod。

5.2.2. 在 OpenShift 4 中自定义对 HawtIO 的基于角色的访问权限

如果您使用 OperatorHub 安装 HawtIO,则默认启用基于角色的访问控制(RBAC)。要自定义 HawtIO RBAC 行为,在部署 HawtIO 之前,必须提供 ConfigMap 资源(定义自定义 RBAC 行为)。此 ConfigMap 的名称应在 HawtIO 自定义资源(CR)的 rbac 配置部分中输入。

自定义 ConfigMap 资源必须添加到安装了 HawtIO Operator 的同一命名空间中。

先决条件

  • HawtIO Operator 已从 OperatorHub 安装。

流程

自定义 HawtIO RBAC 角色:

  1. 创建 RBAC ConfigMap:

    1. 确保当前的 OpenShift 项目是您要安装 HawtIO 的项目。例如,要在 hawtio-test 项目中安装 HawtIO,请运行以下命令:

      oc project hawtio-test
    2. 从模板创建 HawtIO RBAC ConfigMap 文件,并运行这个命令:

      oc process -f https://raw.githubusercontent.com/hawtio/hawtio-online/2.x/docker/ACL.yaml -p APP_NAME=custom-hawtio | oc create -f -
    3. 使用以下命令编辑新的自定义 ConfigMap:

      oc edit ConfigMap custom-hawtio-rbac
    4. 通过保存编辑,ConfigMap 资源将更新
  2. 按照上述所述,创建一个新的 HawtIO CR,并通过在属性 configMap 下添加新 ConfigMap 的名称来编辑 rbac 部分。
  3. Create。Operator 应该部署一个新版本的 HawtIO,以使用自定义 ConfigMap
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.