全部產品
Search
文件中心

Simple Log Service:投遞日誌到OSS的RAM授權管理

更新時間:Dec 06, 2024

本文介紹使用者將Logstore的日誌投遞到本帳號或其他帳號下的OSS Bucket的過程中,涉及的RAM許可權配置步驟。

使用RAM使用者建立OSS投遞任務(推薦)

重要

每一個OSS投遞任務只能指定一個OSS Bucket,如果您需要同時投遞到兩個阿里雲帳號的OSS Bucket,請建立兩個投遞任務。

同帳號投遞

Logstore和Bucket屬於同一阿里雲帳號。

操作步驟

  1. 建立RAM使用者ram-user。具體操作,請參見建立RAM使用者

  2. 授權RAM使用者ram-user讀取Logstore資料以及投遞資料到OSS。

    1. 建立自訂權限原則ShipLogsToOSS,策略指令碼如下所示。具體操作步驟,請參見建立自訂權限原則

      說明

      請根據實際情況替換指令碼中的Project名稱Logstore名稱

      {
        "Version": "1",
        "Statement": [{
          "Effect": "Allow",
          "Action": [
            "log:GetLogStore",
            "log:GetIndex",
            "log:GetLogStoreHistogram",
            "log:GetLogStoreLogs"
          ],
          "Resource": [
            "acs:log:*:*:project/Project名稱/logstore/Logstore名稱",
            "acs:log:*:*:project/Project名稱/logstore/internal-diagnostic_log"
          ]
        },
          {
            "Effect": "Allow",
            "Action": [
              "log:CreateJob",
              "log:UpdateJob",
              "log:DeleteJob",
              "log:ListJobs",
              "log:GetJob"
            ],
            "Resource": "acs:log:*:*:project/Project名稱/job/*"
          },
          {
            "Effect": "Allow",
            "Action": [
              "log:ListLogStores",
              "log:ListDashboard",
              "log:ListSavedSearch"
            ],
            "Resource": "acs:log:*:*:project/Project名稱/*"
          },
          {
            "Effect": "Allow",
            "Action": [
              "ram:PassRole",
              "ram:GetRole",
              "ram:ListRoles"
            ],
            "Resource": "*"
          }
        ]
      }

後續操作

使用RAM使用者登入Log Service控制台,並建立OSS投遞任務。具體操作,請參見建立OSS投遞任務(舊版)

跨帳號投遞

Logstore和Bucket屬於不同阿里雲帳號,假如Logstore屬於A帳號,Bucket屬於B帳號。

操作步驟

  1. B帳號修改AliyunLogDefaultRole的信任策略,以便於A帳號可以寫入B帳號的Bucket。

  2. A帳號建立RAM使用者ram-user-a。具體操作,請參見建立RAM使用者

  3. 授權RAM使用者ram-user-a讀取Logstore資料以及投遞資料到OSS。

    1. 建立自訂權限原則ShipLogsToOSS,策略指令碼如下所示,其中請根據實際情況替換{阿里雲帳號B的主帳號ID}。具體操作步驟,請參見建立自訂權限原則

      {
        "Version": "1",
        "Statement": [{
          "Effect": "Allow",
          "Action": [
            "log:GetLogStore",
            "log:GetIndex",
            "log:GetLogStoreHistogram",
            "log:GetLogStoreLogs"
          ],
          "Resource": [
            "acs:log:*:*:project/Project名稱/logstore/Logstore名稱",
            "acs:log:*:*:project/Project名稱/logstore/internal-diagnostic_log"
          ]
        },
          {
            "Effect": "Allow",
            "Action": [
              "log:CreateJob",
              "log:UpdateJob",
              "log:DeleteJob",
              "log:ListJobs",
              "log:GetJob"
            ],
            "Resource": "acs:log:*:*:project/Project名稱/job/*"
          },
          {
            "Effect": "Allow",
            "Action": [
              "log:ListLogStores",
              "log:ListDashboard",
              "log:ListSavedSearch"
            ],
            "Resource": "acs:log:*:*:project/Project名稱/*"
          },
          {
            "Effect": "Allow",
            "Action": [
              "ram:PassRole",
              "ram:GetRole",
              "ram:ListRoles"
            ],
            "Resource": "acs:ram::{阿里雲帳號B的主帳號ID}:role/aliyunlogdefaultrole"
          }
        ]
      }
    2. 為RAM使用者ram-user-a添加ShipLogsToOSS許可權。具體操作,請參見為RAM使用者授權

後續操作

使用RAM使用者登入Log Service控制台,並建立OSS投遞任務。具體操作,請參見建立OSS投遞任務(舊版)

使用阿里雲主帳號建立OSS投遞任務

重要
  • 阿里雲主帳號擁有帳號下所有雲資源的系統管理權限,為了降低安全風險,強烈建議使用RAM使用者。

  • 每一個OSS投遞任務只能指定一個OSS Bucket,如果您需要同時投遞到兩個阿里雲帳號的OSS Bucket,請建立兩個投遞任務。

同帳號投遞

Logstore和Bucket屬於同一阿里雲帳號。

操作步驟

建立RAM角色(AliyunLogDefaultRole),具體步驟請參見雲資源訪問授權

後續操作

使用阿里雲帳號(主帳號)登入Log Service控制台,並建立OSS投遞任務。具體操作,請參見建立OSS投遞任務(舊版)

跨帳號投遞

Logstore和Bucket屬於不同阿里雲帳號,假如Logstore屬於A帳號,Bucket屬於B帳號。

操作步驟

  1. B帳號建立RAM角色(AliyunLogDefaultRole),具體步驟請參見雲資源訪問授權

  2. B帳號修改AliyunLogDefaultRole的信任策略,以便於A帳號可以寫入B帳號的Bucket。

後續操作

使用阿里雲帳號(主帳號)登入Log Service控制台,並建立OSS投遞任務。具體操作,請參見建立OSS投遞任務(舊版)

修改AliyunLogDefaultRole的信任策略

將阿里雲帳號A下的日誌投遞至帳號B下的OSS Bucket中,需要修改AliyunLogDefaultRole的信任策略。操作步驟如下所示:

  1. 阿里雲帳號B在雲資源訪問授權頁面,建立角色AliyunLogDefaultRole。

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

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

  4. 在RAM角色列表中,單擊AliyunLogDefaultRole

  5. 信任策略頁簽中,單擊編輯信任策略

    說明

    Service配置項中添加{阿里雲帳號A的主帳號ID}@log.aliyuncs.com,其中請根據實際情況替換{阿里雲帳號A的主帳號ID},您可以在帳號中心中查看阿里雲帳號ID。

    {
    "Statement": [
     {
       "Action": "sts:AssumeRole",
       "Effect": "Allow",
       "Principal": {
         "Service": [
           "{阿里雲帳號A的主帳號ID}@log.aliyuncs.com",
           "log.aliyuncs.com"
         ]
       }
     }
    ],
    "Version": "1"
    }