全部產品
Search
文件中心

:自訂許可權

更新時間:Nov 29, 2024

您可以建立自訂權限原則,實現精微調權限管理。

背景資訊

許可權指在特定條件下 ,允許(Allow)或拒絕(Deny)對指定資源執行的相關操作。許可權的載體是授權策略。自訂許可權,即在自訂授權策略時定義某些許可權。

建立自訂權限原則方式,請參見建立方式。本文介紹通過指令碼編輯模式建立自訂權限原則的操作步驟。

操作步驟

  1. 使用Resource Access Management員登入RAM控制台

  2. 在左側導覽列,選擇許可權管理 > 權限原則

  3. 權限原則頁面,單擊建立權限原則

  4. 建立權限原則頁面,單擊指令碼編輯頁簽。

  5. 輸入權限原則內容,然後單擊繼續編輯基本資料

    關於權限原則文法結構的詳情,請參見權限原則文法和結構

    權限原則中包含參數如下:

    • Action:表示要授權的操作。IoT操作都以iot:開頭。定義方式和樣本,請參見本文檔中Action定義。

    • Effect : 表示授與類型,取值:Allow(允許)、Deny(拒絕)。

    • Resource :表示要授權的資源。

      如果為RAM使用者授予訪問您的所有物聯網平台資源的許可權,取值為*

    • Condition :表示鑒權條件。IoT不支援Condition定義。

    關於權限原則元素的詳情,請參見權限原則基本元素

  6. 輸入權限原則名稱備忘

  7. 檢查並最佳化權限原則內容。

    • 基礎權限原則最佳化

      系統會對您添加的權限原則語句自動進行基礎最佳化。基礎權限原則最佳化會完成以下任務:

      • 刪除不必要的條件。

      • 刪除不必要的數組。

    • 可選:進階權限原則最佳化

      您可以將滑鼠懸浮在可選:進階策略最佳化上,單擊執行,對權限原則內容進行進階最佳化。進階權限原則最佳化功能會完成以下任務:

      • 拆分不相容操作的資源或條件。

      • 收縮資源到更小範圍。

      • 去重或合并語句。

  8. 單擊確定

Action 定義

Action是API的名稱。在建立IoT授權策略時,每個Action首碼均為iot:,多個Action以英文逗號(,)分隔,支援使用星號(*)萬用字元。IoT API名稱定義,請參見IoT授權映射表

下面介紹一些典型的Action定義樣本。

  • 定義單個API。

    "Action": "iot:CreateProduct"
  • 定義多個API。

    "Action": [
    "iot:UpdateProduct",
    "iot:QueryProduct"
    ]
  • 定義所有隻讀API,包含規則引擎資料流轉目標產品的許可權。

    {
      "Version": "1", 
      "Statement": [
        {
          "Action": [
            "iot:Query*", 
            "iot:List*", 
            "iot:Get*", 
            "iot:BatchGet*", 
            "iot:Check*"
          ], 
          "Resource": "*", 
          "Effect": "Allow"
        }, 
        {
          "Action": [
            "rds:DescribeDBInstances", 
            "rds:DescribeDatabases", 
            "rds:DescribeAccounts", 
            "rds:DescribeDBInstanceNetInfo"
          ], 
          "Resource": "*", 
          "Effect": "Allow"
        }, 
        {
          "Action": "ram:ListRoles", 
          "Resource": "*", 
          "Effect": "Allow"
        }, 
        {
          "Action": [
            "mns:ListTopic", 
            "mns:GetTopicRef"
          ], 
          "Resource": "*", 
          "Effect": "Allow"
        }, 
        {
          "Action": [
            "ots:ListInstance", 
            "ots:GetInstance", 
            "ots:ListTable", 
            "ots:DescribeTable"
          ], 
          "Resource": "*", 
          "Effect": "Allow"
        }, 
        {
          "Action": [
            "fc:ListServices", 
            "fc:GetService", 
            "fc:GetFunction", 
            "fc:ListFunctions"
          ], 
          "Resource": "*", 
          "Effect": "Allow"
        }, 
        {
          "Action": [
            "log:ListShards", 
            "log:ListLogStores", 
            "log:ListProject"
          ], 
          "Resource": "*", 
          "Effect": "Allow"
        }, 
        {
          "Action": [
            "cms:QueryMetricList"
          ], 
          "Resource": "*", 
          "Effect": "Allow"
        }
      ]
    }
  • 定義所有讀寫API,包含規則引擎資料流轉目標產品的許可權。

    {
      "Version": "1", 
      "Statement": [
        {
          "Action": "iot:*", 
          "Resource": "*", 
          "Effect": "Allow"
        }, 
        {
          "Action": [
            "rds:DescribeDBInstances", 
            "rds:DescribeDatabases", 
            "rds:DescribeAccounts", 
            "rds:DescribeDBInstanceNetInfo", 
            "rds:ModifySecurityIps"
          ], 
          "Resource": "*", 
          "Effect": "Allow"
        }, 
        {
          "Action": "ram:ListRoles", 
          "Resource": "*", 
          "Effect": "Allow"
        }, 
        {
          "Action": [
            "mns:ListTopic", 
            "mns:GetTopicRef"
          ], 
          "Resource": "*", 
          "Effect": "Allow"
        }, 
        {
          "Action": [
            "ots:ListInstance", 
            "ots:ListTable", 
            "ots:DescribeTable", 
            "ots:GetInstance"
          ], 
          "Resource": "*", 
          "Effect": "Allow"
        }, 
        {
          "Action": [
            "fc:ListServices", 
            "fc:GetService", 
            "fc:GetFunction", 
            "fc:ListFunctions"
          ], 
          "Resource": "*", 
          "Effect": "Allow"
        }, 
        {
          "Action": [
            "log:ListShards", 
            "log:ListLogStores", 
            "log:ListProject"
          ], 
          "Resource": "*", 
          "Effect": "Allow"
        }, 
        {
          "Action": "ram:PassRole", 
          "Resource": "*", 
          "Effect": "Allow", 
          "Condition": {
            "StringEquals": {
              "acs:Service": "iot.aliyuncs.com"
            }
          }
        }, 
        {
          "Action": [
            "cms:QueryMetricList"
          ], 
          "Resource": "*", 
          "Effect": "Allow"
        }
      ]
    }

授權策略建立成功後,將此許可權授予RAM使用者,獲得授權的RAM使用者就可以進行許可權中定義的操作。建立RAM使用者和授權操作,請參見RAM使用者訪問