美文网首页
巧用阿里云AliyunSTSAssumeRoleAccess——

巧用阿里云AliyunSTSAssumeRoleAccess——

作者: 王小奕 | 来源:发表于2021-03-29 11:26 被阅读0次

AliyunSTSAssumeRoleAccess是阿里云访问控制自带的一个权限策略,内容为:

{
    "Statement": [
        {
            "Action": "sts:AssumeRole",
            "Effect": "Allow",
            "Resource": "*"
        }
    ],
    "Version": "1"
}

根据文档权限策略语法结构可知,该策略赋给RAM用户后,该用户可以扮演阿里云所有角色,即便该角色所拥有的权限,是RAM用户本身所不拥有的,从严谨角度触发,作为一个配置管理工程师当然不允许这种情况出现,经过咨询及实现,特提供如下方法。

后文讨论前提:限制RAM用户在使用STS机制生成临时权限token时,仅限单OSS bucket

1、新建权限策略P1

{
    "Version": "1",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "oss:*",
            "Resource": [
                "acs:oss:*:*:mybucket",
                "acs:oss:*:*:mybucket/*"
            ]
        }
    ]
}

此权限策略允许用户对mybucket下所有对象进行任意操作

2、新建角色R1,赋予P1所配置的权限,并记录R1的ARN值

3、新建权限策略P2

{
    "Statement": [
        {
            "Action": "sts:AssumeRole",
            "Effect": "Allow",
            "Resource": [
                "XXX"
            ]
        }
    ],
    "Version": "1"
}

其中XXX请填入步骤2记录的ARN值

4、新建编程用户U,赋予权限策略P2

5、后文

关于STS临时权限机制方法请参考官方文档

相关文章

网友评论

      本文标题:巧用阿里云AliyunSTSAssumeRoleAccess——

      本文链接:https://www.haomeiwen.com/subject/wtzvhltx.html