跨账户授权

最近更新时间:2021-01-21 16:34:51

查看PDF

假设主账户A想把自己的存储空间example_bucket的部分权限授权给主账号B下的研发人员。

那么要完成上述的功能,需要配置两条策略:

  1. 需要将权限通过空间策略授予主账户B;
  2. 主账户B再将这些权限通过用户策略委托给他的子用户rd_user。

原理图如下:

17.png

具体步骤如下:

  1. 进入到A账户下需要授权的存储空间(Bucket),例如“exampleBucket”。进入 空间设置 > 空间策略下,配置一条空间策略,如下:
{
    "Version":"2015-11-01",
    "Statement": [
    {
        "Sid":"1",
        "Effect":"Allow",
        "Principal":{krn:ksc:iam::AccountB_ID:root},
        "Action":[
            "ks3:ListBucket",
            "ks3:GetObject"
         ],
        "Resource":["krn:ksc:ks3:::example_bucket",
"krn:ksc:ks3:::example_bucket/*"]
   }
  ]
}
  1. 进入到B账户下的 策略管理 页面,新建一条自定义策略,授权策略语言如下:
{
    "Version": "2015-11-01",
    "Statement": [
    {
        "Effect": "Allow",
        "Action": [
            "ks3:ListObject",
            "ks3:GetObject"
         ],
        "Resource":[
            "krn:ksc:ks3:::example_bucket",
            "krn:ksc:ks3:::example_bucket/*"
         ]
     }
   ]
}

  1. 进入到B账户下的 用户管理 页面,向rd_user授权第2步创建的策略。

  2. 使用rd_user这个IAM子用户的AK/SK,生成签名信息,构造对应的访问URL,就可以访问example_bucket的相关资源了。

注意 :

  • 账户A还可以使用空间策略直接向账户B中的子用户授予权限。但是该子用户仍需要来自用户所属的。
  • 父账户(账户B)的权限,该子用户必须同时拥有来自资源拥有者和父账户的权限,便能够访问资源。

原理图如下:

18.png

文档内容是否对您有帮助?

根本没帮助
文档较差
文档一般
文档不错
文档很好

在文档使用中是否遇到以下问题

  • 内容不全,不深入
  • 内容更新不及时
  • 描述不清晰,比较混乱
  • 系统或功能太复杂,缺乏足够的引导
  • 内容冗长

更多建议

0/200

评价建议不能为空

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

问题反馈