配置IAM自定义权限策略
更新时间:2025-05-30
Prometheus监控CProm提供的系统授权策略的授权粒度比较粗,如果这种粗粒度授权策略不能满足您的需要,那么您可以创建自定义授权策略。例如,您想控制对某个具体的实例的操作权限,您可以使用自定义授权策略满足细粒度访问要求。
操作步骤
按策略生成器创建
- 登录百度智能云官网,并进入管理控制台。
- 在控制台右上角个人信息中单击多用户访问控制,进入“多用户访问控制”控制台页面。
- 在左侧导航栏中选择“策略管理”进入“权限策略列表”页面。
- 单击创建策略,在“选择创建策略的方式”弹出框中选择按策略生成器创建。
- 在“在“创建权限策略”页面完成策略名称和权限配置。
- 单击“添加权限”,在弹框中完成权限配置。
- 单击确认按钮完成创建,您可以在“权限策略列表”页面查看到创建的策略。
- 将自定义权限策略授权给目标IAM子用户,具体操作,请参见子用户授权。
按策略语法创建
在创建自定义授权策略时,您需要了解授权策略语言的基本结构和语法。更多信息,请参见策略语法说明。
- 登录百度智能云官网,并进入管理控制台。
- 在控制台右上角个人信息中单击多用户访问控制,进入“多用户访问控制”控制台页面。
- 在左侧导航栏中选择“策略管理”进入“权限策略列表”页面。
- 单击创建策略,在“选择创建策略的方式”弹出框中选择按策略语法创建。
- 在“创建权限策略”页面编写自定义授权策略内容,当前以授予全地域所有实例的完全控制权限为例:
Plain Text
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 {
20 "service": "bce:cprom",
21 "region": "*",
22 "resource": [
23 "Cprom_Grafana/*"
24 ],
25 "effect": "Allow",
26 "permission": [
27 "GRAFANA_CREATE",
28 "GRAFANA_READ",
29 "GRAFANA_UPDATE",
30 "GRAFANA_DELETE"
31 ]
32 }
33 ]
34}
其中:
-
region处为所要授权的地域,可以有以下配置:
- 授予全部地域的权限
- 授予单个地域的权限,如:北京(bj)
-
resource处为所要授权的资源,可以有以下配置:
- 授予全部实例的权限
Plain Text
1"resource": [
2 "Cprom_Instance/*"
3 ]
- 授予单个实例的权限
Plain Text
1"resource": [
2 "Cprom_Instance/实例ID"
3 ]
- 授予多个实例的权限
Plain Text
1"resource": [
2 "Cprom_Instance/实例ID",
3 "Cprom_Instance/实例ID"
4 ]
-
action处为所要授予的集群操作权限:
- 您可以根据实际情况选择不同的权限组合
Plain Text
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]
- 单击完成即可完成创建自定义策略。
- 将自定义权限策略授权给目标IAM子用户,具体操作,请参见子用户授权。
自定义授权策略示例
以下策略中不包含实例关联使用云产品(如XX)的权限,若有需要请单独为子用户授予相应产品的权限。
- 在北京地域授权子用户单个监控实例的只读权限,如实例ID为cprom-xxxxxxxx
Plain Text
1{
2 "version": "v1",
3 "accessControlList": [
4 {
5 "service": "bce:cprom",
6 "region": "bj",
7 "effect": "Allow",
8 "resource": [
9 "Cprom_Instance/cprom-xxx"
10 ],
11 "permission": [
12 "INSTANCE_READ"
13 ]
14
15 }
16 ]
17}
- 授权子用户单个实例的完全控制权限,如实例ID为cprom-xxxxxxxx (授予单个实例权限,建议只授予INSTANCE_READ、INSTANCE_UPDATE, 而不影响实例的生命周期)
Plain Text
1{
2 "version": "v1",
3 "accessControlList": [
4 {
5 "service": "bce:cprom",
6 "region": "bj",
7 "effect": "Allow",
8 "resource": [
9 "Cprom_Instance/cprom-xxx"
10 ],
11 "permission": [
12 "INSTANCE_READ",
13 "INSTANCE_UPDATE",
14 "INSTANCE_CREATE",
15 "INSTANCE_DELETE"
16 ]
17
18 }
19 ]
20}