配置IAM自定义权限策略
概述
本文档介绍如何创建 Prometheus 监控 CProm 的自定义授权策略。Prometheus 监控 CProm 提供的系统授权策略授权粒度较粗;如果这种粗粒度授权策略不能满足您的需要,您可以创建自定义授权策略。例如,当您需要控制某个具体实例的操作权限时,可以通过自定义授权策略满足细粒度访问要求。
操作步骤
按策略生成器创建
导航路径:百度智能云控制台->个人信息->多用户访问控制->策略管理
步骤 1:进入按策略生成器创建页面
在“策略管理”页面,单击 【创建策略】。在“选择创建策略的方式”弹窗中,选择 【按策略生成器创建】 进入“按策略生成器创建”页面。



步骤 2:填写策略基本信息并配置权限
在“创建权限策略”页面填写基本信息,并配置权限。当前控制台会在页面内联展开权限配置,无需额外弹框。
| 参数 | 必填 | 说明 |
|---|---|---|
| 策略名称 | 是 | 填写符合命名规范的自定义策略名称。 |
| 描述 | 否 | 按实际用途填写策略说明。 |
| 服务 | 是 | 选择 【Prometheus 监控服务】 作为服务。 |
| 编辑方式 | 是 | 保持为 【可视化编辑】 模式。 |
| 授权效果 | 是 | 选择 【允许】 作为授权效果。 |
| 实例操作 | 否 | 根据实际需要勾选监控实例相关权限。 |
| Grafana 操作 | 否 | 根据实际需要勾选 Grafana 相关权限。 |
| 实例资源 | 是 | 按需选择全部资源或指定实例资源。 |
| Grafana 资源 | 是 | 按需选择全部资源或指定 Grafana 资源。 |
如需继续追加其他权限组合,可单击 【添加权限】 继续配置。

步骤 3:提交并校验策略创建结果
单击 【确定】 完成创建。返回“策略管理”列表后,按策略名称搜索并确认新策略已显示为“自定义策略”。如需将该策略授权给目标 IAM 子用户,请参见 子用户授权。

按策略语法创建
在创建自定义授权策略时,您需要了解授权策略语言的基本结构和语法。更多信息,请参见 策略语法说明。
导航路径:百度智能云控制台->个人信息->多用户访问控制->策略管理
步骤 1:选择按策略语法创建方式
在“策略管理”页面,单击 【创建策略】。在“选择创建策略的方式”弹窗中,选择 【按策略语法创建】 进入“按策略语法创建”页面。


步骤 2:填写策略信息
在“按策略语法创建”页面填写策略信息。
| 参数 | 必填 | 说明 |
|---|---|---|
| 策略名称 | 是 | 填写唯一的策略名称,仅支持字母、数字和下划线。 |
| 描述 | 否 | 按实际用途填写策略说明。 |
| 策略模板 | 否 | 按默认配置保持不选。 |
| 策略内容 | 是 | 填写合法的 JSON 自定义授权策略。 |
当前以授予全地域所有 CProm 实例和 Grafana 资源的管理权限为例:
1{
2 "version": "v1",
3 "accessControlList": [
4 {
5 "service": "bce:cprom",
6 "region": "*",
7 "effect": "Allow",
8 "resource": [
9 "Cprom_Instance/*"
10 ],
11 "permission": [
12 "INSTANCE_CREATE",
13 "INSTANCE_READ",
14 "INSTANCE_UPDATE",
15 "INSTANCE_DELETE"
16 ]
17 },
18 {
19 "service": "bce:cprom",
20 "region": "*",
21 "effect": "Allow",
22 "resource": [
23 "Cprom_Grafana/*"
24 ],
25 "permission": [
26 "GRAFANA_CREATE",
27 "GRAFANA_READ",
28 "GRAFANA_UPDATE",
29 "GRAFANA_DELETE"
30 ]
31 }
32 ]
33}
其中:
region为所要授权的地域。授予全部地域时填写:
1"region": "*"
region为单个地域时,可填写地域编码。北京地域填写为:
1"region": "bj"
resource授予全部实例权限时填写:
1"resource": [
2 "Cprom_Instance/*"
3]
resource授予单个实例权限时填写:
1"resource": [
2 "Cprom_Instance/实例ID"
3]
resource授予多个实例权限时填写:
1"resource": [
2 "Cprom_Instance/实例ID",
3 "Cprom_Instance/实例ID"
4]
permission为所要授予的实例和 Grafana 操作权限:
1"permission": [
2 "INSTANCE_CREATE", // 创建监控实例
3 "INSTANCE_READ", // 查看监控实例
4 "INSTANCE_UPDATE", // 更新监控实例
5 "INSTANCE_DELETE", // 删除监控实例
6 "GRAFANA_CREATE", // 创建 Grafana
7 "GRAFANA_READ", // 查看 Grafana 大盘
8 "GRAFANA_UPDATE", // 更新 Grafana
9 "GRAFANA_DELETE" // 删除 Grafana
10]
填写完成并确认页面无报错后,单击 【确定】 完成创建。

步骤 3:校验策略创建结果
创建成功后,返回“策略管理”列表,按策略名称搜索并确认策略已生成。如需将该自定义权限策略授权给目标 IAM 子用户,请参见 子用户授权。

自定义授权策略示例
以下策略不包含实例关联使用云产品的权限,若有需要请单独为子用户授予相应产品的权限。
示例 1:在北京地域授权子用户单个监控实例的只读权限
1{
2 "version": "v1",
3 "accessControlList": [
4 {
5 "service": "bce:cprom",
6 "region": "bj",
7 "effect": "Allow",
8 "resource": [
9 "Cprom_Instance/实例ID"
10 ],
11 "permission": [
12 "INSTANCE_READ"
13 ]
14 }
15 ]
16}
注意: 授予单个实例完全控制权限时,建议优先评估是否确有必要授予
INSTANCE_CREATE和INSTANCE_DELETE,以免影响实例生命周期。
示例 2:授权子用户单个实例的完全控制权限
1{
2 "version": "v1",
3 "accessControlList": [
4 {
5 "service": "bce:cprom",
6 "region": "bj",
7 "effect": "Allow",
8 "resource": [
9 "Cprom_Instance/实例ID"
10 ],
11 "permission": [
12 "INSTANCE_READ",
13 "INSTANCE_UPDATE",
14 "INSTANCE_CREATE",
15 "INSTANCE_DELETE"
16 ]
17 }
18 ]
19}
评价此篇文章
