Secara default, daftar kontrol akses (ACL) dari sebuah objek dalam bucket Object Storage Service (OSS) bersifat pribadi. Hanya pemilik objek yang memiliki izin untuk mengakses objek tersebut. Namun, pemilik objek dapat menjalankan perintah sign untuk menghasilkan dan membagikan URL yang ditandatangani dari objek kepada pengguna pihak ketiga. Kredensial akses digunakan untuk menghasilkan URL yang ditandatangani dan memberi otorisasi kepada pengguna pihak ketiga untuk mengunduh atau melihat pratinjau objek dalam periode waktu tertentu.
Pengguna pihak ketiga dapat menggunakan URL yang ditandatangani untuk mengakses objek, terlepas dari apakah ACL objek bersifat publik-baca atau pribadi dan apakah kebijakan bucket atau RAM policy dikonfigurasi untuk memberi otorisasi kepada pengguna pihak ketiga untuk mengakses objek.
Untuk ossutil V1.6.16 dan versi lebih baru, Anda dapat langsung menggunakan ossutil sebagai nama biner di baris perintah tanpa harus memperbarui nama biner berdasarkan sistem. Untuk ossutil sebelum V1.6.16, Anda harus menentukan nama biner yang sesuai dengan sistem. Untuk informasi lebih lanjut, lihat referensi perintah ossutil.
Sintaks perintah
ossutil sign cloud_url
[--timeout <nilai>]
[--version-id <nilai>]
[--trafic-limit <nilai>]
[--disable-encode-slash]
[--payer <nilai>]
[--query-param <nilai>]Tabel berikut menjelaskan parameter dan opsi dalam sintaks.
Parameter/Opsi | Deskripsi |
cloud_url | Path lengkap ke objek, termasuk nama bucket. |
--timeout | Periode validitas URL yang ditandatangani. Unit: detik. Nilai default: 60. Penting Jumlah dari timestamp saat ini dan periode validitas URL yang ditandatangani tidak boleh melebihi 9223372036854775807. Jika jumlahnya melebihi nilai tersebut, kesalahan akan dilaporkan. Sebagai contoh, jika timestamp saat ini adalah 1643341269, periode validitas URL yang ditandatangani tidak boleh melebihi 9223372035211434538. |
--version-id | ID versi objek yang ingin Anda hasilkan URL yang ditandatangani. Parameter ini hanya berlaku untuk objek dalam bucket yang memiliki versioning diaktifkan atau ditangguhkan. |
--trafic-limit | Kecepatan maksimum untuk mengakses objek melalui HTTP menggunakan URL yang ditandatangani. Unit: bit/detik. Nilai default parameter ini adalah 0, yang menentukan bahwa kecepatan akses tidak dibatasi. Nilai valid: 819200 hingga 838860800 (100 KB/detik hingga 100 MB/detik). |
--disable-encode-slash | Menentukan bahwa garis miring (/) yang terkandung dalam nilai cloud_url tidak dienkripsi. |
--payer | Pembayar biaya yang dihasilkan oleh operasi. Jika Anda ingin peminta yang mengakses sumber daya di jalur yang ditentukan membayar biaya yang dihasilkan oleh permintaan, atur opsi ini ke requester. |
--query-param | Parameter kueri dalam permintaan. Anda dapat menentukan beberapa parameter kueri dalam satu permintaan. Sebagai contoh, Anda dapat menentukan parameter pemrosesan gambar (IMG) sebagai parameter kueri. --query-param mendukung parameter berikut: x-oss-process, x-oss-traffic-limit, response-content-language, response-expires, response-cache-control, response-content-disposition, response-content-encoding, x-oss-ac-source-ip, x-oss-ac-subnet-mask, x-oss-ac-vpc-id, dan x-oss-ac-forward-allow. Untuk informasi lebih lanjut tentang parameter, lihat Buat URL yang ditandatangani menggunakan signature V1 dan GetObject. Catatan Parameter --query-param hanya tersedia di ossutil V.1.7.15 atau lebih baru. |
Contoh
Anda dapat menjalankan perintah berikut untuk menghasilkan URL yang ditandatangani untuk objek bernama exampleobject.png dalam bucket bernama examplebucket. Dalam contoh ini, periode validitas URL adalah nilai default, yaitu 60 detik.
ossutil sign oss://examplebucket/exampleobject.pngAnda dapat menjalankan perintah berikut untuk menghasilkan URL yang ditandatangani untuk objek bernama exampleobject.png dalam bucket bernama examplebucket. Dalam contoh ini, periode validitas URL diatur menjadi 3.600 detik.
ossutil sign oss://examplebucket/exampleobject.png --timeout 3600Anda dapat menjalankan perintah berikut untuk menghasilkan URL yang ditandatangani untuk objek bernama exampleobject.png dalam bucket bernama examplebucket. Dalam contoh ini, periode validitas URL diatur menjadi 7.200 detik, dan kecepatan maksimum untuk mengakses objek melalui HTTP menggunakan URL yang ditandatangani diatur menjadi 100 MB/detik.
ossutil sign oss://examplebucket/exampleobject.png --timeout 7200 --trafic-limit 838860800Anda dapat menjalankan perintah berikut untuk menghasilkan URL yang ditandatangani untuk versi tertentu dari objek bernama exampleobject.jpg dalam bucket bernama examplebucket. Dalam contoh ini, periode validitas URL diatur menjadi 1.800 detik.
ossutil sign oss://examplebucket/exampleobject.jpg --timeout 1800 --version-id CAEQARiBgID8rumR2hYiIGUyOTAyZGY2MzU5MjQ5ZjlhYzQzZjNlYTAyZDE3****Anda dapat menjalankan perintah berikut untuk mengubah ukuran objek gambar bernama exampleobject.jpg dalam bucket examplebucket menjadi lebar 100 piksel dan tinggi 100 piksel, memutar gambar sebesar 90 derajat, dan menghasilkan URL yang ditandatangani untuk gambar yang diproses:
ossutil sign oss://examplebucket/exampleobject.jpg --query-param x-oss-process:image/resize,m_fixed,w_100,h_100/rotate,90Anda dapat menjalankan perintah berikut untuk mengubah ukuran objek gambar bernama exampleobject.jpg dalam bucket examplebucket menjadi lebar 100 piksel dan tinggi 100 piksel, memutar gambar sebesar 90 derajat, menetapkan batas lalu lintas menjadi 100 KB/detik (819.200 bit/detik), dan menghasilkan URL yang ditandatangani untuk gambar yang diproses:
ossutil sign oss://examplebucket/exampleobject.jpg --query-param x-oss-process:image/resize,m_fixed,w_100,h_100/rotate,90 --query-param x-oss-traffic-limit:819200Setelah perintah di atas berhasil, keluaran serupa dengan konten berikut. Keluaran mencakup waktu yang digunakan untuk menghasilkan URL yang ditandatangani, periode validitas URL, dan informasi tanda tangan dalam URL:
https://examplebucket.ss-cn-hangzhou.aliyuncs.com/exampleobject.png?Expires=1608282224&OSSAccessKeyId=LTAI****************&Signature=jo4%2FGykfuc1A4fvyvKRpRyymYH**** 0.368676(d) berlalu
Opsi umum
Jika Anda menggunakan ossutil untuk beralih ke bucket yang berada di wilayah lain, tambahkan opsi -e untuk menentukan Titik akhir wilayah tempat bucket berada. Jika Anda menggunakan ossutil untuk beralih ke bucket yang dimiliki oleh akun Alibaba Cloud lain, tambahkan opsi -i untuk menentukan ID AccessKey dari akun yang ditentukan, dan tambahkan opsi -k untuk menentukan Rahasia AccessKey dari akun yang ditentukan.
Sebagai contoh, Anda dapat menjalankan perintah berikut untuk menghasilkan URL yang ditandatangani untuk objek bernama exampletest.jpg dalam bucket bernama testbucket, yang berada di wilayah China (Shanghai) dan dimiliki oleh akun Alibaba Cloud lain. Dalam contoh ini, periode validitas URL diatur menjadi 3.600 detik.
ossutil sign oss://testbucket/exampletest.jpg --timeout 3600 -e oss-cn-shanghai.aliyuncs.com -i LTAI**************** -k yourAccessKeySecretUntuk informasi lebih lanjut tentang opsi umum, lihat Opsi umum.