Topik ini menjelaskan cara menggunakan kredensial akses temporary dari Alibaba Cloud Security Token Service (STS) atau URL yang ditandatangani (presigned URL) untuk mengakses sementara sumber daya Object Storage Service (OSS).
Anda harus menentukan periode validitas untuk kredensial akses temporary STS dan presigned URL. Jika Anda menggunakan kredensial akses temporary untuk menghasilkan presigned URL guna melakukan operasi seperti mengunggah atau mengunduh file, maka periode validitas yang lebih pendek akan berlaku. Misalnya, jika periode validitas kredensial akses temporary STS Anda adalah 1.200 detik dan periode validitas presigned URL adalah 3.600 detik, Anda tidak dapat menggunakan presigned URL tersebut untuk mengunggah file setelah 1.200 detik karena kredensial akses temporary STS telah kedaluwarsa.
Catatan penggunaan
Pada topik ini, digunakan titik akhir publik wilayah China (Hangzhou). Jika Anda ingin mengakses OSS dari layanan Alibaba Cloud lainnya dalam wilayah yang sama dengan OSS, gunakan titik akhir internal. Untuk informasi selengkapnya mengenai wilayah dan titik akhir OSS, lihat Regions and endpoints.
Pada topik ini, instans OSSClient dibuat menggunakan titik akhir OSS. Jika Anda ingin membuat instans OSSClient menggunakan nama domain kustom atau Security Token Service (STS), lihat Initialization (C SDK).
Gunakan STS untuk otorisasi akses temporary
OSS mendukung otorisasi akses temporary melalui Alibaba Cloud Security Token Service (STS). STS adalah layanan web yang menyediakan token akses temporary bagi pengguna komputasi awan. Dengan STS, Anda dapat menerbitkan kredensial akses dengan periode validitas dan izin yang dapat dikustomisasi kepada aplikasi pihak ketiga atau sub-user (pengguna yang identitasnya Anda kelola). Untuk informasi selengkapnya mengenai STS, lihat What is STS.
STS memberikan manfaat berikut:
Anda tidak perlu mengekspos pasangan AccessKey jangka panjang Anda ke aplikasi pihak ketiga. Sebagai gantinya, Anda dapat menghasilkan token akses dan memberikannya ke aplikasi tersebut. Anda dapat mengkustomisasi izin akses dan periode validitas token ini.
Anda tidak perlu mengelola pencabutan izin secara manual. Token akses akan otomatis menjadi tidak valid saat masa berlakunya habis.
Untuk mengakses OSS menggunakan kredensial akses temporary dari STS, lakukan langkah-langkah berikut:
Dapatkan kredensial akses temporary
Kredensial akses temporary mencakup pasangan AccessKey temporary (ID AccessKey dan Rahasia AccessKey) serta token keamanan (SecurityToken). Periode validitas kredensial akses temporary ditentukan dalam satuan detik. Nilai minimumnya adalah 900. Nilai maksimumnya adalah durasi sesi maksimum yang ditentukan untuk peran RAM saat ini. Untuk informasi selengkapnya, lihat Set the maximum session duration for a RAM role.
Anda dapat memperoleh kredensial akses temporary dengan salah satu cara berikut.
Metode 1
Panggil operasi AssumeRole untuk mendapatkan kredensial akses temporary.
Metode 2
Gunakan STS SDK untuk mendapatkan kredensial akses temporary. Untuk informasi selengkapnya, lihat STS SDKs.
Gunakan kredensial STS untuk membuat permintaan yang ditandatangani.
Gunakan presigned URL untuk otorisasi akses temporary
Catatan penggunaan
Saat Anda menggunakan OSS SDK untuk menghasilkan presigned URL, OSS SDK menggunakan algoritma tertentu berdasarkan informasi kunci yang disimpan di komputer lokal untuk menghitung signature dan menambahkannya ke URL guna memastikan validitas dan keamanan URL tersebut. Operasi penghitungan dan pembentukan URL ini dilakukan sepenuhnya di sisi client. Anda tidak perlu mengirim permintaan ke server melalui jaringan. Dengan demikian, Anda tidak perlu memberikan izin khusus kepada pemanggil saat menghasilkan presigned URL. Namun, untuk memungkinkan pengguna pihak ketiga melakukan operasi terkait pada sumber daya yang diotorisasi oleh presigned URL, Anda harus memastikan bahwa principal yang memanggil operasi API untuk menghasilkan presigned URL memiliki izin yang sesuai.
Misalnya, jika suatu principal ingin mengunggah objek menggunakan presigned URL, Anda harus memberikan izin oss:PutObject kepada principal tersebut. Jika suatu principal ingin mengunduh atau melihat pratinjau objek menggunakan presigned URL, Anda harus memberikan izin oss:GetObject kepada principal tersebut.
Anda dapat menghasilkan presigned URL dan memberikannya kepada pengunjung untuk akses sementara. Saat menghasilkan presigned URL, Anda dapat menentukan periode validitas URL tersebut untuk membatasi durasi waktu pengunjung dapat mengakses data tertentu.
Untuk menghasilkan presigned URL yang digunakan untuk mengakses sumber daya melalui HTTPS, tetapkan protokol pada endpoint ke HTTPS.
Presigned URL yang dihasilkan menggunakan kode contoh berikut mungkin mengandung tanda plus (
+). Dalam kasus ini, ganti tanda plus (+) dalam URL tersebut dengan%2B. Jika tidak, presigned URL tersebut mungkin tidak dapat digunakan untuk mengakses objek sebagaimana diharapkan.