全部產品
Search
文件中心

Simple Log Service:通過存取金鑰訪問資料

更新時間:Dec 17, 2024

Simple Log Service支援通過預設角色、自訂角色或密鑰方式建立資料加工任務。阿里雲帳號的存取金鑰具有最高許可權,不推薦使用。您可使用RAM使用者的密鑰建立資料加工任務,本文介紹如何授予RAM使用者訪問Logstore的相關許可權。

前提條件

已建立RAM使用者。具體操作,請參見建立RAM使用者

重要
  • 建立RAM使用者時,請選擇訪問方式使用永久 AccessKey 訪問,並儲存AccessKey資訊。

  • RAM使用者的AccessKey Secret只在建立時顯示,不支援查詢,請妥善保管,謹防泄露。

授權RAM使用者唯讀訪問源Logstore

為RAM使用者授權後,該RAM使用者將具備讀取源Logstore資料的許可權。您可以在建立資料加工任務時,使用該RAM使用者的存取金鑰。具體操作,請參見建立資料加工任務

  1. 使用阿里雲帳號(主帳號)或Resource Access Management員登入RAM控制台

  2. 建立一個自訂權限原則,例如命名為:log-etl-source-reader-policy。該權限原則用於讀取源Logstore中的資料。具體操作,請參見通過指令碼編輯模式建立自訂權限原則

    其中在指令碼編輯頁簽,您可選擇使用精確授權模糊比對授權指令碼替換配置框中的原有內容。

    精確授權

    例如:源Project名稱為log-project-prod,源Logstore名稱為access_log。在實際情境中,請根據實際情況替換。

    {
      "Version": "1",
      "Statement": [
        {
          "Action": [
            "log:ListShards",
            "log:GetCursorOrData",
            "log:GetConsumerGroupCheckPoint",
            "log:UpdateConsumerGroup",
            "log:ConsumerGroupHeartBeat",
            "log:ConsumerGroupUpdateCheckPoint",
            "log:ListConsumerGroup",
            "log:CreateConsumerGroup"
          ],
          "Resource": [
            "acs:log:*:*:project/log-project-prod/logstore/access_log",
            "acs:log:*:*:project/log-project-prod/logstore/access_log/*"
          ],
          "Effect": "Allow"
        }
      ]
    }

    模糊比對授權

    例如:源Project名稱為log-project-dev-a、log-project-dev-b、log-project-dev-c等,源Logstore名稱為app_a_log、app_b_log、app_c_log等,則使用模糊比對授權。在實際情境中,請根據實際情況替換。

    {
      "Version": "1",
      "Statement": [
        {
          "Action": [
            "log:ListShards",
            "log:GetCursorOrData",
            "log:GetConsumerGroupCheckPoint",
            "log:UpdateConsumerGroup",
            "log:ConsumerGroupHeartBeat",
            "log:ConsumerGroupUpdateCheckPoint",
            "log:ListConsumerGroup",
            "log:CreateConsumerGroup"
          ],
          "Resource": [
            "acs:log:*:*:project/log-project-dev-*/logstore/app_*_log",
        "acs:log:*:*:project/log-project-dev-*/logstore/app_*_log/*"
          ],
          "Effect": "Allow"
        }
      ]
    }
  3. 為RAM使用者添加建立的自訂權限原則。具體操作,請參見為RAM使用者授權

授權RAM使用者寫入資料到目標Logstore

為RAM使用者授權後,該RAM使用者將具備寫入加工結果到目標Logstore的許可權。您可以在建立資料加工任務時,使用該RAM使用者的存取金鑰。具體操作,請參見建立資料加工任務

  1. 建立一個自訂權限原則,例如命名為:log-etl-target-writer-policy。該權限原則用於將加工結果寫入到目標Logstore。具體操作,請參見通過指令碼編輯模式建立自訂權限原則

    其中在指令碼編輯頁簽,您可選擇使用精確授權模糊比對授權指令碼替換配置框中的原有內容。

    精確授權

    例如:目標Project名稱為log-project-prod,目標Logstore名稱為access_log_output。在實際情境中,請根據實際情況替換。

    {
      "Version": "1",
      "Statement": [
        {
          "Action": [
            "log:Post*",
            "log:BatchPost*"
          ],
           "Resource": "acs:log:*:*:project/log-project-prod/logstore/access_log_output",
          "Effect": "Allow"
        }
      ]
    }

    模糊比對授權

    例如:目標Project名稱為log-project-dev-a、log-project-dev-b、log-project-dev-c等,目標Logstore名稱為app_a_log_output、app_b_log_output、app_c_log_output等,則使用模糊比對授權。在實際情境中,請根據實際情況替換。

    {
      "Version": "1",
      "Statement": [
        {
          "Action": [
            "log:Post*",
            "log:BatchPost*"
          ],
           "Resource": "acs:log:*:*:project/log-project-dev-*/logstore/app_*_log_output",
          "Effect": "Allow"
        }
      ]
    }
  2. 為RAM使用者添加建立的自訂權限原則。具體操作,請參見為RAM使用者授權

後續步驟

在資料加工任務中配置RAM使用者的存取金鑰。具體操作,請參見建立資料加工任務