全部產品
Search
文件中心

Tablestore:RAM Policy

更新時間:Jun 19, 2026

RAM Policy是附加在RAM身份(使用者、使用者組、角色)上的權限原則。管理RAM使用者或角色對錶格儲存資源的存取權限時,可通過RAM Policy定義該身份可以執行的操作和可以訪問的資源範圍。

工作原理

RAM Policy採用基於身份的授權模式,策略附加在RAM使用者、使用者組或RAM角色上。策略定義該身份在滿足指定條件(Condition)時,可對哪些資源(Resource)執行哪些操作(Action)。

RAM身份發起訪問請求時,系統綜合評估所有相關策略,按以下順序判定許可權:

  1. 顯式拒絕優先:任何策略中存在匹配請求的Deny規則,請求立即被拒絕

  2. 尋找顯式允許:不存在Deny規則時,若存在匹配的Allow規則,請求被允許

  3. 預設拒絕:既無Deny也無Allow,請求預設被拒絕

Table Store支援以下兩種RAM Policy類型:

  • 系統策略:由阿里雲預置,覆蓋常用授權情境,僅可使用不可修改。

  • 自訂策略:由使用者自行建立和維護,可精細控制資源範圍、操作類型和生效條件。

使用系統權限原則授權

系統權限原則由阿里雲建立,可在RAM控制台直接為使用者身份授權。以下以RAM使用者為例。

  1. 前往RAM使用者列表,單擊目標使用者操作列的新增授权

  2. Table Store支援以下三種系統策略,在搜尋方塊中輸入目標策略名稱稱並勾選:

  3. 單擊確認新增授權,完成使用權限設定。

使用自訂權限原則授權

自訂策略由使用者自主建立和維護,授權分兩步:先建立權限原則,再將策略關聯到目標使用者身份。

步驟一:建立自訂權限原則

  1. 前往權限原則列表,單擊创建权限策略

  2. 選擇腳本編輯,在編輯框內輸入JSON格式的權限原則。

    樣本權限原則:允許對名為example-instance的執行個體及該執行個體下所有資料表的全部操作。

    {
      "Version": "1",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": "ots:*",
          "Resource": [
            "acs:ots:*:*:instance/example-instance",
            "acs:ots:*:*:instance/example-instance/table/*"
          ]
        }
      ]
    }

    完整的權限原則包含Version(版本號碼)和Statement(授權語句)。

    • Version:權限原則版本,固定為1,不允許修改。

    • Statement:策略主體,包含一條或多條授權或拒絕規則。每條規則包含Effect(授權效力)、Action(授權操作)、Resource(授權資源)和Condition(授權條件)。

      策略元素

      說明

      Effect

      策略的效力,可選值為Allow(允許)或Deny(拒絕)。

      Action

      對資源執行的具體操作,需添加ots:首碼,支援使用萬用字元*

      Resource

      策略作用的資源範圍,格式為acs:ots:[region]:[user_id]:instance/[instance_name]/table/[table_name]

      Condition

      策略生效的條件。

      配置多個條件時,所有條件必須同時滿足(AND關係),策略才會生效。

    完整的策略元素及文法說明,請參見授權文法與元素

  3. 單擊确定,輸入策略名称,然後單擊确定,完成自訂策略建立。

步驟二:為使用者身份進行授權

將上一步建立的策略關聯到目標使用者身份。以下以RAM使用者為例。

  1. 前往RAM使用者列表,單擊目標使用者操作列的新增授权

  2. 單擊確認新增授權,完成使用權限設定。

常見授權情境

以下為RAM Policy在Table Store中的典型授權情境,每個情境提供完整的JSON策略樣本。

情境一:組合IP、時間和傳輸協議條件授權讀寫權限

允許IP地址在10.10.XX.XX/24網段的使用者對online-01online-02執行個體及其下所有資料表執行讀寫操作。訪問要求:僅限2028-01-01 00:00:00之前,且必須通過HTTPS訪問。

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "ots:*",
      "Resource": [
        "acs:ots:*:*:instance/online-01",
        "acs:ots:*:*:instance/online-01/table*",
        "acs:ots:*:*:instance/online-02",
        "acs:ots:*:*:instance/online-02/table*"
      ],
      "Condition": {
        "IpAddress": {
          "acs:SourceIp": [
            "10.10.XX.XX/24"
          ]
        },
        "DateLessThan": {
          "acs:CurrentTime": "2028-01-01T00:00:00+08:00"
        },
        "Bool": {
          "acs:SecureTransport": "true"
        }
      }
    }
  ]
}

情境二:拒絕指定IP對特定執行個體的寫入請求

拒絕IP地址為10.10.XX.XX的使用者對華北2(北京)地區中名稱以onlineproduct開頭的執行個體下所有資料表執行寫操作。該規則不限制對執行個體本身的操作。

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Deny",
      "Action": [
        "ots:Create*",
        "ots:Insert*",
        "ots:Put*",
        "ots:Update*",
        "ots:Delete*",
        "ots:BatchWrite*"
      ],
      "Resource": [
        "acs:ots:cn-beijing:*:instance/online*/table*",
        "acs:ots:cn-beijing:*:instance/product*/table*"
      ],
      "Condition": {
        "IpAddress": {
          "acs:SourceIp": [
            "10.10.XX.XX"
          ]
        }
      }
    }
  ]
}

情境三:限制RAM使用者只能管理指定執行個體

僅允許RAM使用者管理指定的執行個體。

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ots:ListInstance",
        "ots:ListTagResources"
      ],
      "Resource": "acs:ots:*:*:instance/*"
    },
    {
      "Effect": "Allow",
      "Action": "ots:*",
      "Resource": [
        "acs:ots:*:*:instance/yourInstance",
        "acs:ots:*:*:instance/yourInstance/table*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": "cms:Query*",
      "Resource": "*"
    }
  ]
}

策略中各Statement的作用說明如下。

權限原則

說明

{
  "Effect": "Allow",
  "Action": [
    "ots:ListInstance",
    "ots:ListTagResources"
  ],
  "Resource": "acs:ots:*:*:instance/*"
}

Table Store控制台的概覽頁面需載入執行個體列表和標籤列表,因此該Statement授予RAM使用者對應的查詢許可權。

說明

RAM使用者通過控制台管理執行個體時必須授予此許可權。

{
  "Effect": "Allow",
  "Action": "ots:*",
  "Resource": [
    "acs:ots:*:*:instance/yourInstance",
    "acs:ots:*:*:instance/yourInstance/table*"
  ]
}

授予RAM使用者擁有yourInstance執行個體及執行個體下資料表的所有許可權。

{
  "Effect": "Allow",
  "Action": "cms:Query*",
  "Resource": "*"
}

授予RAM使用者CloudMonitor的許可權,允許查看執行個體和表的監控資料。