Jika nama domain yang dipercepat Anda menggunakan bucket Alibaba Cloud Object Storage Service (OSS) pribadi untuk mengotentikasi akses dan mencegah lalu lintas tidak sah, aktifkan fitur pengambilan asal untuk bucket OSS pribadi. Fitur ini memungkinkan Anda menggunakan CDN untuk mempercepat resource di dalam bucket OSS pribadi tersebut.
Cara kerja dan manfaat
Cara kerja: Setelah fitur ini diaktifkan, CDN secara otomatis menambahkan bidang
Authorizationke header setiap permintaan asal yang dikirim ke bucket OSS pribadi Anda. Nilai bidang tersebut berupa signature valid yang dihasilkan dari informasi identitas yang Anda otorisasi, seperti token temporary Security Token Service (STS) atau AccessKey. OSS menggunakan signature ini untuk mengotentikasi permintaan tersebut.Akses aman: Berikan izin read-only kepada CDN guna memastikan legitimasi permintaan asal dan menghindari risiko keamanan akibat menjadikan bucket pribadi menjadi publik.
Optimalisasi biaya: Saat permintaan pengguna akhir dilayani oleh cache CDN, biaya lalu lintas jauh lebih rendah dibandingkan dengan biaya lalu lintas Internet keluar dari akses langsung ke OSS. Selain itu, lalu lintas dari CDN ke OSS ditagih sebagai origin traffic dengan harga satuan lebih rendah daripada lalu lintas Internet keluar dari OSS, sehingga secara efektif mengurangi biaya keseluruhan Anda. Untuk informasi selengkapnya, lihat Penagihan resource OSS yang dipercepat CDN.
Prosedur
Proses konfigurasi mencakup dua langkah: pertama, lakukan otorisasi sekali untuk akun Anda, lalu aktifkan fitur tersebut untuk nama domain yang dipercepat tertentu.
Berikan akses CDN ke OSS. Sebelum menggunakan fitur ini untuk pertama kali pada domain apa pun di akun Anda, berikan izin CDN untuk mengakses OSS. Ini merupakan otorisasi tingkat akun yang hanya perlu dilakukan sekali. Jika Anda tidak diminta untuk mengotorisasi, lewati langkah ini.
(Direkomendasikan) Otorisasi di Konsol
Masuk ke Konsol CDN.
Di panel navigasi sebelah kiri, klik Domain Names.
Pada halaman Domain Names, temukan nama domain yang ingin Anda kelola dan klik Manage.
Di panel navigasi sebelah kiri untuk nama domain tersebut, klik Origin Fetch.
Di bagian Alibaba Cloud OSS Private Bucket Access, klik Authorize. Pada halaman konfirmasi otorisasi, klik Authorize.

Otorisasi manual melalui RAM
Masuk ke Konsol RAM.
Di panel navigasi sebelah kiri, klik Permission Management > Permission Policies.
Pada halaman Policies , klik Create Policy .
Di tab Script Editor, masukkan kebijakan berikut.
Klik OK. Pada halaman Create Policy , masukkan informasi berikut dan klik OK.
Policy Name : AliyunCDNAccessingPrivateOSSRolePolicy
Note: Kebijakan otorisasi ini digunakan untuk role yang digunakan oleh CDN atau DCDN untuk melakukan pengambilan asal dari bucket OSS pribadi. Kebijakan ini memberikan izin read-only ke OSS.
{ "Version": "1", "Statement": [ { "Action": [ "oss:List*", "oss:Get*" ], "Resource": "*", "Effect": "Allow" } ] }Di panel navigasi sebelah kiri, klik Identity Management > Roles .
Pada halaman Roles, klik Create Role.
Atur Principal Type ke Alibaba Cloud Account, pilih Current Alibaba Cloud Account untuk Principal Name, lalu klik OK.
Pada langkah Create Role , masukkan informasi berikut.
Role Name : AliyunCDNAccessingPrivateOSSRole
Setelah role dibuat, klik AliyunCDNAccessingPrivateOSSRole di daftar role pada halaman Roles untuk membuka halaman detail role tersebut.
Pada tab Trust Policy , klik Edit Trust Policy , masukkan informasi berikut, lalu klik OK .
Anda dapat beralih ke tab Permission Management. Lalu, di tab Grants, klik Grant Permission.
Resource Scope: Account
Principal: Pilih AliyunCDNAccessingPrivateOSSRole yang telah Anda buat.
Untuk Authorization Policy, pilih Custom Policy. Lalu, pilih AliyunCDNAccessingPrivateOSSRolePolicy yang telah Anda buat dan klik Grant Permissions.
{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "cdn.aliyuncs.com" ] } } ], "Version": "1" }Confirm New Authorization Setelah Anda mengonfirmasi otorisasi baru, kembali ke halaman Origin Fetch di Konsol CDN. Anda akan melihat bahwa fitur Alibaba Cloud OSS Private Bucket Access kini telah diotorisasi.
Aktifkan Alibaba Cloud OSS Private Bucket Access dan konfigurasikan tipe pengambilan asal.
Temukan bagian Alibaba Cloud OSS Private Bucket Access. Aktifkan sakelarnya.
Pada kotak dialog Alibaba Cloud OSS Private Bucket Access, pilih tipe pengambilan asal. Klik OK.

Origin fetch type
Use case dan deskripsi yang direkomendasikan
Origin Fetch From Same Account
(Direkomendasikan) Cocok untuk kasus di mana CDN dan bucket OSS berada di bawah Akun Alibaba Cloud yang sama. Sistem secara otomatis menggunakan token STS temporary untuk otentikasi. Hal ini menyederhanakan konfigurasi, menghilangkan kebutuhan untuk mengelola kunci, serta memberikan keamanan lebih tinggi.
Token keamanan temporary STS juga dapat digunakan untuk pengambilan asal cross-account. Untuk informasi selengkapnya, lihat CDN: Menggunakan STS untuk Mengonfigurasi Pengambilan Asal Cross-Account untuk Bucket OSS Pribadi.
Cross-Account or Same-Account Origin Fetch
Cocok untuk kasus di mana CDN dan bucket OSS berada di bawah Akun Alibaba Cloud yang berbeda. Metode ini juga mendukung skenario same-account. Metode ini mengharuskan Anda untuk secara manual menyediakan ID AccessKey dan Rahasia AccessKey dari Akun Alibaba Cloud tempat bucket OSS pribadi tujuan berada. Untuk informasi selengkapnya, lihat Buat Pasangan Kunci Akses.
CatatanRuang lingkup akses: Setelah Anda mengaktifkan fitur ini, nama domain yang dipercepat dapat mengakses semua resource di bucket pribadi asalnya. Anda tidak dapat membatasi akses hanya ke resource tertentu di dalam bucket melalui CDN.
Konflik signature: Untuk mencegah kegagalan otentikasi OSS, pastikan permintaan asal tidak berisi signature baik di header permintaan maupun di parameter URL.
Konflik fitur: Fitur ini bertentangan dengan konfigurasi halaman indeks default dari fitur hosting situs web statis di OSS. Untuk menggunakan kedua fitur secara bersamaan, lihat dokumen terkait.
Rekomendasi keamanan
Setelah Anda mengaktifkan pengambilan asal dari bucket pribadi, data asal Anda aman. Namun, resource yang di-cache di POP secara default dapat diakses publik. Untuk mencegah penggunaan lalu lintas CDN yang tidak sah, gunakan fitur keamanan berikut yang disediakan oleh CDN:
Konfigurasikan Daftar hitam atau daftar putih Referer: Batasi akses ke resource CDN Anda hanya untuk permintaan dari website tertentu.
Konfigurasikan Penandatanganan URL: Tetapkan signature dinamis dan waktu kedaluwarsa untuk URL resource Anda guna mencegah unduhan berbahaya secara efektif.
Nonaktifkan pengambilan asal dari bucket OSS pribadi
Jika Anda tidak lagi ingin nama domain yang dipercepat mengakses resource di bucket pribadi, cabut otorisasi di Konsol RAM. Tindakan ini mencabut izin yang memungkinkan CDN melakukan pengambilan asal dari bucket OSS pribadi tersebut.
Nonaktifkan fitur di Konsol CDN.
Masuk ke Konsol CDN.
Di panel navigasi sebelah kiri, klik Domain Names.
Pada halaman Domain Names, temukan nama domain target dan klik Manage.
Di panel navigasi sebelah kiri untuk nama domain tersebut, klik Origin Fetch.
Di bagian Alibaba Cloud OSS Private Bucket Access, matikan sakelar Alibaba Cloud OSS Private Bucket Access.
Hapus sepenuhnya otorisasi di Konsol RAM.
Masuk ke Konsol RAM.
Di panel navigasi sebelah kiri, klik
Di daftar Role Name, klik AliyunCDNAccessingPrivateOSSRole.

Hapus semua izin dari role AliyunCDNAccessingPrivateOSSRole.
Klik Revoke Authorization untuk mencabut izin.
Di kotak dialog konfirmasi pencabutan izin, klik Revoke Permission.
Kembali ke halaman dan hapus role AliyunCDNAccessingPrivateOSSRole.
Klik Delete Role untuk role AliyunCDNAccessingPrivateOSSRole.
Di kotak dialog konfirmasi Delete Role , klik Delete Role .
Di halaman , hapus kebijakan AliyunCDNAccessingPrivateOSSRolePolicy.
Klik tombol Delete Policy untuk AliyunCDNAccessingPrivateOSSRolePolicy.
Di kotak dialog konfirmasi Delete Access Policy , Anda dapat memasukkan nama kebijakan lalu klik Delete Access Policy.
FAQ
Bagaimana cara mengatasi error This request is forbidden by kms. saat CDN mengakses resource OSS?
Jika Anda menggunakan Key Management Service (KMS) untuk mengenkripsi data di bucket OSS Anda, berikan role pengambilan asal CDN izin tambahan untuk menggunakan kunci KMS. Jika tidak, CDN tidak dapat mendekripsi atau mengakses file tersebut, dan error This request is forbidden by kms. akan dikembalikan.
Masuk ke Konsol RAM.
Di panel navigasi sebelah kiri, pilih
Di daftar Role Name , temukan role AliyunCDNAccessingPrivateOSSRole.
Klik Grant Permission, dan Principal akan terisi otomatis.
Di bawah Access Policy , pilih System Policy . Cari dan klik AliyunKMSCryptoUserAccess untuk menambahkannya ke kotak Selected Access Policies.
Klik Grant Permissions. Status akan berubah menjadi Completed.
Klik Close.

Gunakan fitur Refresh Resources. Setelah tugas refresh selesai, coba akses kembali resource tersebut.
Referensi
Praktik terbaik untuk menggunakan CDN guna mempercepat akses ke resource OSS