使用企业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角色时,您可以选择其他云账号,然后输入其他阿里云账号(主账号)ID。该项主要针对跨阿里云账号的资源授权访问场景,相关教程,请参见跨阿里云账号的资源授权。
您可以在安全设置页面查看阿里云账号(主账号)ID。
重要如果您仅允许指定的RAM用户扮演该RAM角色,而不是阿里云账号(主账号)下的所有RAM用户,您可以采取以下两种方式:
修改RAM角色的信任策略。具体操作,请参见示例一:修改RAM角色的可信实体为阿里云账号。
修改RAM用户的角色扮演权限策略。具体操作,请参见能否指定RAM用户具体可以扮演哪个RAM角色?。
单击完成。
单击关闭。
步骤二:企业A为该RAM角色添加权限
新创建的角色没有任何权限,因此企业A必须为该角色添加权限。
步骤三:企业B创建RAM用户
接下来要使用企业B的阿里云账号登录RAM控制台并创建RAM用户。
操作步骤
使用阿里云账号(主账号)或RAM管理员登录RAM控制台。
在左侧导航栏,选择 。
在用户页面,单击创建用户。
在创建用户页面的用户账号信息区域,设置用户基本信息。
登录名称:可包含英文字母、数字、半角句号(.)、短划线(-)和下划线(_),最多64个字符。
显示名称:最多包含128个字符或汉字。
标签:单击,然后输入标签键和标签值。为RAM用户绑定标签,便于后续基于标签的用户管理。
说明单击添加用户,可以批量创建多个RAM用户。
在访问方式区域,选择访问方式,然后设置对应参数。
为了账号安全,建议您只选择以下访问方式中的一种,将人员用户和应用程序用户分离,避免混用。
控制台访问
如果RAM用户代表人员,建议启用控制台访问,使用用户名和登录密码访问阿里云。您需要设置以下参数:
控制台登录密码:选择自动生成密码或者自定义密码。自定义登录密码时,密码必须满足密码复杂度规则。更多信息,请参见设置RAM用户密码强度。
密码重置策略:选择RAM用户在下次登录时是否需要重置密码。
多因素认证(MFA)策略:选择是否为当前RAM用户启用MFA。启用MFA后,主账号还需要为RAM用户绑定MFA设备或RAM用户自行绑定MFA设备。更多信息,请参见为RAM用户绑定MFA设备。
OpenAPI调用访问
如果RAM用户代表应用程序,建议启用OpenAPI调用访问,使用访问密钥(AccessKey)访问阿里云。启用后,系统会自动为RAM用户生成一个AccessKey ID和AccessKey Secret。更多信息,请参见创建AccessKey。
重要RAM用户的AccessKey Secret只在创建时显示,不支持查看,请妥善保管。
单击确定。
根据界面提示,完成安全验证。
步骤四:企业B为RAM用户添加权限
企业B必须为其阿里云账号下的RAM用户添加AliyunSTSAssumeRoleAccess权限,RAM用户才能扮演企业A创建的RAM角色。
使用RAM管理员登录RAM控制台。
在左侧导航栏,选择 。
在用户页面,单击目标RAM用户操作列的添加权限。
您也可以选中多个RAM用户,单击用户列表下方的添加权限,为RAM用户批量授权。
在新增授权面板,为RAM用户添加权限。
选择资源范围。
账号级别:权限在当前阿里云账号内生效。
资源组级别:权限在指定的资源组内生效。
重要指定资源组授权生效的前提是该云服务及资源类型已支持资源组,详情请参见支持资源组的云服务。资源组授权示例,请参见使用资源组限制RAM用户管理指定的ECS实例。
选择授权主体。
授权主体即需要添加权限的RAM用户。系统会自动选择当前的RAM用户。
选择权限策略。
权限策略是一组访问权限的集合,分为以下两种。支持批量选中多条权限策略。
单击确认新增授权。
单击关闭。
后续步骤
完成上述操作后,企业B的RAM用户即可按照以下步骤登录控制台访问企业A的云资源或调用API。
登录控制台访问企业A的云资源
RAM用户登录阿里云控制台。
在RAM用户登录页面,输入RAM用户名,单击下一步。
方式一:使用默认域名登录。RAM用户的登录格式为
<UserName>@<AccountAlias>.onaliyun.com
,例如:username@company-alias.onaliyun.com。方式二:使用账号别名登录。RAM用户的登录格式为
<UserName>@<AccountAlias>
,例如:username@company-alias。方式三:如果创建了域别名,也可以使用域别名登录。RAM用户的登录格式为
<UserName>@<DomainAlias>
,例如:username@example.com。
输入RAM用户的登录密码,然后单击登录。
(可选)如果您开启了多因素认证(MFA),则需要输入虚拟MFA设备生成的验证码,或通过U2F安全密钥认证。
更多信息,请参见多因素认证(MFA)和为RAM用户绑定MFA设备。
使用企业B的RAM用户通过API访问企业A的云资源
要使用企业B的RAM用户通过API访问企业A的云资源,必须在代码中提供RAM用户的AccessKeyId、AccessKeySecret和SecurityToken(临时安全令牌)。使用STS获取临时安全令牌的方法,请参见AssumeRole - 获取扮演角色的临时身份凭证。