本文介绍如何授予其他账号下的 IAM 用户访问桶和桶内资源的权限。
210000****
为例)下的 user
用户。bucketname1
存储桶。授予其他账号下的 IAM 用户访问桶和桶内资源的权限时,您需要进行双向授权,即桶所属账号需要配置桶策略允许其他账号下的 IAM 用户访问桶和桶内资源,然后其他账号也需要配置 IAM 策略允许其下的 IAM 用户访问桶和桶内资源。
例如允许账号 B 下的 IAM 用户 B1 访问账号 A 的 C 桶,则您需要执行以下步骤:
权限配置后略有延迟,如果您配置的权限没有立即生效,建议您稍后重试。
桶所属账号配置桶策略,允许其他账号(210000****
)下的 user
用户对 bucketname1 桶执行 GetObject、PutObject、ListBucket、ListBucketVersions、HeadBucket 操作。
user
为例。单击编辑,将以下内容复制到文本框中,然后根据实际情况修改 Principal
和 Resource
,完成设置后,单击确定。
{ "Statement": [ { "Sid": "自定义策略-97c6", "Effect": "Allow", "Principal": [ "210000****/user" ], "Action": [ "tos:ListBucket", "tos:HeadBucket", "tos:ListBucketVersions", "tos:GetObject", "tos:PutObject" ], "Resource": [ "trn:tos:::bucketname1", "trn:tos:::bucketname1/*" ] } ] }
其他主账号(210000****
)配置 IAM 策略,允许 user 用户对 bucketname1 桶执行 GetObject、PutObject、ListBucket、ListBucketVersions、HeadBucket 操作。
登录 IAM 控制台。
在左侧导航栏中,单击策略管理。
在策略列表页面,单击自定义策略页签,单击新建自定义策略。
在新建自定义策略页面,设置策略名称,单击 JSON编辑器页签,将以下策略复制到文本框中,根据实际情况修改 Resource
,单击提交。
{ "Statement": [ { "Effect": "Allow", "Action": [ "tos:GetObject", "tos:PutObject", "tos:ListBucket", "tos:ListBucketVersions", "tos:HeadBucket" ], "Resource": [ "trn:tos:::bucketname1", "trn:tos:::bucketname1/*" ] } ] }
在新建自定义策略页面,单击添加授权。
在策略详情页面全局授权页签下,单击添加授权。
在添加全局权限面板用户页签下,选择 IAM 用户的名称,本文选择 user,单击确定。
按照本文完成授权后,其他账号下 IAM 用户可以正常使用 API 或 SDK 对授权桶执行上传对象、下载对象等操作,也可以在 TOS Browser 通过访问路径进入到授权桶,执行上传对象、下载对象等操作,或者使用 tosutil 对授权桶执行上传对象、下载对象等操作。
注意
TOS 不支持跨账号列举桶,按照本文完成授权后,其他账号下 IAM 用户不支持在控制台对授权桶执行上传对象、下载对象等操作。