全部產品
Search
文件中心

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

更新時間:Aug 02, 2024

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

前提條件

OSS Bucket擁有者已建立RAM角色(AliyunLogDefaultRole),具體步驟請參見雲資源訪問授權

使用RAM使用者建立OSS投遞任務

重要

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

Logstore和Bucket屬於同帳號

如果您要使用RAM使用者建立投遞任務,需由阿里雲帳號為RAM使用者授予相關許可權。

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

  2. 建立權限原則。

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

    2. 單擊建立權限原則

    3. 選擇指令碼編輯。將策略文檔中的原有指令碼替換為如下內容,然後單擊繼續編輯基本資料

    4. 輸入策略名稱稱,然後單擊確定

      說明

      權限原則中需要包含PassRole許可權。

      {
        "Version": "1",
        "Statement": [
          {
            "Effect": "Allow",
            "Action": "log:*",
            "Resource": "*"
          },
          {
            "Effect": "Allow",
            "Action": "ram:PassRole",
            "Resource": "*"
          }
        ]
      }
  3. 建立RAM使用者。具體操作,請參見建立RAM使用者

  4. 為RAM使用者授權。

    1. 在左側導覽列中,單擊身份管理 > 使用者

    2. 找到目標RAM使用者,單擊添加許可權

    3. 權限原則地區,從下拉式清單中選擇自訂策略,選中步驟2中建立的策略,然後單擊確認新增授權

Logstore和Bucket屬於不同帳號

Logstore和Bucket屬於不同雲帳號,Logstore屬於A帳號,Bucket屬於B帳號。

  1. B帳號完成前提條件。

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

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

  4. 建立RAM使用者A1。具體操作,請參見建立RAM使用者

  5. 為RAM使用者A1授予AliyunRAMFullAccess許可權。

    1. 在左側導覽列中,選擇身份管理 > 使用者

    2. 找到RAM使用者A1,單擊添加許可權

    3. 權限原則地區,搜尋並選中AliyunRAMFullAccess,然後單擊確認新增授權

      授權成功後,RAM使用者A1具備存取控制(RAM)的所有許可權。

      如果您需要控制RAM使用者A1的許可權範圍,只授予投遞到OSS的必要許可權,可以為RAM使用者A1授予自訂權限原則,策略指令碼如下所示,其中Resource中配置為帳號B的AliyunLogDefaultRole的角色標識。建立自訂權限原則的操作步驟請參見建立自訂權限原則

      {
      "Statement": [
      {
      "Action": "ram:PassRole",
      "Effect": "Allow",
      "Resource": "acs:ram::${阿里雲帳號B的主帳號ID}:role/aliyunlogdefaultrole"
      }
      ],
      "Version": "1"
      }
  6. 擷取RAM角色標識(ARN)。

    在該角色的基本資料中查看,例如acs:ram::13234:role/logrole。

    使用RAM使用者A1配置投遞任務時,寫OSS RAM角色中輸入此步驟中擷取的RAM角色標識。

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

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

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

  • Logstore和Bucket屬於同一雲帳號:只需完成前提條件。

  • Logstore和Bucket屬於不同雲帳號,Logstore屬於A帳號,Bucket屬於B帳號。

    1. B帳號完成前提條件。

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

修改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"
    }
  6. 擷取RAM角色標識(ARN)。在該角色的基本資料中查看,例如acs:ram::13234:role/logrole

  7. 阿里雲帳號A配置投遞任務時,在寫OSS RAM角色中輸入此步驟中擷取的RAM角色標識。

相關文檔

Log Service可以通過扮演AliyunLogDefaultRole擷取所有Bucket的寫入許可權,如果需要縮小許可權範圍,請解除AliyunLogDefaultRole角色的AliyunLogRolePolicy許可權,為AliyunLogDefaultRole角色授予自訂權限原則