OSS/OSS-HDFS授權(quán)
本文為您介紹如何授權(quán)訪問OSS和OSS-HDFS。
授權(quán)訪問OSS
您可以通過自定義策略靈活定義RAM用戶對OSS數(shù)據(jù)的訪問權(quán)限,具體步驟為:
使用阿里云賬號登錄RAM控制臺。
在左側(cè)導(dǎo)航欄,單擊權(quán)限管理 > 權(quán)限策略。
在權(quán)限策略頁面,單擊創(chuàng)建權(quán)限策略。
在創(chuàng)建權(quán)限策略頁面,單擊腳本編輯頁簽。
輸入權(quán)限策略內(nèi)容,單擊確定。
OSS提供了完整的數(shù)據(jù)權(quán)限管控體系,完整的OSS授權(quán)策略,詳情請參見RAM Policy。
重要請根據(jù)RAM用戶需要使用的權(quán)限,謹(jǐn)慎定義權(quán)限策略。對于使用Hive、Spark服務(wù)的用戶,無論是否開啟多版本都需要配置
oss:ListObjectVersions
、oss:DeleteObjectVersion
,EMR對于一些常見的臨時目錄,例如"_temporary"、".staging"、".hive-staging"和"__magic"會觸發(fā)多版本操作。自定義權(quán)限策略內(nèi)容示例如下所示。
{ "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" } ] }
說明自定義權(quán)限策略內(nèi)容示例中的
<yourBucketName>
需要替換為被授權(quán)的Bucket名稱。輸入權(quán)限策略的名稱和備注,單擊確定。
其他自定義場景
只讀訪問OSS
重要請根據(jù)RAM用戶需要使用的權(quán)限,謹(jǐn)慎定義權(quán)限策略。對于使用Hive、Spark服務(wù)的用戶,無論是否開啟多版本都需要配置
oss:ListObjectVersions
,EMR對于一些常見的臨時目錄,例如"_temporary"、".staging"、".hive-staging"和"__magic"會觸發(fā)多版本操作。{ "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
重要不建議開啟多版本,容易產(chǎn)生性能問題。
{ "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授權(quán)建議使用“完全控制”,避免出現(xiàn)AccessDenied問題。
授權(quán)訪問OSS-HDFS
使用阿里云賬號登錄RAM控制臺。
在左側(cè)導(dǎo)航欄,單擊權(quán)限管理 > 權(quán)限策略。
在權(quán)限策略頁面,單擊創(chuàng)建權(quán)限策略。
在創(chuàng)建權(quán)限策略頁面,單擊腳本編輯頁簽。
輸入權(quán)限策略內(nèi)容,單擊確定。策略內(nèi)容示例如下。
{ "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" }
輸入權(quán)限策略的名稱和備注,單擊確定。