全部產品
Search
文件中心

Simple Log Service:Log Service自訂權限原則參考

更新時間:Aug 22, 2024

如果系統權限原則不能滿足您的要求,您可以建立自訂權限原則實現最小授權。使用自訂權限原則有助於實現許可權的精細化管控,是提升資源訪問安全的有效手段。本文介紹Log Service使用自訂權限原則的情境和策略樣本。

什麼是自訂權限原則

在基於RAM的存取控制體系中,自訂權限原則是指在系統權限原則之外,您可以自主建立、更新和刪除的權限原則。自訂權限原則的版本更新需由您來維護。

  • 建立自訂權限原則後,需為RAM使用者、使用者組或RAM角色綁定權限原則,這些RAM身份才能獲得權限原則中指定的存取權限。

  • 已建立的權限原則支援刪除,但刪除前需確保該策略未被引用。如果該權限原則已被引用,您需要在該權限原則的引用記錄中移除授權。

  • 自訂權限原則支援版本控制,您可以按照RAM規定的版本管理機制來管理您建立的自訂權限原則版本。

操作文檔

常見自訂權限原則情境及樣本

重要
  • 本文樣本中所有的權限原則也適用於資源為MetricStore的情境。

  • 基於安全考慮,建議您為RAM使用者授予最小可用許可權。通常情況下,您需要為RAM使用者授予Project列表的唯讀許可權,否則RAM使用者無法進入Project列表查看資源。更多資訊,請參見系統授權策略建立自訂權限原則

Project列表的查看許可權

使用阿里雲帳號授予RAM使用者以下許可權:

  • RAM使用者具備當前阿里雲帳號下的Project列表的查看許可權。

滿足上述許可權的權限原則如下:

{
  "Version": "1",
  "Statement": [
    {
      "Action": [
        "log:ListProject"
      ],
      "Resource": [
        "acs:log:*:*:project/*"
      ],
      "Effect": "Allow"
    }
  ]
}

Project唯讀許可權

使用阿里雲帳號授予RAM使用者以下許可權:

  • RAM使用者具備當前阿里雲帳號下的Project列表的查看許可權。

  • RAM使用者具備當前阿里雲帳號下指定的Project的唯讀許可權。

說明

如果只授予Project唯讀許可權,則該RAM使用者仍無許可權查看Project下的日誌,還需授予Logstore唯讀許可權。

同時滿足上述許可權的權限原則如下:

{
   "Version": "1",
   "Statement": [
     {
       "Action": ["log:ListProject"],
       "Resource": ["acs:log:*:*:project/*"],
       "Effect": "Allow"
      },
     {
       "Action": [
         "log:Get*",
         "log:List*"
       ],
       "Resource": "acs:log:*:*:project/<指定的Project名稱>/*",
       "Effect": "Allow"
     }
   ]
 }

指定Logstore的唯讀許可權和快速查詢的建立、使用許可權

使用阿里雲帳號授予RAM使用者以下許可權:

  • RAM使用者具備當前阿里雲帳號下的Project列表的查看許可權。

  • RAM使用者具備指定的Logstore的唯讀許可權,同時具備建立並管理快速查詢的許可權。

同時滿足上述許可權的權限原則如下:

{
  "Version": "1",
  "Statement": [
    {
      "Action": [
        "log:ListProject"
      ],
      "Resource": "acs:log:*:*:project/*",
      "Effect": "Allow"
    },
    {
      "Action": [
        "log:List*"
      ],
      "Resource": "acs:log:*:*:project/<指定的Project名稱>/logstore/*",
      "Effect": "Allow"
    },
    {
      "Action": [
        "log:Get*",
        "log:List*"
      ],
      "Resource": [
        "acs:log:*:*:project/<指定的Project名稱>/logstore/<指定的Logstore名稱>"
      ],
      "Effect": "Allow"
    },
    {
      "Action": [
        "log:List*"
      ],
      "Resource": [
        "acs:log:*:*:project/<指定的Project名稱>/dashboard",
        "acs:log:*:*:project/<指定的Project名稱>/dashboard/*"
      ],
      "Effect": "Allow"
    },
    {
      "Action": [
        "log:Get*",
        "log:List*",
        "log:Create*"
      ],
      "Resource": [
        "acs:log:*:*:project/<指定的Project名稱>/savedsearch",
        "acs:log:*:*:project/<指定的Project名稱>/savedsearch/*"
      ],
      "Effect": "Allow"
    }
  ]
}

指定Logstore的唯讀許可權及指定Project中快速查詢和儀錶盤的唯讀許可權

使用阿里雲帳號授予RAM使用者以下許可權:

  • RAM使用者具備當前阿里雲帳號下的Project列表的查看許可權。

  • RAM使用者具備指定的Logstore的唯讀許可權,同時具備查看該Logstore所屬的Project中所有的快速查詢和儀錶盤列表的許可權。

同時滿足上述許可權的權限原則如下:

{
  "Version": "1",
  "Statement": [
    {
      "Action": [
        "log:ListProject"
      ],
      "Resource": "acs:log:*:*:project/*",
      "Effect": "Allow"
    },
    {
      "Action": [
        "log:List*"
      ],
      "Resource": "acs:log:*:*:project/<指定的Project名稱>/logstore/*",
      "Effect": "Allow"
    },
    {
      "Action": [
        "log:Get*",
        "log:List*"
      ],
      "Resource": [
        "acs:log:*:*:project/<指定的Project名稱>/logstore/<指定的Logstore名稱>"
      ],
      "Effect": "Allow"
    },
    {
      "Action": [
        "log:Get*",
        "log:List*"
      ],
      "Resource": [
        "acs:log:*:*:project/<指定的Project名稱>/dashboard",
        "acs:log:*:*:project/<指定的Project名稱>/dashboard/*"
      ],
      "Effect": "Allow"
    },
    {
      "Action": [
        "log:Get*",
        "log:List*"
      ],
      "Resource": [
        "acs:log:*:*:project/<指定的Project名稱>/savedsearch",
        "acs:log:*:*:project/<指定的Project名稱>/savedsearch/*"
      ],
      "Effect": "Allow"
    }
  ]
}

指定Project的寫入許可權

授予RAM使用者向指定Project寫入資料的許可權,不包含查詢等其他動作許可權。

{
  "Version": "1",
  "Statement": [
    {
      "Action": [
        "log:Post*"
      ],
      "Resource": "acs:log:*:*:project/<指定的project名稱>/*",
      "Effect": "Allow"
    }
  ]
}

指定Logstore的寫入許可權

授予RAM使用者向指定Logstore寫入資料的許可權,不包含查詢等其他動作許可權。

{
  "Version":"1",
  "Statement":[
    {
      "Effect":"Allow",
      "Action":[
        "log:PostLogStoreLogs"
      ],
      "Resource":[
        "acs:log:*:*:project/<指定的Project名稱>/logstore/<指定的Logstore名稱>"
      ]
    }
  ]
}

指定Project的消費許可權

授予RAM使用者消費指定Project資料的許可權,不包含資料寫入、查詢等其他動作許可權。

{
  "Version": "1",
  "Statement": [
    {
      "Action": [
        "log:ListShards",
        "log:GetCursorOrData",
        "log:GetConsumerGroupCheckPoint",
        "log:UpdateConsumerGroup",
        "log:ConsumerGroupHeartBeat",
        "log:ConsumerGroupUpdateCheckPoint",
        "log:ListConsumerGroup",
        "log:CreateConsumerGroup"
      ],
      "Resource": "acs:log:*:*:project/<指定的project名稱>/*",
      "Effect": "Allow"
    }
  ]
}

指定Logstore的消費許可權

授予RAM使用者消費指定Logstore資料的許可權,不包含資料寫入、查詢等其他動作許可權。

{
  "Version": "1",
  "Statement": [
    {
      "Action": [
        "log:ListShards",
        "log:GetCursorOrData",
        "log:GetConsumerGroupCheckPoint",
        "log:UpdateConsumerGroup",
        "log:ConsumerGroupHeartBeat",
        "log:ConsumerGroupUpdateCheckPoint",
        "log:ListConsumerGroup",
        "log:CreateConsumerGroup"
      ],
      "Resource": [
        "acs:log:*:*:project/<指定的project名稱>/logstore/<指定的Logstore名稱>",
        "acs:log:*:*:project/<指定的project名稱>/logstore/<指定的Logstore名稱>/*"
      ],
      "Effect": "Allow"
    }
  ]
}

指定Logstore必須啟用加密配置

授予RAM使用者該權限原則後,RAM使用者建立或者修改Logstore時必須指定加密配置。 未授予該權限原則的RAM使用者,建立或修改Logstore時無需指定加密配置。

說明

您可以自行指定Project名稱和Logstore名稱,也可以用星號(*)進行模糊比對。

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "log:CreateLogStore",
        "log:UpdateLogStore"
      ],
      "Resource": [
        "acs:log:*:*:project/<指定的Project名稱>/logstore/<指定的Logstore名稱>",
        "acs:log:*:*:project/<指定的project名稱>/logstore/*"
      ],
      "Condition": {
        "Bool": {
          "log:Encrypted": "true"
        }
      }
    }
  ]
}

使用日誌應用所需的許可權

如果使用了以下日誌應用或功能,需要對子帳號或者角色授予相應的許可權。

  • 通用Database Audit

  • 移動營運監控

  • Flowlog日誌中心

  • 日誌分析 For AWS CloudTrail

  • SREWorks

  • 通用主機審計

  • 智能異常分析

  • 應用自訂儀錶盤

  • 儀錶盤示範列表

以下是使用日誌應用所需的許可權配置。

  • 唯讀許可權

    {
        "Version": "1",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "log:GetResource",
                    "log:ListResources",
                    "log:GetResourceRecord",
                    "log:ListResourceRecords"
                ],
                "Resource": [
                    "acs:log:*:*:resource/*"
                ]
            }
        ]
    }
  • 系統管理權限

    {
        "Version": "1",
        "Statement": [
              {
          "Effect": "Allow",
          "Action": [
            "log:*"
          ],
          "Resource": [
            "acs:log:*:*:resource/*"
          ]
        }
        ]
    }

授權資訊參考

使用自訂權限原則,您需要瞭解業務的許可權管控需求,並瞭解Log Service的授權資訊。詳細內容請參見授權資訊