You need to enable JavaScript to run this app.
导航
授予其他账号下的 IAM 用户桶和桶内资源的访问权限
最近更新时间:2024.08.30 10:16:11首次发布时间:2024.08.30 10:16:11

本文介绍如何授予其他账号下的 IAM 用户访问桶和桶内资源的权限。

场景说明

  • 授权账号:其他账号(本文以 210000****为例)下的 user 用户。
  • 授权资源:bucketname1存储桶。
  • 动作:GetObject、PutObject、ListBucket、ListBucketVersions、HeadBucket。

推荐配置方法

授予其他账号下的 IAM 用户访问桶和桶内资源的权限时,您需要进行双向授权,即桶所属账号需要配置桶策略允许其他账号下的 IAM 用户访问桶和桶内资源,然后其他账号也需要配置 IAM 策略允许其下的 IAM 用户访问桶和桶内资源。
例如允许账号 B 下的 IAM 用户 B1 访问账号 A 的 C 桶,则您需要执行以下步骤:

  1. 账号 A 配置桶策略允许 IAM 用户 B1 访问 C 桶。
  2. 账号 B 配置 IAM 策略允许其下的 IAM 用户 B1 访问 C 桶。

注意事项

权限配置后略有延迟,如果您配置的权限没有立即生效,建议您稍后重试。

步骤一:桶所属账号配置桶策略

桶所属账号配置桶策略,允许其他账号(210000****)下的 user 用户对 bucketname1 桶执行 GetObject、PutObject、ListBucket、ListBucketVersions、HeadBucket 操作。

  1. 登录对象存储控制台
  2. 在左侧导航栏,单击桶列表,在桶列表页面单击目标桶名称。
  3. 在左侧导航栏,选择权限管理 > 存储桶授权策略管理
  4. 根据需要选择授权方式。
  1. 单击创建策略。
  2. 创建存储桶授权策略页面,选择自定义策略模板,然后单击下一步
  3. 设置如下参数。
    • 策略名称:单击基本配置,设置策略名称。
    • 授权用户:选择指定账号
    • 其他账号:选择其他主账号,输入其他主账号 ID,单击添加字段,输入子用户名称,本文中以 user 为例。
    • 资源:选择当前桶桶内对象,然后选择所有对象
    • 动作:选择 GetObjectPutObjectListBucketListBucketVersionsHeadBucket。
  4. 设置完成后,单击下一步
  5. 确认策略无误后,单击确定

步骤二:其他主账号配置 IAM 策略

其他主账号(210000****)配置 IAM 策略,允许 user 用户对 bucketname1 桶执行 GetObject、PutObject、ListBucket、ListBucketVersions、HeadBucket 操作。

  1. 登录 IAM 控制台

  2. 在左侧导航栏中,单击策略管理

  3. 策略列表页面,单击自定义策略页签,单击新建自定义策略

  4. 新建自定义策略页面,设置策略名称,单击 JSON编辑器页签,将以下策略复制到文本框中,根据实际情况修改 Resource ,单击提交。

    {
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "tos:GetObject",
                    "tos:PutObject",
                    "tos:ListBucket",
                    "tos:ListBucketVersions",
                    "tos:HeadBucket"
                ],
                "Resource": [
                    "trn:tos:::bucketname1",
                    "trn:tos:::bucketname1/*"
                ]
            }
        ]
    }
    
  5. 新建自定义策略页面,单击添加授权

  6. 策略详情页面全局授权页签下,单击添加授权

  7. 添加全局权限面板用户页签下,选择 IAM 用户的名称,本文选择 user,单击确定

后续操作

按照本文完成授权后,其他账号下 IAM 用户可以正常使用 API 或 SDK 对授权桶执行上传对象、下载对象等操作,也可以在 TOS Browser 通过访问路径进入到授权桶,执行上传对象、下载对象等操作,或者使用 tosutil 对授权桶执行上传对象、下载对象等操作。

注意

TOS 不支持跨账号列举桶,按照本文完成授权后,其他账号下 IAM 用户不支持在控制台对授权桶执行上传对象、下载对象等操作。