概述
默认情况下,子账号没有使用消息队列控制台或 API 的权限。若要允许子账号操作主账号资源权限,必须创建访问控制策略并将这些策略附加到对应的子账号或群组。策略、群组、子账号等访问控制相关介绍详见:访问控制文档。
子账号权限管理
可授权 NQS Action 和对应资源
Action | Action 描述 | 资源 |
---|---|---|
comb:nqs:DescribeInstances | 获取列表页 | comb:nqs:${region}:*:* |
comb:nqs:CreateInstance | 创建实例 | comb:nqs:${region}:*:* |
comb:nqs:ModifyChargeType | 按量转包年包月 | comb:nqs:${region}:*:instance/${instanceName} |
comb:nqs:SupportRabbitMQVersion | 获取当前支持的rabbitmq版本号列表 | comb:nqs:${region}:*:* |
comb:nqs:DescribeInstanceInfo | 实例详情页 | comb:nqs:${region}:*:instance/${instanceName} |
comb:nqs:GetEndpointInfo | 获取账号密码 | comb:nqs:${region}:*:instance/${instanceName} |
comb:nqs:DescribeInstanceLogs | 获取操作日志 | comb:nqs:${region}:*:instance/${instanceName} |
comb:nqs:DescribeInstanceLogDetail | 获取操作日志详情 | comb:nqs:${region}:*:instance/${instanceName} |
comb:nqs:DescribeMonitorObject | 获取监控对象 | comb:nqs:${region}:*:instance/${instanceName} |
comb:nqs:DeleteInstance | 删除实例 | comb:nqs:${region}:*:instance/${instanceName} |
comb:nqs:UpdateEndpointPassword | 更新账号密码 | comb:nqs:${region}:*:instance/${instanceName} |
comb:nqs:LoginRabbitMQManagement | 登录rabbitmq管理页 | comb:nqs:${region}:*:instance/${instanceName} |
comb:nqs:DescribePlugins | 获取必装/非必装插件列表 | comb:nqs:${region}:*:instance/${instanceName} |
comb:nqs:InstallPlugins | 安装插件 | comb:nqs:${region}:*:instance/${instanceName} |
comb:nqs:UninstallPlugins | 卸载插件 | comb:nqs:${region}:*:instance/${instanceName} |
comb:nqs:DescribeUninstalledPlugins | 获取实例未安装插件列表 | comb:nqs:${region}:*:instance/${instanceName} |
comb:nqs:DescribeInstalledPlugins | 获取实例已安装插件列表 | comb:nqs:${region}:*:instance/${instanceName} |
comb:nqs:DescribeTenantQuota | 获取用户实例配额 | comb:nqs:${region}:*:* |
comb:nqs:SupportRabbitMQSpecType | 查询当前支持的SpecType规格信息 | comb:nqs:${region}:*:* |
Note
1.${instanceName}表示实例名称
2.如果需要控制指定Region下的资源,资源格式如下:comb:nqs:cn-east-1:*:*代表cn-east-1下的所有NQS实例
NQS管理权限包括如下Action
名称 | action |
---|---|
创建实例 | comb:nqs:CreateInstance |
按量转包年包月 | comb:nqs:ModifyChargeType |
删除实例 | comb:nqs:DeleteInstance |
更新账号密码 | comb:nqs:UpdateEndpointPassword |
登录rabbitmq管理页 | comb:nqs:LoginRabbitMQManagement |
获取列表页 | comb:nqs:DescribeInstances |
实例详情页 | comb:nqs:DescribeInstanceInfo |
获取账号密码 | comb:nqs:GetEndpointInfo |
获取操作日志 | comb:nqs:DescribeInstanceLogs |
获取操作日志详情 | comb:nqs:DescribeInstanceLogDetail |
获取监控对象 | comb:nqs:DescribeMonitorObject |
安装插件 | comb:nqs:InstallPlugins |
卸载插件 | comb:nqs:UninstallPlugins |
获取实例未安装插件列表 | comb:nqs:DescribeUninstalledPlugins |
获取实例已安装插件列表 | comb:nqs:DescribeInstalledPlugins |
NQS只读权限包括如下Action
名称 | action |
---|---|
获取列表页 | comb:nqs:DescribeInstances |
实例详情页 | comb:nqs:DescribeInstanceInfo |
获取账号密码 | comb:nqs:GetEndpointInfo |
获取操作日志 | comb:nqs:DescribeInstanceLogs |
获取操作日志详情 | comb:nqs:DescribeInstanceLogDetail |
获取监控对象 | comb:nqs:DescribeMonitorObject |
获取实例未安装插件列表 | comb:nqs:DescribeUninstalledPlugins |
获取实例已安装插件列表 | comb:nqs:DescribeInstalledPlugins |
获取必装/非必装插件列表 | comb:nqs:DescribePlugins |
获取当前支持的rabbitmq版本号列表 | comb:nqs:SupportRabbitMQVersion |
获取用户实例配额 | comb:nqs:DescribeTenantQuota |
查询当前支持的SpecType规格信息 | comb:nqs:SupportRabbitMQSpecType |
系统策略
NqsFullAccess - 消息队列管理权限
包含创建、删除、更改密码等管理权限。控制台的创建过程还包含下单、支付等计费流程,需要消息队列的财务权限,自定义策略时注意如果要赋予创建等权限需要加上财务权限。
{
"version": 1,
"statement": [
{
"action": [
"comb:nqs:*"
],
"effect": "allow",
"resource": [
"comb:nqs:*:*:*"
]
},
{
"action": [
"comb:finance:*"
],
"effect": "allow",
"resource": [
"comb:nqs:*:*:*"
]
}
]
}
NqsReadOnlyAccess - 消息队列只读权限
包含查询实例、用户信息等只读权限,但不包含创建、删除、更改密码等管理权限。
{
"version": 1,
"statement": [
{
"action": [
"comb:nqs:DescribeInstances",
"comb:nqs:DescribeMonitorObject",
"comb:nqs:DescribeTenantQuota",
"comb:nqs:GetEndpointInfo",
"comb:nqs:DescribeInstanceInfo",
"comb:nqs:DescribeInstanceLogs",
"comb:nqs:DescribeInstanceLogDetail",
"comb:nqs:DescribePlugins",
"comb:nqs:DescribeUninstalledPlugins",
"comb:nqs:DescribeInstalledPlugins",
"comb:nqs:SupportRabbitMQVersion",
"comb:nqs:SupportRabbitMQSpecType"
],
"effect": "allow",
"resource": [
"comb:nqs:*:*:*"
]
}
]
}
控制台依赖权限识别
考虑到控制台 API 组合复杂,若没有权限控制台将给出提示,说明依赖的 Action 和 Resourece。详见:权限故障排查