MSE支持阿里云账号给RAM用户授予MSE的操作权限,避免因暴露阿里云账号密钥造成的安全风险。本文介绍如何创建RAM用户并给RAM用户授权,授权后您就可以通过RAM用户使用MSE。
使用场景
某企业开通了微服务引擎MSE服务,由于员工工作职责不同,对资源操作所需权限也不同,现有如下需求:
- 鉴于安全或信任原因,不希望将云账号密钥直接透露给员工,期望可以为员工相应的账号授予权限。
- 用户账号只能在授权的前提下操作资源,不需要进行独立的计量计费,所有开销均计入企业账号名下。
- 随时可以撤销用户账号的权限,也可以随时删除其创建的用户账号。
- MSE作为一个托管型产品有开发和运维两个角色,运维人员负责做集群的管理、命名空间和权限的管理,开发人员负责配置和服务管理。
使用说明
阿里云账号和RAM用户授权可以作用于控制台和OpenAPI操作。
步骤一:创建RAM用户
使用阿里云账号登录RAM控制台并创建RAM用户。
- 使用阿里云账号登录RAM控制台。
- 在左侧导航栏选择。
- 在用户页面单击创建用户。
- 在用户账号信息区域输入登录名称和显示名称。
- 在访问方式区域选中控制台访问或OpenAPI调用访问。
- 控制台访问:完成对登录安全的基本设置,包括自动生成或自定义登录密码、是否要求下次登录时重置密码以及是否要求开启多因素认证。
说明 自定义登录密码时,密码必须满足您在中设置的密码复杂度规则。关于如何设置密码复杂度规则,请参见
设置RAM用户密码强度。
- OpenAPI调用访问:自动为RAM用户生成访问密钥(AccessKey),支持通过API或其他开发工具访问阿里云。
说明 为了保障账号安全,建议仅为RAM用户选择第一种登录方式,避免RAM用户离开组织后仍可以通过访问密钥访问阿里云资源。
- 单击确定。
步骤二:为RAM用户添加权限
在使用RAM用户之前,需要为其添加相应权限。
- 使用阿里云账号登录RAM控制台。
- 在左侧导航栏选择。
- 在用户页面,找到需要授权的用户,单击操作列中的添加权限。
- 在添加权限面板的选择权限区域,选择权限策略类型,在文本框中输入要添加的权限策略,单击搜索到的权限策略,然后单击确定。
- 系统权限策略(粗粒度授权)
微服务引擎MSE目前支持两种粗粒度的系统权限策略。
权限策略名称 |
说明 |
AliyunMSEFullAccess |
管理微服务引擎MSE的权限,等同于阿里云账号的权限,被授予该权限的RAM用户拥有控制台所有功能的操作权限。 |
AliyunMSEReadOnlyAccess |
微服务引擎MSE的只读权限,被授予该权限的RAM用户具有阿里云账号所有资源的只读权限。 |
说明 建议给运维人员授予AliyunMSEFullAccess权限策略,由运维人员去创建和删除资源。给开发人员授予AliyunMSEReadOnlyAccess权限策略,可以查看这些资源,但是不能删除和创建。如果想更细粒度地控制开发人员的权限,您可使用以下自定义权限策略。
- 自定义权限策略(细粒度授权)
如果您需要更细粒度地授权,您可以通过创建自定义策略来进行访问控制。创建自定义策略的具体步骤,请参见创建自定义权限策略。
为了方便您自定义RAM权限策略,本文提供了微服务引擎MSE版的授权映射表。
Action |
权限说明 |
是否为只读类权限 |
CreateCluster |
创建集群 |
否 |
DeleteCluster |
删除集群 |
否 |
ListClusters |
查看集群列表 |
是 |
QueryClusterDetail |
更新集群详情 |
是 |
RestartCluster |
重启集群 |
否 |
RetryCluster |
重试集群 |
否 |
UpdateCluster |
更新集群 |
否 |
CreateNacosConfig |
创建Nacos配置 |
否 |
DeleteNacosConfig |
删除Nacos配置 |
否 |
DeleteNacosConfigs |
批量删除Nacos配置 |
否 |
GetNacosConfig |
查看Nacos配置 |
是 |
GetNacosHistoryConfig |
查看Nacos配置历史 |
是 |
ListNacosConfigs |
查看Nacos配置列表 |
是 |
ListNacosHistoryConfigs |
查看Nacos配置历史列表 |
是 |
UpdateNacosConfig |
更新Nacos配置 |
否 |
ListAnsServices |
查看所有服务 |
是 |
ListAnsServiceClusters |
查看某服务的集群 |
是 |
ListAnsInstances |
查看某服务的实例 |
是 |
UpdateNacosInstance |
更新实例 |
否 |
DeleteNacosService |
删除服务 |
否 |
CreateNacosService |
创建服务 |
否 |
UpdateNacosService |
更新服务 |
否 |
CreateNacosInstance |
创建实例 |
否 |
UpdateNacosCluster |
更新服务集群 |
否 |
示例一:授予RAM用户对实例mse-cn-0pp1j8om80a的读写权限。
{
"Statement": [
{
"Action": "mse:ListClusters",
"Resource": "acs:mse:*:*:*",
"Effect": "Allow"
},
{
"Action": "mse:*",
"Resource": "acs:mse:*:*:instance/mse-cn-0pp1j8om80a",
"Effect": "Allow"
}
],
"Version": "1"
}
示例二:授予RAM用户对所有实例的读权限。
{
"Statement": [
{
"Action": [
"mse:List*",
"mse:Query*",
"mse:Get*"
],
"Resource": "acs:mse:*:*:*",
"Effect": "Allow"
}
],
"Version": "1"
}
示例三:授予RAM用户对实例mse-cn-0pp1j8om80a中命名空间3fd98c48-a709-4061-bba1-e341d79d681b的配置读写权限。
说明 该场景是一个复杂的场景,要拥有这个细粒度权限需要以下三个层次的权限:
- 拥有看到实例列表的权限,这样才能从集群列表中看到对应集群。
- 拥有这个集群的所有读权限,这样可以进入这个实例看到所有的资源。
- 拥有这个命名空间下面的配置创建和修改的权限。
{
"Version": "1",
"Statement": [{
"Action": [
"mse:ListClusters"
],
"Resource": [
"acs:mse:*:*:*"
],
"Effect": "Allow"
},
{
"Action": [
"mse:List*",
"mse:Query*",
"mse:Get*"
],
"Resource": [
"acs:mse:*:*:instance/mse-cn-0pp1j8om8"
],
"Effect": "Allow"
},
{
"Action": [
"mse:CreateNacosConfig",
"mse:UpdateNacosConfig"
],
"Resource": [
"acs:mse:*:*:instance/mse-cn-0pp1j8om8/3fd98c48-a709-4061-bba1-e341d79d681b"
],
"Effect": "Allow"
}
]
}
- 在添加权限的授权结果页面上,查看授权信息摘要,并单击完成。
后续操作
使用阿里云账号创建好RAM用户后,即可将RAM用户的登录名称及密码或者AccessKey信息分发给其他用户。其他用户可以按照以下步骤使用RAM用户登录控制台或调用API。