本文為您詳細介紹如何通過 RAM(Resource Access Management)為 OSS 和 OSS-HDFS 配置存取權限。您可以根據實際需求,靈活定義權限原則,確保資料安全的同時滿足業務情境的需求。
授權訪問OSS
您可以通過自訂策略靈活定義RAM使用者對OSS資料的存取權限,具體步驟為:
使用Resource Access Management員登入RAM控制台。
在左側導覽列,選擇。
-
在權限原則頁面,單擊建立權限原則。
-
在建立權限原則頁面,單擊指令碼編輯頁簽。
-
輸入權限原則內容,單擊确定。
OSS提供了完整的資料許可權管控體系,完整的OSS授權策略,詳情請參見RAM Policy概述。
重要-
請根據RAM使用者需要使用的許可權,謹慎定義權限原則。對於叢集中使用Hive、Spark服務的使用者,無論是否開啟多版本都需要配置
oss:ListObjectVersions、oss:DeleteObjectVersion,EMR對於一些常見的臨時目錄,例如"_temporary"、".staging"、".hive-staging"和"__magic"會觸發多版本操作。 -
在配置Bucket Policy時,授權建議使用
oss:*(即“完全控制”)許可權,避免出現AccessDenied(HTTP 403)問題。
您可以根據情境配置自訂權限原則,常見授權情境樣本如下所示。
情境1:完整存取權限
適用於需要對OSS資料進行完全控制的情境。
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "oss:ListObjects", "oss:GetBucketInfo", "oss:PutObject", "oss:GetObject", "oss:DeleteObject", "oss:AbortMultipartUpload", "oss:ListMultipartUploads", "oss:ListParts", "oss:RestoreObject", "oss:ListObjectVersions", "oss:DeleteObjectVersion" ], "Resource": [ "acs:oss:*:*:<yourBucketName>", "acs:oss:*:*:<yourBucketName>/*" ] }, { "Effect": "Allow", "Action": ["oss:ListBuckets"], "Resource": "*" } ] }情境2:唯讀存取權限
適用於僅需讀取資料的分析或查詢情境。
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "oss:ListObjects", "oss:GetBucketInfo", "oss:GetObject", "oss:RestoreObject", "oss:ListObjectVersions" ], "Resource": [ "acs:oss:*:*:<yourBucketName>", "acs:oss:*:*:<yourBucketName>/*" ] }, { "Effect": "Allow", "Action": ["oss:ListBuckets"], "Resource": "*" } ] }情境3:支援多版本功能的許可權
適用於開啟了OSS多版本功能的情境。
重要開啟多版本功能可能影響效能並增加儲存成本,建議謹慎使用。
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "oss:ListObjects", "oss:GetBucketInfo", "oss:PutObject", "oss:GetObject", "oss:DeleteObject", "oss:AbortMultipartUpload", "oss:ListMultipartUploads", "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": "*" } ] } -
-
輸入許可權的策略名稱稱和备注,單擊确定。
授權訪問OSS-HDFS
OSS-HDFS是阿里雲提供的相容HDFS介面的Object Storage Service服務,適用於需要HDFS語義但希望使用OSS儲存的情境。以下是授權步驟及策略樣本。
使用Resource Access Management員登入RAM控制台。
在左側導覽列,選擇。
-
在權限原則頁面,單擊建立權限原則。
-
在建立權限原則頁面,單擊指令碼編輯頁簽。
-
輸入權限原則內容,單擊确定。策略內容樣本如下。
{ "Version": "1", "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*" ] } ] }說明-
資源路徑限制:策略中
.dlsdata是OSS-HDFS的專用路徑,請確保相關資源路徑正確配置。 -
許可權範圍:根據業務需求,合理調整Action和Resource的範圍,避免過度授權。
-
-
輸入許可權的策略名稱稱和备注,單擊确定。