概述

默认情况下,子账号没有使用消息队列控制台或 API 的权限。若要允许子账号操作主账号资源权限,必须创建访问控制策略并将这些策略附加到对应的子账号或群组。策略、群组、子账号等访问控制相关介绍详见:访问控制文档

子账号权限管理

可授权 NQS Action 和对应资源

ActionAction 描述资源
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。详见:权限故障排查