阿里云OSS的资源默认都是私有的,如果您希望您的合作伙伴可以访问您的OSS资源,可以通过RAM角色实现跨账号访问。
背景信息
某公司A希望其合作公司B可以访问自己名下OSS内的数据,但又不方便开放RAM账号给公司B。此时,公司A可创建一个RAM角色,并授权RAM角色OSS的访问权限。公司B可用RAM用户扮演这个RAM角色,实现跨账号访问的目的。
步骤1:公司A创建RAM角色并授予OSS访问权限
公司A需要先创建一个拥有OSS访问权限的RAM角色,提供给公司B的RAM用户扮演。
创建RAM角色。
使用公司A账号登录RAM控制台。
在左侧导航栏,选择 。
在角色页面,单击创建角色。
在创建角色面板,选择可信实体类型为阿里云账号,然后单击下一步。
设置角色信息。
设置角色名称,本示例角色名称设置为
admin-oss
。可选:输入备注。
信任的云账号选择其他云账号,然后输入公司B的阿里云账号UID(
17464958576******
)。
单击完成。
说明以上RAM角色创建后,该RAM角色默认可以被可信阿里云账号(公司B账号UID)下的所有RAM用户、RAM角色扮演。如果您希望创建的RAM角色只能被可信阿里云账号下的指定RAM用户或者RAM角色扮演,则需要对已创建RAM角色的信任策略进行手动修改。更多信息,请参见修改RAM角色的可信实体为阿里云账号。
为RAM角色授权。
在角色页面,单击目标角色
admin-oss
右侧的新增授权。在新增授权面板,选择AliyunOSSReadOnlyAccess权限策略。
重要AliyunOSSReadOnlyAccess为只读访问OSS所有资源的权限。如果您仅希望授权其他用户访问部分Bucket或者Bucket的部分目录,您可以通过创建自定义策略。关于自定义策略的更多信息,请参见RAM Policy。
单击确定。
单击完成。
步骤2:公司B创建RAM用户并授予允许扮演RAM角色的权限
公司B需要创建一个可以扮演角色的RAM用户,用于扮演公司A创建的RAM角色。
创建RAM用户。
使用公司B账号登录RAM控制台。
在左侧导航栏,选择 。
在用户页面,单击创建用户。
在创建用户页面的用户账号信息区域,输入登录名称和显示名称。
在访问方式区域,选择控制台访问,并根据需要设置控制台登录密码、重置密码策略和多因素认证策略。
说明自定义登录密码时,密码必须满足密码复杂度规则。关于设置密码复杂度规则的更多信息,请参见设置RAM用户密码强度。
单击确定。
为RAM用户授权。
在用户页面,找到目标RAM用户右侧的添加权限。
在添加权限页面,选择策略为系统策略,然后单击AliyunSTSAssumeRoleAccess策略。
单击确定。
单击完成。
步骤3:公司B的RAM用户登录控制台并扮演公司A的RAM角色
公司B需使用刚创建的RAM用户登录阿里云控制台,并切换身份为公司A创建的RAM角色。
公司B使用RAM用户登录阿里云控制台。具体操作,请参见RAM用户登录阿里云控制台。
鼠标移至右上角的头像上,单击切换身份。
在角色切换页面,输入RAM角色信息,然后单击提交。
RAM角色信息如下:
企业别名/默认域名/主账号UID:填写公司A的企业别名、默认域名或者主账号UID。更多信息,请参见基本概念。
本示例以默认域名为例,输入默认域名为
1178810717******.onaliyun.com
,1178810717******
为公司A阿里云账号的UID。角色名:输入公司A创建的RAM角色
admin-oss
。
打开OSS管理控制台即可管理公司A的OSS资源。
更多参考
您也可以通过Bucket Policy实现以上需求。具体操作,请参见教程示例:基于Bucket Policy实现跨账号访问OSS。