跨账号访问权限(Cross Account Access)

通过AWS的跨账号访问权限,开发者可以在开发、测试和生产环境间便捷切换。文章介绍了如何设置角色和策略,允许开发账号访问生产账号的S3资源,以便于代码推送等操作,而无需频繁登录切换账号。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

很多AWS客户都会管理多个不同的AWS账号,比如之前提到的不同的开发环境、测试环境、生产环境等都各分配不同的账号。这样子他们可以对不同类型的账号赋予不同等级和类型的权限,可以在账号和权限的安全性上有更好的控制。

那么一般情况下,一个开发者使用开发环境做了一些变更后希望登录到测试环境去做一些系统的测试,那么他必须注销他的账号,然后使用另外的用户名密码登录到测试账号。这样的复杂操作有时候对开发来说简直是个噩梦。

有了跨账号访问权限(Cross Account Access),你可以在AWS管理控制台上轻松地进行账号(角色)的切换,让你在不同的开发账号(角色)、测试账号(角色)、生产账号(角色)中进行快捷的切换。

开发账号和生产账号的切换

假设一个公司里面有两种账号,生产账号开发账号。开发账号中的用户有时候需要访问生产账号中的资源,比如将开发环境的代码推送到生产环境中等。

如下图所示,我们可以让开发账号拥有一定的访问权限,让其访问生产账号中的S3资源。

  1. 生产账号中的管理员需要在IAM中创建一个新的角色UpdateAPP,在角色中定义了策略(Policy),策略具体定义了允许特定的AWS账号ID访问名为productionapp的S3存储桶。需要使用以下策略:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    {

      "Version": "2012-10-17",

      "Statement": [

        {

          "Effect": "Allow",

          "Action": "s3:ListAllMyBuckets",

          "Resource": "*"

        },

        {

          "Effect": "Allow",

          "Action": [

            "s3:ListBucket",

            "s3:GetBucketLocation"

           ],

          "Resource": "arn:aws:s3:::productionapp"

        },

        {

          "Effect": "Allow",

          "Action": [

            "s3:GetObject",

            "s3:PutObject",

            "s3:DeleteObject"

          ],

          "Resource": "arn:aws:s3:::productionapp/*"

        }

      ]

    }

  2. 在开发账户中,管理员向开发人员组的成员授权切换角色的权限。向开发人员组授予针对UpdateApp角色调用AWS Security Token Service (AWS STS) AssumeRole API 的权限。需要添加如下策略:

    1

    2

    3

    4

    5

    6

    7

    8

    {

      "Version": "2012-10-17",

      "Statement": {

        "Effect": "Allow",

        "Action": "sts:AssumeRole",

        "Resource": "arn:aws:iam::PRODUCTION-ACCOUNT-ID:role/UpdateApp"

      }

    }

  3. 用户请求切换角色
    1. 可以在AWS控制台使用Switch Role的按钮切换到生产账号
    2. 或者使用AWS API/CLI,使用AssumeRole函数获取UpdateAPP角色的凭证
  4. AWS STS返回临时凭证
  5. 临时凭证允许访问AWS资源,这样切换后的角色就可以访问productionapp的存储桶里的内容了。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Loong_1213

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值