创建或更新自定义管控策略前,您需要了解管控策略语言的基本元素及使用规则。

基本元素

元素名称 描述
效力(Effect) 授权效力包括两种:允许(Allow)和拒绝(Deny)。
说明 自定义管控策略暂时只支持拒绝(Deny)。
操作(Action) 操作是指对具体资源的操作。
资源(Resource) 资源是指被授权的具体对象。
限制条件(Condition) 限制条件是指授权生效的限制条件。

使用规则

  • 效力(Effect)

    取值为:允许(Allow)或拒绝(Deny)。

    说明 自定义管控策略暂时只支持拒绝(Deny)。

    样例:"Effect": "Deny"

  • 操作(Action)

    操作支持多值,取值为:云服务所定义的API操作名称。

    说明 多数情况下操作与云服务的API一一对应,但也有例外。支持管控策略的云服务请参见支持管控策略的云服务

    格式:<service-name>:<action-name>

    • service-name:RAM代码。请查阅支持管控策略的云服务获取各云服务对应的RAM代码。
    • action-name:相关的API操作接口名称。

    样例:"Action": ["actiontrail:DeleteTrail", "ecs:DeleteInstance*"]

  • 资源(Resource)

    资源是指被授权的具体对象。

    格式:遵循阿里云ARN(Aliyun Resource Name)的统一规范,acs:<service-name>:<region>:<account-id>:<relative-id>

    • acs:Alibaba Cloud Service的首字母缩写,表示阿里云。
    • service-name:RAM代码。请查阅支持管控策略的云服务获取各云服务对应的RAM代码。
    • region:地域信息。可以使用通配符*来代替。
    • account-id:阿里云账号ID。例如:123456789012****,可以用*代替。
    • relative-id:与服务相关的资源描述部分,其语义由具体服务指定。这部分的格式支持树状结构(类似文件路径)。

    样例:"Resource": ["acs:ecs:*:*:instance/inst-001", "acs:ecs:*:*:instance/inst-002"]

  • 限制条件(Condition)
    条件块(Condition Block)由一个或多个条件子句构成。一个条件子句由条件操作类型、条件关键字和条件值组成。 条件块判断逻辑

    逻辑说明

    • 条件满足:一个条件关键字可以指定一个或多个值,在条件检查时,如果条件关键字的值与指定值中的某一个相同,即可判定条件满足。
    • 条件子句满足:同一条件操作类型的条件子句下,若有多个条件关键字,所有条件关键字必须同时满足,才能判定该条件子句满足。
    • 条件块满足:条件块下的所有条件子句同时满足的情况下,才能判定该条件块满足。

    条件操作类型

    条件操作类型包括:字符串类型(String)、数字类型(Number)、日期类型(Date and time)、布尔类型(Boolean)和IP地址类型(IP address)。

    条件操作类型 支持类型
    字符串类型(String)
    • StringEquals
    • StringNotEquals
    • StringEqualsIgnoreCase
    • StringNotEqualsIgnoreCase
    • StringLike
    • StringNotLike
    数字类型(Number)
    • NumericEquals
    • NumericNotEquals
    • NumericLessThan
    • NumericLessThanEquals
    • NumericGreaterThan
    • NumericGreaterThanEquals
    日期类型(Date and time)
    • DateEquals
    • DateNotEquals
    • DateLessThan
    • DateLessThanEquals
    • DateGreaterThan
    • DateGreaterThanEquals
    布尔类型(Boolean) Bool
    IP地址类型(IP address)
    • IpAddress
    • NotIpAddress

    条件关键字

    • 阿里云通用条件关键字命名格式: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:SourceIp的取值如果是单个IP地址,需要写明具体的IP地址(例如10.0.0.1),不能使用IP地址段(例如10.0.0.1/32)。
      acs:MFAPresent Boolean 用户登录时是否使用了多因素认证。
      acs:PrincipalARN String 用于表示操作执行者的身份。例如:acs:ram:*:*:role/*resourcedirectory*
      说明 目前,只支持指定RAM角色的ARN,且必须为小写英文字母。(您可以在RAM控制台的角色详情页面查看RAM角色的ARN)。
    • 阿里云服务级别条件关键字命名格式: <service-name>:<condition-key>
      云服务级别条件关键字 云服务名称 类型 描述
      ecs:tag/<tag-key> ECS String ECS资源的标签关键字,可自定义。
      rds:ResourceTag/<tag-key> RDS String RDS资源的标签关键字,可自定义。

相关文档

管控策略语法和结构与RAM的基本相同,了解详情请参见权限策略语法和结构