本文為您介紹如何授權訪問OSS和OSS-HDFS。
授權訪問OSS
您可以通過自訂策略靈活定義RAM使用者對OSS資料的存取權限,具體步驟為:
使用阿里雲帳號登入RAM控制台。
在左側導覽列,單擊許可權管理 > 權限原則。
在權限原則頁面,單擊建立權限原則。
在建立權限原則頁面,單擊指令碼編輯頁簽。
輸入權限原則內容,單擊繼續編輯基本資料。
OSS提供了完整的資料許可權管控體系,完整的OSS授權策略,詳情請參見RAM Policy。
重要請根據RAM使用者需要使用的許可權,謹慎定義權限原則。對於使用Hive、Spark服務的使用者,無論是否開啟多版本都需要配置
oss:ListObjectVersions
、oss:DeleteObjectVersion
,EMR對於一些常見的臨時目錄,例如"_temporary"、".staging"、".hive-staging"和"__magic"會觸發多版本操作。自訂權限原則內容樣本如下所示。
{ "Version": "1", "Statement": [ { "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": "*", "Effect": "Allow" } ] }
說明自訂權限原則內容樣本中的
<yourBucketName>
需要替換為被授權的Bucket名稱。輸入權限原則的名稱和備忘,單擊確定。
其他自訂情境
唯讀訪問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: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": "*", "Effect": "Allow" } ] }
說明Bucket Policy授權建議使用“完全控制”,避免出現AccessDenied問題。
授權訪問OSS-HDFS
使用阿里雲帳號登入RAM控制台。
在左側導覽列,單擊許可權管理 > 權限原則。
在權限原則頁面,單擊建立權限原則。
在建立權限原則頁面,單擊指令碼編輯頁簽。
輸入權限原則內容,單擊繼續編輯基本資料。策略內容樣本如下。
{ "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" }
輸入權限原則的名稱和備忘,單擊確定。