全部產品
Search
文件中心

Resource Access Management:條件運算子

更新時間:Oct 11, 2025

Condition中的運算子與條件鍵、條件值一起構成完整的條件判斷語句,當請求滿足該條件時,策略才會生效。按照類型將運算子分為五類:字串類型(String)、數字類型(Number)、日期類型(Date and time)、布爾類型(Boolean)和IP地址類型(IP address)。本文為您介紹RAM支援的運算子及樣本。

字串類型(String)

條件操作類型

運算子

描述

字串類型(String)

StringEquals

字串等於(區分大小寫)。

StringNotEquals

字串不等於(區分大小寫)。

StringEqualsIgnoreCase

字串等於(不區分大小寫)。

StringNotEqualsIgnoreCase

字串不等於(不區分大小寫)。

StringLike

部分字串等於(區分大小寫,支援萬用字元*?)。

  • *:匹配任意數量的字元(包括Null 字元)。

  • ?:匹配單個字元。

StringNotLike

部分字串不等於(區分大小寫,支援萬用字元*?)。

  • *:匹配任意數量的字元(包括Null 字元)。

  • ?:匹配單個字元。

樣本:

StringEquals樣本

以下策略在Condition中使用運算子StringEquals和條件關鍵字acs:ResourceTag,實現RAM使用者只能對綁定了標籤team:dev的ECS執行個體進行管理操作。

{
  "Effect": "Allow",
  "Action": "ecs:*",
  "Resource": "*",
  "Condition": {
    "StringEquals": {
      "acs:ResourceTag/team": [
        "dev"
      ]
    }
  }
}

StringLike樣本

以下策略表示:RAM使用者使用OSS命令列工具只能訪問myphotos/hangzhou/2015/目錄並列出該目錄下的檔案。策略在Condition中使用運算子StringLike和條件關鍵字oss:Prefix,實現僅列舉指定首碼(hangzhou/2015/)的Object。

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "oss:GetObject"
      ],
      "Resource": [
        "acs:oss:*:*:myphotos/hangzhou/2015/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "oss:ListObjects"
      ],
      "Resource": [
        "acs:oss:*:*:myphotos"
      ],
      "Condition":{
        "StringLike":{
          "oss:Prefix":"hangzhou/2015/*"
        }
      }
    }
  ]
}

數字類型(Number)

條件操作類型

運算子

描述

數字類型(Number)

NumericEquals

數值等於。

NumericNotEquals

數值不等於。

NumericLessThan

數值小於。

NumericLessThanEquals

數值小於等於。

NumericGreaterThan

數值大於。

NumericGreaterThanEquals

數值大於等於。

樣本:

以下策略在Condition中使用運算子NumericLessThanEquals和條件關鍵字kms:RecoveryWindowInDays,實現當設定的恢複視窗期小於等於10天時,拒絕所有RAM使用者和RAM角色刪除KMS憑據。

{
  "Statement": [
    {
      "Effect": "Deny",
      "Action": "kms:DeleteSecret",
      "Principal": "*",
      "Resource": "*",
      "Condition": {
        "NumericLessThanEquals": {
          "kms:RecoveryWindowInDays": "10"
        }
      }
    }
  ]
}

日期類型(Date and time)

條件操作類型

運算子

描述

日期類型(Date and time)

DateEquals

日期等於。

DateNotEquals

日期不等於。

DateLessThan

日期小於。

DateLessThanEquals

日期小於等於。

DateGreaterThan

日期大於。

DateGreaterThanEquals

日期大於等於。

樣本:

以下策略在Condition中使用運算子DateLessThan和條件關鍵字acs:CurrentTime,實現RAM使用者只能在指定時間點(北京時間2019年8月12日17:00)之前訪問ECS執行個體。

{
  "Statement": [
    {
      "Action": "ecs:*",
      "Effect": "Allow",
      "Resource": "*",
      "Condition": {
          "DateLessThan": {
              "acs:CurrentTime": "2019-08-12T17:00:00+08:00"
          }
      }
    }
  ],
  "Version": "1"
}

布爾類型(Boolean)

條件操作類型

運算子

描述

布爾類型(Boolean)

Bool

布爾值(truefalse)匹配。

樣本:

以下策略在Condition中使用運算子Bool和條件關鍵字acs:MFAPresent,實現只有啟用了MFA的RAM使用者才能訪問ECS執行個體。

{
  "Statement": [
    {
      "Action": "ecs:*",
      "Effect": "Allow",
      "Resource": "*",
      "Condition": {
        "Bool": {
          "acs:MFAPresent": "true"
        }
      }
    }
  ],
  "Version": "1"
}

IP地址類型(IP address)

條件操作類型

運算子

描述

IP地址類型(IP address)

IpAddress

IP地址等於(不包含首尾邊界值)。

NotIpAddress

IP地址不等於(不包含首尾邊界值)。

IpAddressIncludeBorder

IP地址等於(包含首尾邊界值)。

說明

僅部分產品支援,建議您測試後使用。

NotIpAddressIncludeBorder

IP地址不等於(包含首尾邊界值)。

說明

僅部分產品支援,建議您測試後使用。

樣本:

以下策略在Condition中使用運算子IpAddress和條件關鍵字acs:SourceIp,實現RAM使用者只能通過192.0.2.0/24和203.0.113.2訪問ECS執行個體。

{
  "Statement": [
    {
      "Action": "ecs:*",
      "Effect": "Allow",
      "Resource": "*",
      "Condition": {
        "IpAddress": {
          "acs:SourceIp": [
            "192.0.2.0/24",
            "203.0.113.2"
          ]
        }
      }
    }
  ],
  "Version": "1"
}