MSE支持阿里云账号通过控制台和OpenAPI为RAM用户授权微服务治理中心的操作权限,避免因暴露阿里云账号密钥造成的安全风险。授权后,您可以通过RAM用户使用MSE微服务治理中心。本文介绍如何在控制台创建RAM用户并为RAM用户授权。
使用场景
某企业开通了微服务引擎MSE服务,由于员工工作职责不同,对资源操作所需权限也不同。运维人员负责做应用和权限的管理,开发人员负责配置应用的规则。例如如下需求。
鉴于安全或信任原因,不希望将云账号密钥直接透露给员工,期望可以为员工相应的账号授予权限。
用户账号只能在授权的前提下操作资源,不需要进行独立的计量计费,所有开销均计入企业账号名下。
随时可以撤销用户账号的权限,也可以随时删除创建的用户账号。
步骤一:创建RAM用户
具体操作,请参见创建RAM用户。
步骤二:为RAM用户添加权限
在使用RAM用户之前,需要为其添加相应权限。
使用阿里云账号(主账号)或RAM管理员登录RAM控制台。
在左侧导航栏,选择 。
在用户页面的操作列,单击目标授权用户对应的添加权限。为RAM用户添加权限,然后单击确定。
选择授权应用范围。
整个云账号:权限在当前阿里云账号内生效。
指定资源组:权限在指定的资源组内生效。
说明指定资源组授权生效的前提是该云服务已支持资源组,详情请参见支持资源组的云服务。资源组授权示例,请参见使用资源组限制RAM用户管理指定的ECS实例。
指定授权主体。
授权主体即需要添加权限的RAM用户。
选择权限策略。
选择权限策略类型,在文本框中输入要添加的权限策略关键字,然后单击搜索到的权限策略,添加到右侧的已选择列表中。
权限类型包括系统策略和自定义策略:
系统权限策略(粗粒度授权)
权限策略名称
说明
AliyunMSEFullAccess
管理微服务引擎MSE的权限,等同于阿里云账号的权限,被授予该权限的RAM用户拥有MSE控制台所有功能的操作权限。
AliyunMSEReadOnlyAccess
微服务引擎MSE的只读权限,被授予该权限的RAM用户具有MSE控制台的只读权限。
说明建议为运维人员授予AliyunMSEFullAccess权限策略,允许运维人员创建和删除资源。为开发人员授予AliyunMSEReadOnlyAccess权限策略,允许开发人员查看资源,但无法删除和创建资源。
自定义权限策略(细粒度授权)
如果您需要更细粒度地授权,您可以参考权限配置示例来创建自定义策略进行访问控制。创建自定义策略的具体操作步骤,请参见创建自定义权限策略。
在添加权限的授权结果页面,查看授权信息摘要,并单击完成。
权限配置示例
所有应用的只读权限
例如使用阿里云账号授予RAM用户以下权限:
RAM用户具备当前阿里云账号下的所有微服务治理应用的只读权限
同时满足上述权限的权限策略如下:
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"mse:QueryNamespace",
"mse:GetApplicationListWithMetircs",
"mse:ListNamespaces",
"mse:GetEventFilterOptions",
"mse:ListEventRecords",
"mse:GetEventDetail",
"mse:FetchLogConfig",
"mse:QueryBusinessLocations",
"mse:GetApplicationInstanceList",
"mse:listGrayTag",
"mse:QueryServiceDetailWithMetrics",
"mse:GetEventDetail",
"mse:ListEventsPage",
"mse:ListEventsByType",
"mse:GetApplicationTagList"
],
"Resource": "acs:mse:*:*:*"
},
{
"Effect": "Allow",
"Action": "mse:GetApplicationList",
"Resource": "acs:mse:*:*:namespace/${ns}"
}
]
}
某个应用的全部操作权限
例如使用阿里云账号授予RAM用户以下权限:
RAM用户具备当前阿里云账号下的所有微服务治理应用的只读权限
RAM用户具备指定的微服务治理应用的只读权限
同时满足上述权限的权限策略如下:
{
"Version": "1",
"Statement": [
// 对特定微服务治理应用具有所有权限
{
"Effect": "Allow",
"Action": "mse:*",
"Resource": "acs:mse:*:*:namespace/${ns}/application/${appName}"
},
// 下面为对所有微服务治理应用的只读权限
{
"Effect": "Allow",
"Action": [
"mse:QueryNamespace",
"mse:GetApplicationListWithMetircs",
"mse:ListNamespaces",
"mse:GetEventFilterOptions",
"mse:ListEventRecords",
"mse:GetEventDetail",
"mse:FetchLogConfig",
"mse:QueryBusinessLocations",
"mse:GetApplicationInstanceList",
"mse:listGrayTag",
"mse:QueryServiceDetailWithMetrics",
"mse:GetEventDetail",
"mse:ListEventsPage",
"mse:ListEventsByType",
"mse:GetApplicationTagList"
],
"Resource": "acs:mse:*:*:*"
},
{
"Effect": "Allow",
"Action": "mse:GetApplicationList",
"Resource": "acs:mse:*:*:namespace/${ns}"
}
]
上述示例中,${ns}为对应微服务治理命名空间名称,${appName}为对应应用名称。${ns}和${appName}均支持通配符匹配。
- 本页导读 (1)