阿里云子帐号Policy受权规则明细

官网地址html

Policy结构

基本元素

1. 效力(Effect)
受权效力包括两种:容许(Allow)和拒绝(Deny)。
2. 资源(Resource)
资源是指被受权的具体对象。
3. 操做(Action)
操做是指对具体资源的操做。
4. 限制条件(Condition)
限制条件是指受权生效的限制条件。安全

Policy 元素使用规则

1. Effect(效力)
Effect 取值 为 Allow 或 Deny。好比,阿里云

"Effect": "Allow"

2. Action(操做列表)
Action 支持多值,取值为云服务所定义的 API 操做名称,其格式定义以下:code

<service-name>:<action-name>

格式说明htm

  • service-name: 阿里云产品名称,如 ecs, rds, slb, oss, ots 等。
  • action-name: service 相关的 API 操做接口名称。

描述样例对象

"Action": ["oss:ListBuckets", "ecs:Describe*", "rds:Describe*"]

3. Resource(资源列表)
Resource 一般指资源,即操做对象,好比 ECS 虚拟机实例,OSS存储桶。咱们使用以下格式来命名阿里云服务的资源命名。blog

acs:<service-name>:<region>:<account-id>:<relative-id>

格式说明:接口

  • acs: Alibaba Cloud Service 的首字母缩写,表示阿里云的公有云平台。
  • service-name: 阿里云提供的服务名字,如 ecs, oss, ots 等。
  • region: 地域信息。若是不支持该项,可使用通配符“*”号来代替。
  • account-id: 帐号 ID,好比 1234567890123456,也能够用“*”代替。
  • relative-id: 与服务相关的资源描述部分,其语义由具体服务指定。这部分的格式描述支持相似于一个文件路径的树状结构。以 oss 为例,relative-id = “mybucket/dir1/object1.jpg” 表示一个 OSS 对象。

描述样例资源

"Resource": ["acs:ecs:*:*:instance/inst-001", "acs:ecs:*:*:instance/inst-002", "acs:oss:*:*:mybucket", "acs:oss:*:*:mybucket/*"]

条件限制(Condition)
条件块(Condition Block)由一个或多个条件子句构成。一个条件子句由条件操做类型、条件关键字和条件值组成。条件操做类型和条件关键字在下文中会有详细描述。
条件块判断逻辑
是否知足条件的判断原则以下图所示:
图 2. 是否知足条件的判断原则
图2
具体规则以下:字符串

  • 一个条件关键字能够指定一个或多个值,在条件检查时,若是条件关键字的值与指定值中的某一个相等,便可断定条件知足。
  • 同一种条件操做类型的条件子句下的多个条件关键字同时知足的状况下,才能断定该条件子句知足。
  • 条件块下的全部条件子句同时知足的状况下,才能断定该条件块知足。

条件操做类型
支持以下条件操做类型:字符串类型(String)、数字类型(Numeric)、日期类型(Date and time)、布尔类型(Boolean)和 IP 地址类型(IP address)。
每种条件操做类型分别支持以下的方法:

string Numeric Date and time Boolean IP address
StringEquals NumericEquals DateEquals Bool IpAddress
StringNotEquals NumericNotEquals DateNotEquals - NotIpAddress
StringEqualsIgnoreCase NumericLessThan DateLessThan - -
StringNotEqualsIgnoreCase NumericLessThanEquals DateLessThanEquals - -
StringLike NumericGreaterThan DateGreaterThan - -
StringNotLike NumericGreaterThanEquals DateGreaterThanEquals - -

条件关键字(Condition-key
阿里云服务保留的条件关键字命名格式为:

acs:<condition-key>

阿里云服务保留的通用条件关键字以下:
通用条件关键字 |类型 |说明
--|--|--
acs:CurrentTime |Date and time |Web Server 接收到请求的时间,以 ISO 8601 格式表示,如 2012-11-11T23:59:59Z
acs:SecureTransport |Boolean |发送请求是否使用了安全信道,如 HTTPS
acs:SourceIp |IP address |发送请求时的客户端 IP 地址
acs:MFAPresent |Boolean |用户登陆时是否使用了多因素认证(二步认证)

云产品能够定义产品级别的条件关键字,格式以下:

<service-name>:<condition-key>

部分云产品定义的条件关键字以下:

产品名称 条件关键字 类型 说明
ECS ecs:tag/ String ECS资源的标签关键字,可由用户自定义
RDS rds:ResourceTag/ String RDS资源的标签关键字,可由用户自定义
OSS oss:Delimiter String OSS对Object名字进行分组的分隔符
OSS oss:Prefix String OSS Object名称的前缀

Policy 样例
以下所示的 Policy 样例中,包含两条受权语句(Statement):

  • 第 1 条受权语句是容许对华东 1(杭州)地域的全部 ecs 资源有查看权限(ecs:Describe*);
  • 第 2 条受权语句是容许对 oss 的 mybucket 存储桶中的对象具备只读访问权限(oss:ListObjects,
{
    "Version": "1",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "ecs:Describe*",
            "Resource": "acs:ecs:cn-hangzhou:*:*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "oss:ListObjects",
                "oss:GetObject"
            ],
            "Resource": [
                "acs:oss:*:*:mybucket",
                "acs:oss:*:*:mybucket/*"
            ],
            "Condition":{
                "IpAddress": {
                    "acs:SourceIp": ["42.120.88.10", "42.120.66.0/24"]
                }
            }
        }
    ]
}
相关文章
相关标签/搜索