全部產品
Search
文件中心

E-MapReduce:OSS/OSS-HDFS授權

更新時間:Jul 01, 2024

本文為您介紹如何授權訪問OSS和OSS-HDFS。

授權訪問OSS

您可以通過自訂策略靈活定義RAM使用者對OSS資料的存取權限,具體步驟為:
  1. 使用阿里雲帳號登入RAM控制台
  2. 在左側導覽列,單擊許可權管理 > 權限原則
  3. 權限原則頁面,單擊建立權限原則
  4. 建立權限原則頁面,單擊指令碼編輯頁簽。
  5. 輸入權限原則內容,單擊繼續編輯基本資料

    OSS提供了完整的資料許可權管控體系,完整的OSS授權策略,詳情請參見RAM Policy

    重要 請根據RAM使用者需要使用的許可權,謹慎定義權限原則。對於使用Hive、Spark服務的使用者,無論是否開啟多版本都需要配置oss:ListObjectVersionsoss:DeleteObjectVersion,EMR對於一些常見的臨時目錄,例如"_temporary"、".staging"、".hive-staging"和"__magic"會觸發多版本操作。
    自訂權限原則內容樣本如下所示。
           {
          "Version": "1",
          "Statement": [
            {
              "Action": [
                "oss:ListObjects",
                "oss:GetBucketInfo",
                "oss:PutObject",
                "oss:GetObject",
                "oss:DeleteObject",
                "oss:AbortMultipartUpload",
                "oss:ListParts",
                "oss:RestoreObject",
                "oss:ListObjectVersions",
                "oss:DeleteObjectVersion"
              ],
              "Resource": [
                "acs:oss:*:*:<yourBucketName>",
                "acs:oss:*:*:<yourBucketName>/*"
              ],
              "Effect": "Allow"
            },
            {
              "Action": [
                "oss:ListBuckets"
              ],
              "Resource": "*",
              "Effect": "Allow"
            }
          ]
        }
    說明 自訂權限原則內容樣本中的<yourBucketName>需要替換為被授權的Bucket名稱。
  6. 輸入權限原則的名稱備忘,單擊確定

其他自訂情境

  • 唯讀訪問OSS
    重要 請根據RAM使用者需要使用的許可權,謹慎定義權限原則。對於使用Hive、Spark服務的使用者,無論是否開啟多版本都需要配置oss:ListObjectVersions,EMR對於一些常見的臨時目錄,例如"_temporary"、".staging"、".hive-staging"和"__magic"會觸發多版本操作。
           {
          "Version": "1",
          "Statement": [
            {
              "Action": [
                "oss:ListObjects",
                "oss:GetBucketInfo",
                "oss:GetObject",
                "oss:RestoreObject",
                "oss:ListObjectVersions"
              ],
              "Resource": [
                "acs:oss:*:*:<yourBucketName>",
                "acs:oss:*:*:<yourBucketName>/*"
              ],
              "Effect": "Allow"
            },
            {
              "Action": [
                "oss:ListBuckets"
              ],
              "Resource": "*",
              "Effect": "Allow"
            }
          ]
        }
  • 訪問開啟了多版本功能的OSS
    重要 不建議開啟多版本,容易產生效能問題。
           {
          "Version": "1",
          "Statement": [
            {
              "Action": [
                "oss:ListObjects",
                "oss:GetBucketInfo",
                "oss:PutObject",
                "oss:GetObject",
                "oss:DeleteObject",
                "oss:AbortMultipartUpload",
                "oss:ListParts",
                "oss:RestoreObject",
                "oss:ListObjectVersions",
                "oss:GetObjectVersion",
                "oss:DeleteObjectVersion",
                "oss:RestoreObjectVersion"
              ],
              "Resource": [
                "acs:oss:*:*:<yourBucketName>",
                "acs:oss:*:*:<yourBucketName>/*"
              ],
              "Effect": "Allow"
            },
            {
              "Action": [
                "oss:ListBuckets"
              ],
              "Resource": "*",
              "Effect": "Allow"
            }
          ]
        }
    說明 Bucket Policy授權建議使用“完全控制”,避免出現AccessDenied問題。

授權訪問OSS-HDFS

  1. 使用阿里雲帳號登入RAM控制台
  2. 在左側導覽列,單擊許可權管理 > 權限原則
  3. 權限原則頁面,單擊建立權限原則
  4. 建立權限原則頁面,單擊指令碼編輯頁簽。
  5. 輸入權限原則內容,單擊繼續編輯基本資料。策略內容樣本如下。
    {
        "Statement": [
            {
              "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"
    }
  6. 輸入權限原則的名稱備忘,單擊確定