MSE支持阿里云账号给RAM用户授予云原生网关的操作权限,避免因暴露阿里云账号密钥造成的安全风险。本文介绍如何创建RAM用户并给RAM用户授权,授权后您就可以通过RAM用户使用MSE云原生网关。
使用场景
某企业开通了微服务引擎MSE云原生网关服务,由于员工工作职责不同,对资源操作所需权限也不同,现有如下需求:
-
鉴于安全或信任原因,不希望将云账号密钥直接透露给员工,期望可以为员工相应的账号授予权限。
-
用户账号只能在授权的前提下操作资源,不需要进行独立的计量计费,所有开销均计入企业账号名下。
-
随时可以撤销用户账号的权限,也可以随时删除其创建的用户账号。
-
MSE云原生网关作为一个托管型产品有开发和运维两个角色,运维人员负责集群和权限的管理,开发人员负责配置和服务管理。
使用说明
您可以使用阿里云账号通过控制台和API为RAM用户授权,本文介绍如何通过控制台操作。
步骤一:创建RAM用户
使用阿里云账号登录RAM控制台并创建RAM用户。
使用阿里云账号(主账号)或RAM管理员登录RAM控制台。
在左侧导航栏,选择。
在用户页面,单击创建用户。

在创建用户页面的用户账号信息区域,设置用户基本信息。
登录名称:可包含英文字母、数字、半角句号(.)、短划线(-)和下划线(_),最多64个字符。
显示名称:最多包含128个字符或汉字。
标签:单击
,然后输入标签键和标签值。为RAM用户绑定标签,便于后续基于标签的用户管理。
说明单击添加用户,可以批量创建多个RAM用户。
-
在访问方式区域选中控制台访问或使用永久 AccessKey 访问。
-
控制台访问:完成对登录安全的基本设置,包括自动生成或自定义登录密码、是否要求下次登录时重置密码以及是否要求开启多因素认证。
说明自定义登录密码时,密码必须满足您在中设置的密码复杂度规则。关于如何设置密码复杂度规则,请参见设置RAM用户密码策略。
-
使用永久 AccessKey 访问:自动为RAM用户生成访问密钥(AccessKey),支持通过API或其他开发工具访问阿里云。
说明为了保障账号安全,建议仅为RAM用户选择一种登录方式,避免RAM用户离开组织后仍可以通过访问密钥访问阿里云资源。
-
单击确定。
步骤二:为RAM用户添加权限
在使用RAM用户之前,需要为其添加相应权限。
使用RAM管理员登录RAM控制台。
在左侧导航栏,选择。
在用户页面,单击目标RAM用户操作列的添加权限。

您也可以选中多个RAM用户,单击用户列表下方的添加权限,为RAM用户批量授权。
-
在新增授权面板,为RAM用户添加权限,然后单击确认新增授权。
选择权限策略类型,在文本框中输入要添加的权限策略关键字,然后单击搜索到的权限策略,将其添加到右侧的已选择权限策略列表中。
权限类型包括系统权限策略和自定义权限策略:
-
系统权限策略(粗粒度授权)
微服务引擎MSE目前支持两种粗粒度的系统权限策略。
权限策略名称
说明
AliyunMSEFullAccess
管理微服务引擎MSE的权限,等同于阿里云账号的权限,被授予该权限的RAM用户拥有控制台所有功能的操作权限。
AliyunMSEReadOnlyAccess
微服务引擎MSE的只读权限,被授予该权限的RAM用户具有阿里云账号所有资源的只读权限。
说明建议给运维人员授予AliyunMSEFullAccess权限策略,由运维人员去创建和删除资源。给开发人员授予AliyunMSEReadOnlyAccess权限策略,可以查看这些资源,但是不能删除和创建。如果想更细粒度地控制开发人员的权限,您可使用以下自定义权限策略。
-
自定义权限策略(细粒度授权)
如果您需要更细粒度的授权,您可以通过创建自定义策略来进行访问控制。创建自定义策略的具体步骤,请参见创建自定义权限策略。
-
示例一:授予RAM用户对云原生网关实例gw-8090caa2a3ab447a8bc5fdf3********的只读权限。
{ "Version": "1", "Statement": [ { "Action": [ "mse:Query*", "mse:List*", "mse:Get*", "mse:Select*", "mse:Pull*", "mse:GatewayBlackWhite*", "mse:GatewayHealthCheckList", "mse:GatewayQueryMonitor", "mse:UploadWasmFile" ], "Resource": "acs:mse:*:*:instance/gw-8090caa2a3ab447a8bc5fdf3********", "Effect": "Allow" }, { "Action": [ "mse:QueryDefaultAlertStatus", "mse:ListGatewayZone", "mse:ListUpgradableGatewayVersions", "mse:ListTagResources", "mse:ListGatewayIngressMigrateTask", "mse:ListEventRecords", "mse:GetEventFilterOptions", "mse:GetEventDetail", "mse:GetGatewaySelection", "mse:GetGatewayAlarms", "mse:GetGatewayMigrateNamespacedServices", "mse:GetGatewayIngressMigrateTaskDetail", "mse:GetPluginGuide", "mse:GetRegExpCheck", "mse:GetRegExpTest", "mse:CheckPluginLua" ], "Resource": "acs:mse:*:*:*", "Effect": "Allow" }, { "Action": [ "log:DescribeService", "log:ListProject", "log:GetProductDataCollection" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "arms:SearchContactGroup" ], "Resource": "*", "Effect": "Allow" } ] } -
示例二:授予RAM用户对云原生网关实例gw-8090caa2a3ab447a8bc5fdf3********的读写权限。
{ "Version": "1", "Statement": [ { "Action": [ "mse:*" ], "Resource": "acs:mse:*:*:instance/gw-8090caa2a3ab447a8bc5fdf3********", "Effect": "Allow" }, { "Action": [ "mse:QueryDefaultAlertStatus", "mse:CreateDefaultAlert", "mse:ListGatewayZone", "mse:ListUpgradableGatewayVersions", "mse:ListEventRecords", "mse:GetEventFilterOptions", "mse:GetEventDetail", "mse:GetGatewaySelection", "mse:GetGatewayAlarms", "mse:GetGatewayMigrateNamespacedServices", "mse:GetPluginGuide", "mse:GetRegExpCheck", "mse:GetRegExpTest", "mse:CheckPluginLua", "mse:*TagResources", "mse:*CustomPlugin", "mse:*GatewayIngressMigrateTask*" ], "Resource": "acs:mse:*:*:*", "Effect": "Allow" }, { "Action": [ "log:DescribeService", "log:ListProject", "log:GetProductDataCollection", "log:OpenProductDataCollection" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "arms:SearchContactGroup" ], "Resource": "*", "Effect": "Allow" } ] }
-
-
-
在新增授权面板,确认授权成功后,单击关闭。
后续操作
使用阿里云账号创建好RAM用户后,即可将RAM用户的登录名称及密码或者AccessKey信息分发给其他用户。其他用户可以按照以下步骤使用RAM用户登录控制台或调用API。
-
登录控制台
-
打开RAM用户登录页面。
-
在RAM 用户登录页面,输入RAM用户名,单击下一步,并输入RAM用户密码,然后单击登录。
说明RAM用户登录名称的格式为
<$username>@<$AccountAlias>或<$username>@<$AccountAlias>.onaliyun.com。<$AccountAlias>为账号别名,如果没有设置账号别名,则默认值为阿里云账号的ID。 -
在子用户页面上单击有权限的产品,即可访问控制台。
-
-
调用API
使用RAM用户的AccessKey调用API。在代码中使用RAM用户的AccessKey ID和AccessKey Secret即可。
云原生网关授权映射表
为了方便您自定义RAM权限策略,本文提供了MSE云原生网关的授权映射表。
网关
|
Action |
权限说明 |
是否为只读类权限 |
|
AddGateway |
创建按量付费的云原生网关 |
否 |
|
ListGateway |
查询网关集群列表 |
是 |
|
GetGatewayDetail |
查看单个网关详情 |
是 |
|
GetGateway |
查询单个网关信息 |
是 |
|
ListGatewaySlb |
查询网关入口SLB |
是 |
|
SelectGatewaySlb |
查询已有的SLB |
否 |
|
AddGatewaySlb |
新关联一个网关入口SLB |
否 |
|
DeleteGatewaySlb |
解绑一个网关入口SLB |
否 |
|
DeleteGateway |
删除按量付费的云原生网关 |
否 |
服务来源
|
Action |
权限说明 |
是否为只读类权限 |
|
ListServiceSource |
查询服务来源列表 |
是 |
|
GetKubernetesSource |
查询已有的ACK集群 |
是 |
|
GetMseSource |
查询已有的MSE注册中心 |
是 |
|
AddServiceSource |
关联服务来源 |
否 |
|
DeleteServiceSource |
解绑服务来源 |
否 |
|
PullServices |
查询已有的服务列表 |
是 |
|
ImportServices |
创建或导入服务 |
否 |
|
ListGatewayService |
查询已订阅服务列表 |
是 |
|
GetGatewayServiceDetail |
查询服务详情 |
是 |
|
AddGatewayServiceVersion |
添加服务版本 |
否 |
|
UpdateGatewayServiceVersion |
更新服务版本 |
否 |
|
DeleteGatewayServiceVersion |
删除服务版本 |
否 |
|
UpdateGatewayServiceTrafficPolicy |
修改服务负载均衡策略 |
否 |
路由
|
Action |
权限说明 |
是否为只读类权限 |
|
ListGatewayRoute |
查询网关路由列表 |
是 |
|
AddGatewayRoute |
创建网关路由 |
否 |
|
ApplyGatewayRoute |
发布网关路由 |
否 |
|
OfflineGatewayRoute |
下线网关路由 |
否 |
|
DeleteGatewayRoute |
删除网关路由 |
否 |
|
GetGatewayRouteDetail |
查询路由详情 |
是 |
|
GetRateLimit |
查询路由限流配置 |
是 |
|
AddRateLimit |
增加路由限流配置 |
否 |
|
UpdateRateLimit |
删除路由限流配置 |
否 |
|
UpdateGatewayRouteHTTPRewrite |
更新路由重写策略 |
否 |
|
UpdateGatewayRouteHeaderOp |
更新路由Header设置 |
否 |
|
UpdateGatewayRouteCORS |
更新路由跨域策略 |
否 |
|
UpdateGatewayRouteTimeout |
更新路由超时策略 |
否 |
|
UpdateGatewayRouteRetry |
更新路由重试策略 |
否 |
证书域名
|
Action |
权限说明 |
是否为只读类权限 |
|
ListGatewayDomain |
查询关联域名列表 |
是 |
|
AddGatewayDomain |
关联域名 |
否 |
|
GetGatewayDomainDetail |
查询域名关联详情 |
是 |
|
UpdateGatewayDomain |
更新域名关联信息 |
否 |
|
DeleteGatewayDomain |
解绑关联域名 |
否 |
|
ListSSLCert |
查询已有证书 |
是 |
|
AddSSLCert |
关联域名证书 |
否 |
|
UpdateSSLCert |
更新域名证书 |
是 |
其他
|
Action |
权限说明 |
是否为只读类权限 |
|
GetBlackWhiteList |
查询黑白名单 |
是 |
|
AddBlackWhiteList |
添加黑白名单 |
否 |
|
UpdateBlackWhiteList |
更新黑白名单 |
否 |
|
AddGatewayAuth |
添加鉴权 |
否 |
|
ListGatewayAuth |
查询鉴权列表 |
是 |
|
UpdateGatewayAuth |
更新鉴权 |
否 |
|
DeleteGatewayAuth |
删除鉴权 |
否 |
|
AddAuthResource |
添加鉴权Path |
否 |
|
DeleteAuthResource |
删除鉴权Path |
否 |