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


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 操作。

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

HawtIO 基于角色的访问控制从用户的 OpenShift 权限中推断出来。要确定授予特定用户的 HawtIO 访问权限角色,可获取授予某一容器集的用户的 OpenShift 权限。

先决条件:

  • 用户名
  • pod 的名称

流程

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

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

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

如果您使用 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
      Copy to Clipboard Toggle word wrap
    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 -
      Copy to Clipboard Toggle word wrap
    3. 使用以下命令编辑新的自定义 ConfigMap:

      oc edit ConfigMap custom-hawtio-rbac
      Copy to Clipboard Toggle word wrap
    4. 保存编辑后,将更新 ConfigMap 资源
  2. 如上所述,创建一个新的 HawtIO CR,并在属性 configMap 下添加新 ConfigMap 的名称来编辑 rbac 部分。
  3. Create。Operator 应该部署一个新的 HawtIO 版本,以使用自定义 ConfigMap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat