RAM Policy是基於使用者的授權策略。您可以使用RAM Policy控制使用者可以訪問您名下哪些資源的許可權。
背景資訊
RAM Policy文法和結構
RAM Policy包含版本號碼(Version)和授權語句(Statement)。每條授權語句又包含授權效力(Effect)、操作(Action)、資源(Resource)以及限制條件(Condition,可選項)。有關權限原則的文法和結構的詳情,請參見權限原則文法和結構。
其中OSS中Version、Statement以及Effect的應用規則與RAM相同。OSS的Action、Resource以及Condition說明請參見:
OSS常用的權限原則
AliyunOSSFullAccess:為RAM使用者授予OSS的完全系統管理權限。
AliyunOSSReadOnlyAccess:為RAM使用者授予OSS的唯讀存取權限。
OSS存取控制方式
有關OSS包含的存取控制方式的更多資訊,請參見許可權控制。
OSS Action分類
Action分為Service層級操作、Bucket層級操作以及Object層級的操作。
Service層級
API
Action
介面描述
oss:ListBuckets
列舉要求者擁有的所有Bucket。
oss:ListUserDataRedundancyTransition
列舉要求者所有的儲存冗餘轉換任務。
無
oss:ActivateProduct
開通OSS以及Alibaba Content Security Service檢測服務。
無
oss:CreateOrder
建立OSS資源套件的訂單。
oss:PutPublicAccessBlock
為OSS全域開啟阻止公用訪問。
oss:GetPublicAccessBlock
擷取OSS全域阻止公用訪問的配置資訊。
oss:DeletePublicAccessBlock
刪除OSS全域阻止公用訪問配置資訊。
Bucket層級
API
Action
介面描述
oss:PutBucket
建立Bucket。
oss:ListObjects
列舉Bucket中所有Object的資訊。
oss:GetBucketInfo
查看Bucket相關資訊。
oss:GetBucketLocation
查看Bucket位置資訊。
oss:PutBucketVersioning
設定指定Bucket的版本控制狀態。
oss:GetBucketVersioning
擷取指定Bucket的版本控制狀態。
oss:ListObjectVersions
列出Bucket中包括刪除標記(Delete Marker)在內的所有Object的版本資訊。
oss:PutBucketAcl
設定或修改Bucket ACL。
oss:GetBucketAcl
擷取Bucket ACL。
oss:DeleteBucket
刪除某個Bucket。
oss:InitiateBucketWorm
建立合規保留原則。
oss:AbortBucketWorm
刪除未鎖定的合規保留原則。
oss:CompleteBucketWorm
鎖定合規保留原則。
oss:ExtendBucketWorm
延長鎖定的合規保留原則對應Bucket中Object的保留天數。
oss:GetBucketWorm
擷取合規保留原則資訊。
oss:PutBucketLogging
開啟Bucket日誌轉存功能。
oss:GetBucketLogging
查看Bucket日誌轉存配置。
oss:DeleteBucketLogging
關閉Bucket日誌轉存功能。
oss:PutBucketWebsite
設定Bucket為靜態網站託管模式並設定其跳轉規則(RoutingRule)。
oss:GetBucketWebsite
查看Bucket的靜態網站託管狀態以及跳轉規則。
oss:DeleteBucketWebsite
關閉Bucket的靜態網站託管模式以及跳轉規則。
oss:PutBucketReferer
設定Bucket的防盜鏈。
oss:GetBucketReferer
查看Bucket的防盜鏈(Referer)相關配置。
oss:PutBucketLifecycle
設定Bucket的生命週期規則。
oss:GetBucketLifecycle
查看Bucket的生命週期規則。
oss:DeleteBucketLifecycle
刪除Bucket的生命週期規則。
oss:PutBucketTransferAcceleration
設定Bucket傳輸加速。
oss:GetBucketTransferAcceleration
查看Bucket的傳輸加速配置。
oss:ListMultipartUploads
列舉所有執行中的Multipart Upload事件,即已經初始化但還未完成(Complete)或者還未中止(Abort)的Multipart Upload事件。
oss:PutBucketCors
設定指定Bucket的跨域資源共用CORS(Cross-Origin Resource Sharing)規則。
oss:GetBucketCors
擷取指定Bucket當前的跨域資源共用CORS規則。
oss:DeleteBucketCors
關閉指定Bucket對應的跨域資源共用CORS功能並清空所有規則。
oss:PutBucketPolicy
設定指定Bucket的授權策略。
oss:GetBucketPolicy
擷取指定Bucket的授權策略。
oss:DeleteBucketPolicy
刪除指定Bucket的授權策略。
oss:PutBucketTagging
添加或修改指定Bucket的標籤。
oss:GetBucketTagging
擷取Bucket的標籤。
oss:DeleteBucketTagging
刪除Bucket的標籤。
oss:PutBucketEncryption
配置Bucket的加密規則。
oss:GetBucketEncryption
擷取Bucket的加密規則。
oss:DeleteBucketEncryption
刪除Bucket的加密規則。
oss:PutBucketRequestPayment
佈建要求者付費模式。
oss:GetBucketRequestPayment
擷取要求者付費模式配置資訊。
oss:PutBucketReplication
設定Bucket的資料複製規則。
oss:PutBucketRTC
為已有的跨地區複製規則開啟或關閉資料複製時間控制(RTC)功能。
oss:GetBucketReplication
擷取Bucket已設定的資料複製規則。
oss:DeleteBucketReplication
停止Bucket的資料複製並刪除Bucket的複製配置。
oss:GetBucketReplicationLocation
擷取可複製到的目標Bucket的所在地區。
oss:GetBucketReplicationProgress
擷取Bucket的資料複製進度。
oss:PutBucketInventory
配置Bucket的清單(Inventory)規則。
oss:GetBucketInventory
查看Bucket中指定的清單任務。
oss:GetBucketInventory
批量擷取Bucket中所有清單任務。
oss:DeleteBucketInventory
刪除Bucket中指定的清單任務。
oss:PutBucketAccessMonitor
配置Bucket的訪問跟蹤狀態。
oss:GetBucketAccessMonitor
擷取Bucket的訪問跟蹤狀態。
oss:OpenMetaQuery
開啟Bucket的中繼資料管理功能。
oss:GetMetaQueryStatus
擷取Bucket的中繼資料索引庫資訊。
oss:DoMetaQuery
查詢滿足指定條件的Object,並按照指定欄位和排序方式列出Object資訊。
oss:CloseMetaQuery
關閉Bucket的中繼資料管理功能.
oss:InitUserAntiDDosInfo
建立高防OSS執行個體。
oss:UpdateUserAntiDDosInfo
更改高防OSS執行個體狀態。
oss:GetUserAntiDDosInfo
查詢指定帳號下的高防OSS執行個體資訊。
oss:InitBucketAntiDDosInfo
初始化Bucket防護。
oss:UpdateBucketAntiDDosInfo
更新Bucket防護狀態。
oss:ListBucketAntiDDosInfo
擷取Bucket防護資訊列表。
oss:PutBucketResourceGroup
設定Bucket所屬資源群組。
oss:GetBucketResourceGroup
查詢Bucket所屬資源群組ID。
oss:CreateCnameToken
建立網域名稱所有權驗證所需的CnameToken。
oss:GetCnameToken
擷取已建立的CnameToken。
oss:PutCname
為Bucket綁定自訂網域名。
oss:ListCname
擷取Bucket下綁定的所有的自訂網域名(Cname)列表。
oss:DeleteCname
刪除Bucket已綁定的Cname。
oss:PutStyle
設定圖片樣式。
oss:GetStyle
擷取圖片樣式。
oss:ListStyle
列舉圖片樣式。
oss:DeleteStyle
刪除圖片樣式。
oss:PutBucketArchiveDirectRead
為Bucket開啟或關閉歸檔直讀。
oss:GetBucketArchiveDirectRead
查看Bucket是否開啟歸檔直讀。
oss:CreateAccessPoint
建立存取點。
oss:GetAccessPoint
擷取單個存取點資訊。
oss:DeleteAccessPoint
刪除存取點。
oss:ListAccessPoints
擷取使用者層級及Bucket層級的存取點資訊。
oss:PutAccessPointPolicy
配置存取點策略。
oss:GetAccessPointPolicy
擷取存取點策略資訊。
oss:DeleteAccessPointPolicy
刪除存取點策略。
oss:PutBucketHttpsConfig
為Bucket開啟或關閉TLS版本設定。
oss:GetBucketHttpsConfig
查看Bucket的TLS版本設定。
無
oss:ReplicateList
複製過程涉及的列舉許可權。即允許OSS先列舉源Bucket的歷史資料,再逐一對歷史資料進行複製。
oss:CreateAccessPointForObjectProcess
建立對象FC存取點。
oss:GetAccessPointForObjectProcess
擷取對象FC存取點基礎資訊。
oss:DeleteAccessPointForObjectProcess
刪除對象FC存取點。
oss:ListAccessPointsForObjectProcess
擷取使用者層級的對象FC存取點資訊。
oss:PutAccessPointConfigForObjectProcess
修改對象FC存取點配置。
oss:GetAccessPointConfigForObjectProcess
擷取對象FC存取點配置資訊。
oss:PutAccessPointPolicyForObjectProcess
為對象FC存取點配置權限原則。
oss:GetAccessPointPolicyForObjectProcess
擷取對象FC存取點的權限原則配置。
oss:DeleteAccessPointPolicyForObjectProcess
刪除對象FC存取點的權限原則。
oss:WriteGetObjectResponse
自訂返回資料和響應標題。
oss:CreateBucketDataRedundancyTransition
建立儲存冗餘轉換任務。
oss:GetBucketDataRedundancyTransition
擷取儲存冗餘轉換任務。
oss:DeleteBucketDataRedundancyTransition
刪除儲存冗餘轉換任務。
oss:ListBucketDataRedundancyTransition
列舉某個Bucket下所有的儲存冗餘轉換任務。
oss:PutBucketPublicAccessBlock
為某個Bucket開啟阻止公用訪問。
oss:GetBucketPublicAccessBlock
擷取某個Bucket的阻止公用訪問配置資訊。
oss:DeleteBucketPublicAccessBlock
刪除某個Bucket的阻止公用訪問配置資訊。
oss:PutAccessPointPublicAccessBlock
為某個存取點開啟阻止公用訪問。
oss:GetAccessPointPublicAccessBlock
擷取某個存取點的阻止公用訪問配置資訊。
oss:DeleteAccessPointPublicAccessBlock
刪除某個存取點的阻止公用訪問配置資訊。
oss:GetBucketPolicyStatus
查看當前Bucket Policy是否允許公用訪問。
Object層級
說明如果在上傳檔案的過程中,包含Object的標籤(Tagging)資訊。則必須同時具有
oss:PutObject
許可權和oss:PutObjectTagging
許可權。API
Action
介面描述
oss:PutObject
上傳檔案(Object)。
oss:PutObject
通過HTML表單上傳的方式將Object上傳到指定Bucket。
oss:PutObject
以追加寫的方式上傳Object。
oss:PutObject
在使用Multipart Upload模式傳輸資料前,通知OSS初始化一個分區上傳(Multipart Upload)事件。
oss:PutObject
根據指定的Object名和uploadId來分塊(Part)上傳資料
oss:PutObject
在將所有資料Part都上傳完成後,需調用此介面來完成整個Object的分區上傳。
oss:AbortMultipartUpload
取消MultipartUpload事件並刪除對應的Part資料。
oss:PutObject
為OSS的目標檔案(TargetObject)建立軟連結(Symlink)。
oss:GetObject
擷取某個Object。
oss:GetObject
擷取某個Object的中繼資料。
oss:GetObject
擷取Object的中繼資料資訊,包括該Object的ETag、Size、LastModified資訊。
oss:GetObject
對目標檔案執行SQL語句,返回執行結果。
oss:GetObject
擷取目標檔案的軟連結。
oss:DeleteObject
刪除某個Object。
oss:DeleteObject
刪除同一個Bucket中的多個Object。
oss:GetObject
oss:PutObject
拷貝同一地區下相同或不同Bucket之間的Object。
oss:GetObject
oss:PutObject
在UploadPart請求的基礎上增加一個要求標頭x-oss-copy-source來調用UploadPartCopy介面,實現從一個已存在的Object中拷貝資料來上傳一個Part。
oss:ListParts
列舉指定Upload ID所屬的所有已經上傳成功的Part。
oss:PutObjectAcl
修改Bucket下某個Object的ACL。
oss:GetObjectAcl
擷取Bucket下某個Object的ACL。
oss:RestoreObject
解凍Archive Storage、冷Archive Storage或者深度冷Archive Storage類型的Object。
oss:PutObjectTagging
設定或更新Object的標籤(Tagging)資訊。
oss:GetObjectTagging
擷取Object的標籤資訊。
oss:DeleteObjectTagging
刪除指定Object的標籤資訊。
GetObject(請求參數中指定versionId)
oss:GetObjectVersion
下載指定版本Object。
PutObjectACL(請求參數中指定versionId)
oss:PutObjectVersionAcl
修改Bucket下指定版本Object的ACL。
GetObjectACL(請求參數中指定versionId)
oss:GetObjectVersionAcl
擷取Bucket下指定版本Object的ACL。
RestoreObject(請求參數中指定versionId)
oss:RestoreObjectVersion
解凍指定版本的Archive Storage、冷Archive Storage或者深度冷Archive Storage類型的Object。
DeleteObject(請求參數中指定versionId)
oss:DeleteObjectVersion
刪除指定版本Object。
PutObjectTagging(請求參數中指定versionId)
oss:PutObjectVersionTagging
設定或更新指定版本Object的標籤(Tagging)資訊。
GetObjectTagging(請求參數中指定versionId)
oss:GetObjectVersionTagging
擷取指定版本Object的標籤資訊。
DeleteObjectTagging(請求參數中指定versionId)
oss:DeleteObjectVersionTagging
刪除指定版本Object的標籤資訊。
oss:PutLiveChannel
通過RTMP協議上傳音視頻資料前,必須先調用該介面建立一個LiveChannel。
oss:ListLiveChannel
列舉指定的LiveChannel。
oss:DeleteLiveChannel
刪除指定的LiveChannel。
oss:PutLiveChannelStatus
在啟用(enabled)和禁用(disabled)兩種狀態之間進行切換。
oss:GetLiveChannel
擷取指定LiveChannel的配置資訊。
oss:GetLiveChannelStat
擷取指定LiveChannel的推流狀態資訊。
oss:GetLiveChannelHistory
擷取指定LiveChannel的推流記錄。
oss:PostVodPlaylist
為指定的LiveChannel產生一個點播用的播放清單。
oss:GetVodPlaylist
查看指定LiveChannel在指定時間段內推流產生的播放清單。
無
oss:PublishRtmpStream
將音頻和視頻資料流推送到RTMP。
oss:PostProcessTask
儲存處理後的圖片至指定Bucket。
無
oss:ReplicateGet
複製過程涉及的讀許可權。即允許OSS讀取源Bucket和目標Bucket中的資料與中繼資料,包括Object、Part、Multipart Upload等。
無
oss:ReplicatePut
複製過程涉及的寫入權限。即允許OSS對目標Bucket複製相關的寫入類操作,包括寫入Object、Multipart Upload、Part和Symlink,修改中繼資料資訊等。
無
oss:ReplicateDelete
複製過程涉及的刪除許可權。即允許OSS對目標Bucket複製相關的刪除操作,包括DeleteObject、AbortMultipartUpload、DeleteMarker等。
重要僅當資料複製方式選擇增/刪/改 同步時,需要授予RAM角色該Action。
OSS Resource說明
在OSS中,Resource指代某個具體資源或者某些資源,支援萬用字元星號(*)。單個RAM Policy允許包含多個Resource。
分類 | 格式 | 樣本 |
Bucket層級Resource |
|
|
Object層級Resource |
|
|
region欄位當前僅支援設定為萬用字元星號(*)。
OSS Condition說明
OSS Condition用於指定授權生效的限制條件,由一個或多個條件子句構成。一個條件子句由條件操作類型、條件關鍵字和條件值組成。關於Condition的更多資訊,請參見條件(Condition)。
OSS Condition中的條件操作類型和條件關鍵字如下:
條件操作類型
條件操作類型
支援類型
字串類型(String)
StringEquals
StringNotEquals
StringEqualsIgnoreCase
StringNotEqualsIgnoreCase
StringLike
StringNotLike
數字類型(Number)
NumericEquals
NumericNotEquals
NumericLessThan
NumericLessThanEquals
NumericGreaterThan
NumericGreaterThanEquals
日期類型(Date and time)
DateEquals
DateNotEquals
DateLessThan
DateLessThanEquals
DateGreaterThan
DateGreaterThanEquals
布爾類型(Boolean)
Bool
IP地址類型(IP address)
IpAddress
NotIpAddress
IpAddressIncludeBorder
條件關鍵字
條件關鍵字
說明
acs:SourceIp
指定普通IP網段,支援萬用字元星號(*)。
acs:SourceVpc
指定VPC,支援配置為指定的VPC ID以及vpc-*。
重要通過
acs:SourceVpc
限制VPC來源時,確保選擇的VPC地區與OSS支援的網關終端節點地區相匹配,否則會導致鑒權請求無法關聯至對應的VPC,進而引發鑒權失敗。關於OSS支援的網關終端節點地區,請參見OSS支援的網關終端節點地區。acs:UserAgent
指定HTTP User-Agent頭。
類型:字串
acs:CurrentTime
請求到達OSS服務端的時間。
格式:ISO8601
acs:SecureTransport
請求的協議類型。取值範圍如下:
true:僅允許HTTPS請求訪問。
false:僅允許HTTP請求訪問。
如果未設定
acs:SecureTransport
,表示HTTP或者HTTPS請求均可以訪問。oss:x-oss-acl
限制Bucket ACL的類型。取值如下:
private:私人
public-read:公用讀取
public-read-write:公用讀寫
更多資訊,請參見設定Bucket ACL。
oss:x-oss-object-acl
限制Object ACL的類型。取值如下:
private:私人
public-read:公用讀取
public-read-write:公用讀寫
default:繼承Bucket ACL
更多資訊,請參見設定Object ACL。
oss:Prefix
用於ListObjects請求時,列舉指定首碼的Object。
oss:Delimiter
用於ListObjects請求時,對Object名字進行分組的字元。
acs:AccessId
請求中攜帶的AccessId。
oss:BucketTag
儲存空間標籤(BucketTag)。
單個BucketTag可以作為一個Condition。當設定多個BucketTag時,需在每個BucketTag前加上
oss:BucketTag/
,組成多個Condition。acs:MFAPresent
是否啟用了多因素認證MFA(Multi-factor authentication)。
取值:
true:已啟用多因素認證。
false:未啟用多因素認證。
oss:ExistingObjectTag
請求的Object已存在標籤。
單個ObjectTag可以作為一個Condition。當設定多個ObjectTag時,需在每個ObjectTag前加上
oss:ExistingObjectTag/
,組成多個Condition。主要針對GetObject、HeadObject等讀取檔案介面以及PutObjectTagging、GetObjectTagging等ObjectTagging介面。
oss:RequestObjectTag
請求中攜帶的對象標籤。
單個ObjectTag可以作為一個Condition。當設定多個ObjectTag時,需在每個ObjectTag前加上
oss:RequestObjectTag/
,組成多個Condition。主要針對PutObject、PostObject等寫入檔案介面以及PutObjectTagging、GetObjectTagging等ObjectTagging介面。
常見樣本
您可以使用RAM Policy實現不同情境下的使用者權限策略。更多資訊,請參見RAM Policy常見樣本。