本文為您介紹如何授權訪問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" }
輸入權限策略的名稱和備注,單擊確定。