5.2. 授予用户权限来监控用户定义的项目
集群管理员可以监控所有 OpenShift Container Platform 核心项目和用户定义的项目。
集群管理员可以授予开发人员和其他用户权限来监控他们自己的项目。通过分配以下监控角色中的一个即可授予权限:
-
monitoring-rules-view 集群角色提供对项目的
PrometheusRule
自定义资源的读取访问权限。 -
monitoring-rules-edit 集群角色授予用户权限来为项目创建、修改和删除
PrometheusRule
自定义资源。 -
monitoring-edit 集群角色授予与
monitoring-rules-edit
集群角色相同的权限。另外,它还允许用户为服务或 Pod 创建新的提取目标。使用此角色 ,您还可以创建、修改和删除ServiceMonitor
和PodMonitor
资源。
您还可以授予用户权限来配置负责监控用户定义的项目的组件:
-
openshift-user-workload-monitoring
项目中的 user-workload-monitoring-config-edit 角色允许您编辑user-workload-monitoring-config
ConfigMap
。使用此角色,您可以编辑ConfigMap
,为用户定义的工作负载监控配置 Prometheus、Prometheus Operator 和 Thanos Ruler。
您还可以授予用户权限来为用户定义的项目配置警报路由:
-
alert-routing-edit 集群角色授予用户权限来为项目创建、更新和删除
AlertmanagerConfig
自定义资源。
本节详细介绍了如何使用 OpenShift Container Platform Web 控制台或 CLI 分配这些角色。
5.2.1. 使用 Web 控制台授予用户权限
您可以使用 OpenShift Container Platform Web 控制台授予用户权限来监控其自己的项目。
先决条件
-
您可以使用具有
cluster-admin
集群角色的用户身份访问集群。 - 要将角色分配到的用户帐户已存在。
流程
-
在 OpenShift Container Platform Web 控制台内的 Administrator 视角中,导航到 User Management
Role Bindings Create Binding。 - 在 Binding Type 部分中,选择“Namespace Role Binding”类型。
- 在 Name 字段中输入角色绑定的名称。
在 Namespace 字段中,选择要授予访问权限的用户定义的项目。
重要监控角色将绑定到您在 Namespace 字段中应用的项目。您使用此流程向用户授予的权限将只应用于所选项目。
-
在 Role Name 列表中选择
monitoring-rules-view
、monitoring-rules-edit
或monitoring-edit
。 - 在 Subject 部分,选择 User。
- 在 Subject Name 字段中,输入用户名称。
- 选择 Create 以应用角色绑定。
5.2.2. 使用 CLI 授予用户权限
您可以使用 OpenShift CLI (oc
) 授予用户权限来监控其自己的项目。
先决条件
-
您可以使用具有
cluster-admin
集群角色的用户身份访问集群。 - 要将角色分配到的用户帐户已存在。
-
已安装 OpenShift CLI(
oc
)。
流程
为项目的用户分配一个监控角色:
$ oc policy add-role-to-user <role> <user> -n <namespace> 1
- 1
- 将
<role>
替换为monitoring-rules-view
、monitoring-rules-edit
或monitoring-edit
。
重要无论您选择什么角色,必须以集群管理员的身份将其与特定项目进行绑定。
例如,将
<role>
替换为monitoring-edit
,<user>
替换为johnsmith
,<namespace>
替换为ns1
。这会为用户johnsmith
分配在ns1
命名空间内设置指标数据收集以及创建警报规则的权限。