使用企业A的阿里云账号创建RAM角色并为该角色授权,并将该角色赋予企业B,即可实现使用企业B的阿里云账号或其RAM用户访问企业A的阿里云资源的目的。
背景信息
假设企业A购买了多种云资源来开展业务,并需要授权企业B代为开展部分业务,则可以利用RAM角色来实现此目的。RAM角色是一种虚拟用户,没有确定的身份认证密钥,需要被一个受信的实体用户扮演才能正常使用。为了满足企业A的需求,可以按照以下流程操作:
- 企业A创建RAM角色
- 企业A为该RAM角色添加权限
- 企业B创建RAM用户
- 企业B为RAM用户添加AliyunSTSAssumeRoleAccess权限
- 企业B的RAM用户通过控制台或API访问企业A的资源
ARMS提供的系统权限策略包括完整权限和只读权限,您可以根据需求选择为RAM用户添加对应的权限:
AliyunARMSFullAccess:ARMS的完整权限,添加该权限后,RAM用户拥有对各子产品实例的查看、编辑、删除等所有操作权限。
说明添加AliyunARMSFullAccess权限后无需再添加AliyunARMSReadOnlyAccess权限。
AliyunARMSReadOnlyAccess:ARMS的只读权限,添加该权限后,RAM用户只支持查看各子产品的实例信息,不支持修改、删除等操作。
重要为了实现对ARMS所有功能的只读权限,除了添加AliyunARMSReadOnlyAccess权限策略外,还需要为特定的资源组配置ReadTraceApp权限,否则ARMS将无法展示资源组鉴权下的应用列表。
步骤一:企业A创建RAM角色
首先需要使用企业A的阿里云账号登录RAM控制台并创建RAM角色。
-
使用RAM管理员登录RAM控制台。
-
在左侧导航栏,选择。
-
在角色页面,单击创建角色。
-
在创建角色页面,选择信任主体类型为云账号,然后设置具体的阿里云账号,最后单击确定。
-
当前云账号:当您允许当前阿里云账号下的所有RAM用户和RAM角色扮演当前正在创建的RAM角色时,您可以选择当前云账号。
-
其他云账号:当您允许其他阿里云账号下的所有RAM用户和RAM角色扮演当前正在创建的RAM角色时,您可以选择其他云账号,然后输入其他阿里云账号(主账号)ID。该项主要针对跨阿里云账号的资源授权访问场景,相关教程,请参见跨阿里云账号访问资源。您可以在安全设置页面查看阿里云账号(主账号)ID。
-
-
(可选)如果您想设置RAM角色只能被可信阿里云账号下的指定RAM用户或RAM角色扮演,您可以单击切换编辑器,在编辑器中修改RAM角色的信任策略。
编辑器支持可视化编辑和脚本编辑两种模式,您可以任选其一。以下示例表示当前创建的RAM角色只能被当前阿里云账号(AccountID=100******0719)下的RAM用户
Alice扮演。-
可视化编辑
在主体中指定具体的RAM用户名称。
单击云账号旁的编辑链接,输入需要信任的云账号 ID。
在添加主体弹窗中,云账号选择当前云账号,身份类型选择RAM 用户,用户名称输入目标用户(如 Alice),然后单击确定。
-
脚本编辑
在
Principal的RAM字段中指定具体的RAM用户。{ "Version": "1", "Statement": [ { "Effect": "Allow", "Principal": { "RAM": "acs:ram::100******0719:user/Alice" }, "Action": "sts:AssumeRole" } ] }
-
-
在创建角色对话框,输入角色名称,然后单击确定。
步骤二:企业A为该RAM角色添加权限
新创建的角色没有任何权限,因此企业A必须为该角色添加权限。
步骤三:企业B创建RAM用户
接下来要使用企业B的阿里云账号登录RAM控制台并创建RAM用户。
使用阿里云账号(主账号)或拥有RAM管理员权限(
AliyunRAMFullAccess)的RAM用户登录RAM控制台。在左侧导航栏,选择。
在用户页面,单击创建用户。
在创建用户页面的用户账号信息区域,设置用户基本信息。
登录名称(必填):可包含英文字母、数字、半角句号(.)、短划线(-)和下划线(_),最多64个字符。
显示名称(选填):最多包含128个字符或汉字。
标签(选填):单击
,然后输入标签键和标签值,便于后续基于标签的用户管理。安全手机(选填):填写+86格式的手机号码。+86为国家/地区代码,默认已选,只需输入手机号码本体。第一次绑定后需要通过短信验证激活。
说明单击添加用户,可以批量创建多个RAM用户。
在访问方式区域,根据用户类型进行配置:
重要为了账号安全,建议您只选择以下访问方式中的一种,将人员用户和应用程序用户分离,避免混用。如果RAM用户需要同时具备控制台登录和API调用能力,可以同时勾选两种访问方式;勾选使用永久AccessKey访问后,需勾选我确认必须创建AccessKey确认框才能继续创建。
访问密钥(AccessKey)是一种长期有效的程序访问凭证。AccessKey泄露会威胁该账号下所有资源的安全。建议优先采用STS Token临时凭证方案,降低凭证泄露的风险。更多信息,请参见使用访问凭据访问阿里云OpenAPI最佳实践。
给员工使用(控制台访问)
勾选控制台访问。
设置密码:您可以选择自动生成密码或者自定义密码。自定义登录密码时,密码必须满足密码复杂度规则。更多信息,请参见设置RAM用户密码策略。
需要重置密码:选择RAM用户在下次登录时是否需要重置密码。
MFA 多因素认证:账号默认设置为强制所有用户登录时必须使用 MFA。如需修改,请参考管理RAM用户安全设置。RAM用户首次登录时需要绑定MFA设备,请参考RAM用户自行绑定MFA设备。
给程序使用(使用永久AccessKey访问)
勾选使用永久AccessKey访问。
启用后,系统会自动为RAM用户生成一个AccessKey ID和AccessKey Secret。
重要RAM用户的AccessKey Secret只在创建时显示,不支持后续查看,请务必立即下载或复制保存AccessKey Secret。泄露AccessKey将严重威胁您账号下所有资源的安全。更多信息详见创建AccessKey。
步骤四:企业B为RAM用户添加权限
企业B必须为其阿里云账号下的RAM用户添加AliyunSTSAssumeRoleAccess权限,RAM用户才能扮演企业A创建的RAM角色。
登录RAM控制台
在左侧导航栏选择身份管理 >用户。
在用户页面,找到已经创建好的RAM用户,单击操作列的新增授权。
您也可以选中多个RAM用户,单击用户列表下方的新增授权,为多个RAM用户新增授权。
在新增授权面板,为RAM用户添加权限。
选择资源范围:
账号级别:权限在当前阿里云账号内全部资源生效。适用于通用、无需按资源组隔离的场景。
资源组级别:权限仅在指定资源组内生效。适用于多团队共用一个账号、需按资源组隔离权限的场景。如果RAM用户被授予了资源组级别的权限,该用户登录控制台后,必须在顶部导航栏将资源范围切换到被授权的资源组,才能正常访问和管理该资源组内的资源。
说明系统会自动标识出高风险系统策略(例如:AdministratorAccess、AliyunRAMFullAccess等),这些策略通常包含对所有云资源的完全控制权限或对访问控制(RAM)的完全管理权限等,请谨慎授予。
资源组授权示例,请参见使用资源组限制RAM用户管理指定的ECS实例。
选择授权主体:
授权主体即需要添加权限的RAM用户。如果是从用户页面发起,系统会自动选择当前的RAM用户。如果是从授权页面发起,需要手动选择RAM用户,支持批量选中多个。
选择权限策略:
系统策略:可以直接搜索并选择。搜索技巧:您可以利用搜索框快速定位策略。支持按产品名称(如
ECS、OSS)、权限级别(如ReadOnly、FullAccess)或完整的策略名称进行模糊搜索。例如,为 RAM 用户授予财务管理(费用与成本)权限时,搜索BSS即可找到AliyunBSSFullAccess(管理费用与成本)等财务相关策略。以下列出部分常见云产品对应的系统策略名称,方便快速定位:
云产品
系统策略名称
权限说明
费用与成本(财务管理)
AliyunBSSFullAccess管理费用与成本
云监控
AliyunCloudMonitorReadOnlyAccess只读访问云监控
智能建站
AliyunWebsiteBuildFullAccess管理智能建站
云效
AliyunYunxiaoFullAccess管理云效
百炼
AliyunBailianFullAccess管理百炼
云解析 DNS
AliyunDNSFullAccess管理云解析 DNS
SSL 证书
AliyunYundunCertFullAccess管理 SSL 证书
无影云手机
AliyunECDFullAccess管理无影云手机
工单支持
AliyunSupportFullAccess管理工单
资源中心
AliyunResourceCenterFullAccess管理资源中心
AgentBay
AliyunAgentBayFullAccess管理 AgentBay
云安全中心
AliyunYundunSASFullAccess管理云安全中心
如果搜索不到目标产品的系统策略,可查阅对应云产品的权限文档获取完整列表,也可以创建自定义策略以满足更精细的权限控制需求。
自定义策略:需要先创建自定义权限策略后再来授权。
跨页勾选限制:权限策略列表分页显示,全选操作仅作用于当前页。翻页后,已选策略仍保留在已选列表中,但新页面中的策略不会自动选中,需逐页勾选。
快速授予管理员权限:如需授予管理员权限,可在搜索框中输入
AdministratorAccess搜索并直接勾选,无需逐页勾选。选中该策略时会触发高风险授权提醒。
提交授权:单击确认新增授权。
确认授权绑定操作结果,单击关闭。
后续步骤
完成上述操作后,企业B的RAM用户即可按照以下步骤登录控制台访问企业A的云资源或调用API。
登录控制台访问企业A的云资源
访问RAM用户登录页面。
在RAM用户登录页签,输入用户名,单击下一步。用户名格式通常为:
<RAM用户名>@<默认域名>或<RAM用户名>@<域别名>。默认域名和域别名的查看与修改详见管理RAM用户登录域名单击通行密钥登录。如果通行密钥登录失败,您也可以单击使用密码登录。
系统将唤起浏览器的安全验证弹窗。如果绑定了多个类型的通行密钥,您需要选择设备类型。
完成通行密钥验证后,即可登录。
使用企业B的RAM用户通过API访问企业A的云资源
要使用企业B的RAM用户通过API访问企业A的云资源,必须在代码中提供RAM用户的AccessKeyId、AccessKeySecret和SecurityToken(临时安全令牌)。使用STS获取临时安全令牌的方法,请参见AssumeRole - 获取扮演角色的临时身份凭证。