Untuk menggunakan fitur-fitur Intelligent Media Management (IMM) sebagai pengguna RAM, Anda harus memberikan izin yang diperlukan kepada pengguna RAM tersebut. Topik ini menjelaskan izin yang diperlukan untuk menggunakan fitur IMM dalam Object Storage Service (OSS).
Ikhtisar Izin
Saat mengakses kemampuan IMM menggunakan operasi x-oss-process atau x-oss-async-process dari OSS, Anda harus memberikan izin berikut:
Berikan izin kepada pengguna RAM untuk melakukan operasi di OSS.
Berikan izin kepada pengguna RAM untuk menggunakan fitur pemrosesan data IMM.
Berikan izin kepada layanan IMM untuk mengakses OSS dan layanan relevan lainnya.
Berikan izin kepada layanan IMM yang diperlukan dalam skenario pemrosesan data berdasarkan prosesor batch atau pemicu.
Berikan izin akses OSS kepada pengguna RAM
Untuk menggunakan kemampuan pemrosesan data IMM sebagai pengguna RAM berdasarkan operasi x-oss-process atau x-oss-async-process, Anda harus memberikan izin akses OSS kepada pengguna RAM. Untuk informasi lebih lanjut tentang cara memberikan izin kepada pengguna RAM, lihat Memberikan Izin kepada Pengguna RAM.
Izin | Diperlukan | Deskripsi |
oss:GetObject | Ya | Memberikan akses baca ke objek OSS. |
oss:ProcessImm | Ya | Mengizinkan penggunaan kemampuan pemrosesan data IMM di OSS. |
oss:PostProcessTask | Tidak | Memberikan akses ke kemampuan pemrosesan data menggunakan metode POST. Misalnya, izin ini diperlukan untuk menggunakan |
oss:PutObject | Tidak | Mengizinkan unggah data ke OSS. Izin ini diperlukan untuk menyimpan data ke OSS ( |
Berikan izin akses IMM kepada pengguna RAM
Untuk menggunakan kemampuan pemrosesan data IMM sebagai pengguna RAM berdasarkan operasi x-oss-process atau x-oss-async-process, Anda harus memberikan izin akses IMM kepada pengguna RAM. Untuk informasi lebih lanjut tentang konfigurasi izin, lihat Memberikan Izin kepada Pengguna RAM.
Kebijakan sistem AliyunIMMFullAccess memberikan akses penuh ke IMM. Jika hanya memerlukan kemampuan tertentu, Anda dapat menggunakan kebijakan kustom untuk memberikan izin terbatas. Tabel berikut menjelaskan izin yang sesuai dengan operasi IMM.
Operasi | Deskripsi | Izin |
image/cropping | Memotong gambar secara otomatis. | imm:DetectImageCropping |
image/faces | Mendeteksi wajah dalam gambar. | imm:DetectImageFaces |
video/convert | Mentranskode video. | imm:CreateMediaConvertTask |
video/animation | Membuat gambar animasi dari video. | imm:CreateMediaConvertTask |
video/sprite | Menghasilkan sprite dari video. | imm:CreateMediaConvertTask |
video/snapshots | Menangkap frame dari video. | imm:CreateMediaConvertTask |
video/concat | Menggabungkan video. | imm:CreateMediaConvertTask |
video/info | Ekstraksi informasi video. | imm:DetectMediaMeta |
audio/convert | Mentranskode file audio. | imm:CreateMediaConvertTask |
audio/concat | Menggabungkan file audio. | imm:CreateMediaConvertTask |
audio/info | Ekstraksi informasi audio. | imm:DetectMediaMeta |
doc/convert | Mengonversi dokumen ke format yang ditentukan. | imm:CreateOfficeConversionTask |
doc/edit | Mengedit dokumen. | imm:GenerateWebofficeToken |
doc/preview | Pratinjau dokumen. | imm:GenerateWebofficeToken |
doc/snapshot | Membuat thumbnail dokumen. | imm:CreateOfficeConversionTask |
pointcloud/compress | Mengompres file point cloud. | imm:CreateCompressPointCloudTask |
hls/m3u8 | Menghasilkan daftar putar video. | imm:GenerateVideoPlaylist |
hls/ts | Membuat tugas transkoding langsung. | imm:LiveTranscoding |
Untuk menggunakan kemampuan IMM dalam memproses data di Bucket OSS, Anda harus mengaitkan bucket dengan Proyek IMM. Saat membuat Proyek IMM, tentukan peran layanan. Secara default, peran AliyunIMMDefaultRole berlaku. Jika menggunakan pengguna RAM atau peran RAM untuk mengakses layanan, peran layanan yang ditentukan untuk proyek harus memiliki izin untuk melakukan operasi PassRole. Pernyataan sampel berikut memberikan izin untuk operasi PassRole:
{
"Effect": "Allow",
"Action": "ram:PassRole",
"Resource": "acs:ram:*:*:role/aliyunimmdefaultrole"
}Berikan izin akses ke layanan cloud lainnya untuk IMM
IMM memerlukan akses ke layanan relevan lainnya untuk pemrosesan data. Misalnya, untuk memproses data yang disimpan di OSS, menulis data keluaran ke OSS, dan mengirim notifikasi ke Simple Message Queue (SMQ), Anda harus mengotorisasi IMM untuk mengakses OSS dan SMQ.
Peran layanan default mengizinkan IMM untuk mengakses layanan relevan. Jika ingin mempersempit izin, Anda dapat membuat peran layanan yang hanya memiliki izin yang diperlukan dan menentukan peran layanan saat membuat proyek. Untuk informasi lebih lanjut, lihat Konfigurasikan Peran Layanan untuk Proyek.
Berikan izin yang diperlukan untuk skenario prosesor batch atau pemicu
Untuk menggunakan prosesor batch dan pemicu, Anda harus mengotorisasi IMM untuk mengakses layanan cloud lainnya, seperti OSS. Jika tidak ada peran layanan yang tersedia, Anda dapat membuat peran layanan default di halaman Otorisasi Akses Sumber Daya Cloud.
Contoh
Berikan izin akses penuh
Pernyataan RAM sampel berikut mengizinkan pengguna untuk mengakses semua kemampuan pemrosesan data IMM dari OSS:
{
"Statement":[
{
"Effect":"Allow",
"Action":"oss:*",
"Resource":"*"
},
{
"Effect":"Allow",
"Action":"imm:*",
"Resource":"*"
},
{
"Effect": "Allow",
"Action": "ram:PassRole",
"Resource": "acs:ram:*:*:role/aliyunimmdefaultrole"
}
],
"Version":"1"
}Berikan izin pada operasi tertentu
Pernyataan RAM sampel berikut mengizinkan pengguna untuk mengakses fitur pemrosesan dokumen di Bucket OSS tertentu:
{
"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"
}Berikan izin yang diperlukan dalam skenario prosesor batch atau pemicu
Pernyataan RAM sampel berikut mengizinkan IMM untuk melakukan tindakan OSS yang ditentukan:
{
"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"
}