當您使用Intelligent Media Management(IMM)提供的功能時,需要授予RAM使用者相應許可權。本文介紹在Object Storage Service上使用Intelligent Media Management需要的許可權。
許可權介紹
通過Object Storage Service的x-oss-process或x-oss-async-processAPI使用Intelligent Media Management(IMM)功能需要授予四種類型的許可權,具體如下:
授予使用者使用OSS進行資料處理的許可權。
授予使用者使用IMM對應資料處理功能的許可權。
授予IMM服務訪問OSS等其他服務的許可權。
通過批處理和觸發器進行資料處理時,授予IMM服務的許可權。
OSS使用者權限
您通過x-oss-process或x-oss-async-process使用Intelligent Media Management (IMM) 資料處理功能需要被授予OSS許可權。關於如何授權,請參見為RAM使用者授權。
系統許可權AliyunOSSFullAccess包含所有OSS許可權。若希望自訂許可權請確保包含以下OSS許可權:
Action | 是否必須 | 策略描述 |
oss:GetObject | 是 | 讀取檔案(Object)的許可權。 |
oss:ProcessImm | 是 | 通過OSS使用IMM進行資料處理的許可權。 |
oss:PostProcessTask | 否 | 通過POST請求使用資料處理功能的許可權,例如非同步處理( |
oss:PutObject | 否 | 上傳檔案(Object)的許可權。使用另存新檔( |
IMM使用者權限
使用者通過x-oss-process或x-oss-async-process使用Intelligent Media Management (IMM) 資料處理功能還需要被授予IMM許可權。關於如何配置許可權,請參見為RAM使用者配置許可權。
系統許可權AliyunIMMFullAccess包含所有IMM許可權。若僅使用部分資料處理功能,也可參考下表僅授予對應功能的IMM許可權:
資料處理操作 | 說明 | Action |
image/cropping | 圖片自動裁剪 | imm:DetectImageCropping |
image/faces | 圖片臉部偵測 | imm:DetectImageFaces |
video/convert | 建立視頻轉碼任務 | imm:CreateMediaConvertTask |
video/animation | 建立視頻轉動圖任務 | imm:CreateMediaConvertTask |
video/sprite | 建立視頻截雪碧圖任務 | imm:CreateMediaConvertTask |
video/snapshots | 建立視頻截幀任務 | imm:CreateMediaConvertTask |
video/concat | 建立視頻拼接任務 | imm:CreateMediaConvertTask |
video/info | 視頻資訊提取 | imm:DetectMediaMeta |
audio/convert | 建立音頻轉碼任務 | imm:CreateMediaConvertTask |
audio/concat | 建立音頻拼接任務 | imm:CreateMediaConvertTask |
audio/info | 音頻資訊提取 | imm:DetectMediaMeta |
doc/convert | 文檔轉換 | imm:CreateOfficeConversionTask |
doc/edit | 文檔編輯 | imm:GenerateWebofficeToken |
doc/preview | 文檔預覽 | imm:GenerateWebofficeToken |
doc/snapshot | 文檔縮圖 | imm:CreateOfficeConversionTask |
pointcloud/compress | 點雲壓縮 | imm:CreateCompressPointCloudTask |
hls/m3u8 | 擷取視頻播放清單 | imm:GenerateVideoPlaylist |
hls/ts | 即時轉碼 | imm:LiveTranscoding |
由於每個Bucket必須要綁定一個IMM Project,建立Project時會指定一個ServiceRole(預設為AliyunIMMDefaultRole)。如果您使用RAM使用者或RAM角色訪問,則必須有該ServiceRole的PassRole許可權。
{
"Effect": "Allow",
"Action": "ram:PassRole",
"Resource": "acs:ram:*:*:role/aliyunimmdefaultrole"
}IMM服務許可權
Intelligent Media Management(IMM)進行資料處理時需要訪問其他服務,例如:從OSS讀取源檔案、向OSS寫入結果檔案、資料處理任務結束時向MNS發送通知等時,您需要授予Intelligent Media Management(IMM)服務角色的許可權。
一般情況下,預設服務角色在開通Intelligent Media Management時已經授予。若需要對服務角色許可權進行縮小或調整,Intelligent Media Management (IMM) 允許在建立IMM專案時設定服務角色。更多資訊,請參見為專案佈建服務角色。
批處理和觸發器許可權
使用批處理和觸發器,您需要授權給IMM服務訪問其他雲資源(例如OSS)的許可權。沒有服務角色時,您可以在雲資源訪問授權頁面建立預設角色。
常見授權樣本
完全授權
RAM Policy將允許使用者通過OSS訪問資料處理所有功能,範例程式碼如下。
{
"Statement":[
{
"Effect":"Allow",
"Action":"oss:*",
"Resource":"*"
},
{
"Effect":"Allow",
"Action":"imm:*",
"Resource":"*"
},
{
"Effect": "Allow",
"Action": "ram:PassRole",
"Resource": "acs:ram:*:*:role/aliyunimmdefaultrole"
}
],
"Version":"1"
}授權特定的操作
RAM Policy將允許使用者通過OSS訪問特定Bucket的文檔處理功能,範例程式碼如下。
{
"Statement": [
{
"Effect": "Allow",
"Action": [
"oss:GetObject",
"oss:PutObject",
"oss:PostProcessTask",
"oss:ProcessImm"
],
"Resource": [
"acs:oss:*:*:bucketname1/*",
"acs:oss:*:*:bucketname2/*"
]
},
{
"Action": [
"imm:CreateOfficeConversionTask",
"imm:GetWebofficeURL"
],
"Resource": "*",
"Effect": "Allow"
},
{
"Effect": "Allow",
"Action": "ram:PassRole",
"Resource": "acs:ram:*:*:role/aliyunimmdefaultrole"
}
],
"Version": "1"
}批處理和觸發器服務角色許可權
授權給IMM服務以訪問OSS的許可權,範例程式碼如下。
{
"Statement":[
{
"Action":[
"oss:Get*",
"oss:List*",
"oss:Process*",
"oss:PostProcess*",
"oss:Put*",
"oss:PutBucketInventory",
"oss:GetBucketInventory",
"oss:ListBucketInventory",
"oss:DeleteBucketInventory",
"oss:PutBucketNotification",
"oss:DeleteBucketNotification",
"oss:StartEventRecord",
"oss:StopEventRecord",
"oss:GetEventRecordStatus"
],
"Resource":"*",
"Effect":"Allow"
}
],
"Version":"1"
}