通過自訂RAM角色訪問資料(同帳號情境)

更新時間:
Copy as MD

OSS-HDFS投遞任務運行時,將讀取LogStore中的資料並投遞到OSS-HDFS Bucket中,您可以授權OSS-HDFS投遞任務扮演自訂RAM角色完成上述操作。本文介紹如何對自訂RAM角色進行授權。

前提條件

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

重要
  • 建立RAM角色時,信任主體類型應選擇雲端服務,且信任主體名稱應選擇Log Service

  • 請檢查角色的信任策略如下,Service內容至少包含"log.aliyuncs.com"

    {
      "Statement": [
        {
          "Action": "sts:AssumeRole",
          "Effect": "Allow",
          "Principal": {
            "Service": [
              "log.aliyuncs.com"
            ]
          }
        }
      ],
      "Version": "1"
    }

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

授予RAM角色讀取LogStore資料的許可權後,OSS-HDFS投遞任務可以扮演該角色讀取LogStore中的資料。

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

  2. 建立一個自訂權限原則,該策略具備讀取LogStore資料的許可權。

    您可選擇使用精確授權模糊比對授權

    精確授權

    创建权限策略頁面,單擊指令碼編輯頁簽,並使用以下指令碼替換配置框中的原有內容。具體操作,請參見通過指令碼編輯模式建立自訂權限原則

    重要

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

    {
        "Version":"1",
        "Statement":[
            {
                "Action":[
                    "log:GetCursorOrData",
                    "log:ListShards"
                ],
                "Resource":[
                    "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等,則您可以使用模糊比對授權。

    • 指令碼中的log-project-dev-*website_*_log*請根據實際情況替換。

    {
        "Version":"1",
        "Statement":[
            {
                "Action":[
                    "log:GetCursorOrData",
                    "log:ListShards"
                ],
                "Resource":[
                    "acs:log:*:*:project/log-project-dev-*/logstore/website_*_log*"
                ],
                "Effect":"Allow"
            }
        ]
    }
  3. RAM角色添加建立的自訂許可權。具體操作,請參見管理RAM角色的許可權

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

授予RAM角色寫OSS Bucket的許可權後,OSS-HDFS投遞任務可以扮演該角色將LogStore中的資料寫入到目標OSS-HDFS Bucket中。

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

  2. 建立一個自訂權限原則,該策略具備寫OSS Bucket許可權。

    创建权限策略頁面,單擊指令碼編輯頁簽,並使用以下指令碼替換配置框中的原有內容。具體操作,請參見通過指令碼編輯模式建立自訂權限原則

    {
        "Statement": [
            {
                "Action": [
                    "oss:PutObject"
                ],
                "Resource": "*",
                "Effect": "Allow"
            },
            {
              "Effect": "Allow",
              "Action": "oss:ListObjects",
              "Resource": [
                "acs:oss:*:*:*"
              ]
            },
            {
                "Effect": "Allow",
                "Action": [
                    "oss:GetBucketInfo",                
                    "oss:PostDataLakeStorageFileOperation",
                    "oss:PostDataLakeStorageAdminOperation"
                ],
                "Resource": "*"
            },
            {
                "Effect": "Allow",
                "Action": "oss:*",
                "Resource": [
                    "acs:oss:*:*:*/.dlsdata",
                    "acs:oss:*:*:*/.dlsdata*"
                ]
            }
        ],
        "Version": "1"
    }
  3. RAM角色添加建立的自訂許可權。具體操作,請參見管理RAM角色的許可權

後續操作

擷取RAM角色標識(ARN),具體操作,請參見查看RAM角色

如果您在建立OSS-HDFS投遞任務時Logstore RAM角色OSS-HDFS RAM角色選擇自訂角色,則需要輸入該資訊。更多資訊,請參見建立OSS-HDFS投遞任務