MSE Nacos注册中心能够按照实例、命名空间、Group、ServiceName设置访问权限,降低某个实例被恶意用户非法获取、修改的风险。本文介绍如何在MSE上为Nacos注册中心配置细粒度鉴权。
步骤一:创建细粒度权限策略
步骤二:授予RAM用户或RAM角色权限
授予RAM用户权限
- 使用阿里云账号登录RAM控制台。
- 在左侧导航栏,选择 。
- 在用户页面,单击目标RAM用户操作列的添加权限。
- 在添加权限面板的选择权限区域,选择自定义策略,在文本框中输入步骤一已创建的权限策略名称,单击搜索到的权限策略名称,添加权限策略,然后单击确定。
- 在添加权限的授权结果页面,确认授权信息,并单击完成,完成RAM用户授权。
授予RAM角色权限
常用示例
- 授予用户某些实例的只读服务的权限。
{ "Version": "1", "Statement": [ { "Action": [ "mse:QueryNacosNaming" ], "Resource": [ "acs:mse:*:*:instance/${instanceId1}", "acs:mse:*:*:instance/${instanceId2}" ], "Effect": "Allow" } ] }
- 授予用户某些实例读取和修改服务的权限。
{ "Version": "1", "Statement": [ { "Action": [ "mse:QueryNacosNaming", "mse:UpdateNacosNaming" ], "Resource": [ "acs:mse:*:*:instance/${instanceId1}", "acs:mse:*:*:instance/${instanceId2}" ], "Effect": "Allow" } ] }
- 授予用户只能读取某个实例中的某个命名空间服务的权限。
{ "Statement": [ { "Effect": "Allow", "Action": "mse:QueryNacosNaming", "Resource": "acs:mse:*:*:instance/${instance_id}/${namespaceId}" } ], "Version": "1" }
- 授予用户能读取和修改某个实例中某个命名空间下的${group}服务的权限。
{ "Statement": [ { "Effect": "Allow", "Action": [ "mse:QueryNacosNaming", "mse:UpdateNacosNaming" ], "Resource": "acs:mse:*:*:instance/${instance_id}/${namespaceId}/${group}" } ], "Version": "1" }
- 授予用户只能读取某个${group}下的${serviceName}服务的权限。
{ "Statement": [ { "Effect": "Allow", "Action": "mse:QueryNacosNaming", "Resource": "acs:mse:*:*:instance/${instance_id}/${namespaceId}/${group}/naming/${serviceName}" } ], "Version": "1" }
- 授予用户能读取和修改某个${group}下的${serviceName}服务的权限。
{ "Statement": [ { "Effect": "Allow", "Action": [ "mse:QueryNacosNaming", "mse:UpdateNacosNaming" ], "Resource": "acs:mse:*:*:instance/${instance_id}/${namespaceId}/${group}/naming/${serviceName}" } ], "Version": "1" }