全部產品
Search
文件中心

PolarDB:通過自訂策略授權RAM使用者管理PolarDB

更新時間:Apr 09, 2025

如果RAM提供的系統策略無法滿足您的業務需求,您可以通過建立自訂策略對PolarDB進行精微調權限管理(例如資源或操作層級的授權)。

前提條件

使用RAM進行許可權管理前,請確保您已完成帳號註冊

背景資訊

  • 權限原則是用文法結構描述的一組許可權的集合,可以精確地描述被授權的資源集、操作集以及授權條件,詳細的語言規範請參見權限原則文法和結構

  • 使用自訂策略對PolarDB進行精微調權限管理前,請先瞭解PolarDB的許可權定義,詳情請參見RAM資源授權

說明

如果需要自訂各種權限類別型組合或授予某些表層級許可權等情境,您可以通過Data Management推出的資料庫帳號許可權管理功能進行靈活管控,詳情請參見管理資料庫帳號及帳號許可權

操作步驟

  1. 建立自訂權限原則。具體操作請參見建立自訂權限原則

    常見的自訂權限原則:

    訪問叢集限制

    假設您的帳號下擁有多個PolarDB叢集,但作為Resource Access Management員,您希望僅授權其中的2個叢集(叢集ID分別為i-001和i-002)給目標RAM使用者,那麼您可以建立如下權限原則:

    {
      "Statement": [
        {
          "Action": "polardb:*",
          "Effect": "Allow",
          "Resource": [
                      "acs:polardb:*:*:*/i-001",
                      "acs:polardb:*:*:*/i-002"
                      ]
        },
        {
          "Action": "polardb:Describe*",
          "Effect": "Allow",
          "Resource": "*"
        }
      ],
      "Version": "1"
    }
    說明
    • 被授予該權限原則的RAM使用者號可以查看所有的叢集及資源,但只能管理已被授權的2個叢集(即叢集i-001和叢集i-002)。同時作為Resource Access Management員,您仍然可以使用API、CLI或SDK直接管理上述兩個叢集。

    • Describe*在權限原則中是必須的,否則被授權的RAM使用者無法在控制台看到任何叢集。

    訪問功能限制

    假設您希望僅授權PolarDB的部分功能給目標RAM使用者,則可以建立如下權限原則:

    {
        "Statement": [
            {
                "Action": [
                  "polardb:Describe*",
                  "polardb:CreateBackup",
                  "polardb:DeleteBackup",
                  "polardb:ModifyDBClusterAccessWhitelist"
                ],
                "Resource": "*",
                "Effect": "Allow"
            }
        ],
        "Version": "1"
    }
    說明
    • 被授予該權限原則的目標RAM使用者僅可以對帳號下所有的PolarDB叢集進行叢集資訊查詢、備份查詢、建立備份、刪除備份、修改白名單操作,但不允許進行其他任何操作。

    • PolarDB支援通過RAM進行API層級的存取控制,您可以通過相關API對PolarDB進行細粒度的許可權存取控制,詳情請參見支援RAM的雲端服務API概覽

    訪問IP限制

    假設您希望限制目標RAM使用者的IP訪問,則可以建立如下權限原則:

    {
        "Version": "1",
        "Statement": [
            {
                "Action": "*",
                "Effect": "Allow",
                "Resource": "*",
                "Condition": {
                    "IpAddress": {
                        "acs:SourceIp": [
                            "xxx.xxx.x.x"
                        ]
                    }
                }
            }
        ]
    }
    說明
    • 被授予該權限原則的目標RAM使用者僅可以從已被授權的IP地址對帳號下所有PolarDB叢集進行管理操作。

    • 請將acs:SourceIp中的IP地址值修改為您實際環境的真實IP地址。

    TDE加密狀態限制

    假設您希望限制目標RAM使用者在建立叢集時的加密狀態,則可以建立如下權限原則:

    {
      "Version": "1",
      "Statement": [
        {
          "Effect": "Deny",
          "Action": "polardb:*",
          "Resource": "*",
          "Condition": {
            "Bool": {
              "polardb:EncryptionRequired": [
                "false"
              ]
            }
          }
        }
      ]
    }
  2. 為RAM使用者授權自訂策略。具體操作請參見為RAM使用者授權