全部產品
Search
文件中心

Simple Log Service:通過自訂角色訪問資料(同帳號情境)

更新時間:Jun 30, 2024

OSS投遞任務(新版)運行時,將拉取Logstore中的資料並投遞到OSS Bucket中,您可以使用自訂角色來完成以上操作。本文介紹如何對自訂角色進行授權。

前提條件

已建立RAM角色。具體操作,請參見建立可信實體為阿里雲服務的RAM角色

重要

建立RAM角色時,必須選擇可信實體類型阿里雲服務

步驟一:授予RAM角色讀取Logstore資料的許可權

授予RAM角色讀取Logstore資料的許可權後,OSS投遞任務可以使用該角色讀取Logstore中的資料。

  1. 使用阿里雲帳號登入RAM控制台

  2. 建立具備讀取Logstore資料許可權的策略。

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

    2. 單擊建立權限原則

    3. 建立權限原則頁面的指令碼編輯頁簽中,將配置框中的原有指令碼替換為如下內容,然後單擊繼續編輯基本資料

      • 精確授權。

        在實際情境中,請根據實際情況替換Project名稱和Logstore名稱。

        {
            "Version":"1",
            "Statement":[
                {
                    "Action":[
                        "log:GetCursorOrData",
                        "log:ListShards"
                    ],
                    "Resource":[
                        "acs:log:*:*:project/Project名稱/logstore/Logstore名稱",
                        "acs:log:*:*:project/Project名稱/logstore/Logstore名稱/*"
                    ],
                    "Effect":"Allow"
                }
            ]
        }
      • 模糊比對授權。

        例如Project名稱為log-project-dev-a、log-project-dev-b、log-project-dev-c等,Logstore名稱為website_a_log、website_b_log、website_c_log等,則您可以使用模糊比對授權。在實際情境中,請根據實際情況替換Project名稱和Logstore名稱。

        {
            "Version":"1",
            "Statement":[
                {
                    "Action":[
                        "log:GetCursorOrData",
                        "log:ListShards"
                    ],
                    "Resource":[
                        "acs:log:*:*:project/log-project-dev-*/logstore/website_*_log*",
                        "acs:log:*:*:project/log-project-dev-*/logstore/website_*_log*/*"
                    ],
                    "Effect":"Allow"
                }
            ]
        }
    4. 設定名稱,然後單擊確定

      例如設定策略名稱稱為log-oss-export-source-policy

  3. 為RAM角色授權。

    1. 在左側導覽列中,選擇身份管理 > 角色

    2. 單擊目標RAM角色對應的新增授權

    3. 在下拉式清單選擇自訂策略,並選中步驟2中建立的權限原則(例如log-oss-export-source-policy),單擊確認新增授權

    4. 確認授權結果,單擊完成

  4. 擷取RAM角色標識(ARN)。

    您可以在該角色的基本資料中查看RAM角色標識,例如acs:ram::13****44:role/logrole。請記錄該資訊,如果您在建立OSS投遞任務時使用的是自訂角色,則需要在讀Logstore RAM角色中輸入該資訊。ARN

步驟二:授予RAM角色寫OSS Bucket的許可權

授予RAM角色寫OSS Bucket的許可權後,OSS投遞任務可以使用該角色將Logstore中的資料寫入到目標OSS Bucket中。

  1. 使用阿里雲帳號登入RAM控制台

  2. 建立具備寫OSS Bucket許可權的策略。

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

    2. 單擊建立權限原則

    3. 建立權限原則頁面的指令碼編輯頁簽中,將配置框中的原有指令碼替換為如下內容,然後單擊繼續編輯基本資料

      {
          "Version": "1",
          "Statement": [
              {
                  "Action": [
                      "oss:PutObject"
                  ],
                  "Resource": "*",
                  "Effect": "Allow"
              }
          ]
      }

      如果您有更細粒度的OSS許可權控制需求,請參見RAM Policy

    4. 設定名稱,然後單擊確定

      例如設定策略名稱稱為log-oss-export-sink-policy

  3. 為RAM角色授權。

    1. 在左側導覽列中,選擇身份管理 > 角色

    2. 單擊目標RAM角色對應的新增授權

    3. 選擇自訂策略,並選中步驟2中建立的權限原則(例如log-oss-export-sink-policy),單擊確定

    4. 確認授權結果,單擊完成

  4. 擷取RAM角色標識(ARN)。

    您可以在該角色的基本資料中查看RAM角色標識,例如acs:ram::13****44:role/ossrole。請記錄該資訊,如果您在建立OSS投遞任務時使用的是自訂角色,則需要在寫OSS RAM角色中輸入該資訊。ARN