Menggunakan Azure Content Delivery Network dengan SAS

Saat Anda menyiapkan akun penyimpanan untuk Azure Content Delivery Network untuk digunakan untuk menyimpan konten, secara default siapa pun yang mengetahui URL untuk kontainer penyimpanan Anda dapat mengakses file yang telah Anda unggah. Untuk melindungi file di akun penyimpanan, Anda dapat mengatur akses kontainer penyimpanan dari publik ke privat. Namun, jika Anda melakukannya, tidak ada yang dapat mengakses file Anda.

Jika Anda ingin memberikan akses terbatas ke kontainer penyimpanan privat, Anda dapat menggunakan fitur Tanda Tangan Akses Bersama (SAS) dari akun Azure Storage Anda. SAS adalah URI yang memberikan hak akses terbatas ke sumber daya Azure Storage Anda tanpa mengekspos kunci akun Anda. Anda dapat memberikan SAS kepada klien yang tidak Anda percayai dengan kunci akun penyimpanan Anda tetapi kepada siapa Anda ingin mendelegasikan akses ke sumber daya akun penyimpanan tertentu. Dengan mendistribusikan URI Tanda Tangan Akses Bersama ke klien ini, Anda memberi mereka akses ke sumber daya untuk jangka waktu tertentu.

Dengan SAS, Anda dapat menentukan berbagai parameter akses ke blob, seperti waktu mulai dan kedaluwarsa, izin (baca/tulis), dan rentang IP. Artikel ini menjelaskan cara menggunakan SAS dengan Azure Content Delivery Network. Untuk informasi selengkapnya tentang SAS, termasuk cara membuatnya dan opsi parameternya, lihat Menggunakan tanda tangan akses bersama (SAS).

Menyiapkan Azure Content Delivery Network agar berfungsi dengan SAS penyimpanan

Dua opsi berikut direkomendasikan untuk menggunakan SAS dengan Azure Content Delivery Network. Semua opsi mengasumsikan bahwa Anda telah membuat SAS yang berfungsi (lihat prasyarat).

Prasyarat

Untuk memulai, buat akun penyimpanan lalu buat SAS untuk aset Anda. Anda dapat membuat dua jenis tanda tangan akses yang disimpan: SAS layanan atau SAS akun. Untuk informasi selengkapnya, lihat Jenis tanda tangan akses bersama.

Setelah membuat token SAS, Anda dapat mengakses file penyimpanan blob dengan menambahkan ?sv=<SAS token> ke URL Anda. URL ini memiliki format berikut:

https://<account name>.blob.core.windows.net/<container>/<file>?sv=<SAS token>

Contohnya:

https://democdnstorage1.blob.core.windows.net/container1/demo.jpg?sv=2017-07-29&ss=b&srt=co&sp=r&se=2038-01-02T21:30:49Z&st=2018-01-02T13:30:49Z&spr=https&sig=QehoetQFWUEd1lhU5iOMGrHBmE727xYAbKJl5ohSiWI%3D

Untuk informasi selengkapnya tentang mengatur parameter, lihat Pertimbangan parameter SAS dan parameter Tanda Tangan Akses Bersama.

Cuplikan layar pengaturan SAS jaringan pengiriman konten.

Opsi 1: Menggunakan SAS dengan pass-through ke penyimpanan blob dari Azure Content Delivery Network

Opsi ini adalah yang paling sederhana dan menggunakan satu token SAS, yang diteruskan dari Azure Content Delivery Network ke server asal.

  1. Pilih titik akhir, pilih Aturan penembolokan, lalu pilih Cache setiap URL unik dari daftar Penembolokan string kueri.

    Cuplikan layar aturan penembolokan jaringan pengiriman konten.

  2. Setelah menyiapkan SAS di akun penyimpanan, Anda harus menggunakan token SAS dengan titik akhir jaringan pengiriman konten dan URL server asal untuk mengakses file.

    URL titik akhir jaringan pengiriman konten yang dihasilkan memiliki format berikut: https://<endpoint hostname>.azureedge.net/<container>/<file>?sv=<SAS token>

    Contohnya:

    https://demoendpoint.azureedge.net/container1/demo.jpg?sv=2017-07-29&ss=b&srt=c&sp=r&se=2027-12-19T17:35:58Z&st=2017-12-19T09:35:58Z&spr=https&sig=kquaXsAuCLXomN7R00b8CYM13UpDbAHcsRfGOW3Du1M%3D

  3. Sesuaikan durasi cache baik dengan menggunakan aturan penembolokan atau dengan menambahkan header Cache-Control di server asal. Karena Azure Content Delivery Network memperlakukan token SAS sebagai string kueri biasa, sebagai praktik terbaik, Anda harus menyiapkan durasi penembolokan yang kedaluwarsa pada atau sebelum waktu kedaluwarsa SAS. Jika tidak, jika file di-cache untuk durasi yang lebih lama daripada SAS aktif, file mungkin dapat diakses dari server asal Azure Content Delivery Network setelah waktu kedaluwarsa SAS berlalu. Jika situasi ini terjadi dan Anda ingin membuat file cache tidak dapat diakses, Anda harus melakukan operasi hapus menyeluruh pada file untuk menghapusnya dari cache. Untuk informasi tentang mengatur durasi cache di Azure Content Delivery Network, lihat Mengontrol perilaku penembolokan Azure Content Delivery Network dengan aturan penembolokan.

Opsi 2: Menggunakan autentikasi token keamanan jaringan pengiriman konten dengan aturan penulisan ulang

Untuk menggunakan autentikasi token keamanan Azure Content Delivery Network, Anda harus memiliki Azure CDN Premium dari profil Edgio . Opsi ini adalah yang paling aman dan dapat disesuaikan. Akses klien didasarkan pada parameter keamanan yang Anda tetapkan pada token keamanan. Setelah Anda membuat dan menyiapkan token keamanan, token tersebut diperlukan pada semua URL titik akhir jaringan pengiriman konten. Namun, karena aturan Penulisan Ulang URL, token SAS tidak diperlukan pada titik akhir jaringan pengiriman konten. Jika token SAS nanti menjadi tidak valid, Azure Content Delivery Network tidak dapat memvalidasi ulang konten dari server asal.

  1. Buat token keamanan Azure Content Delivery Network dan aktifkan dengan menggunakan mesin aturan untuk titik akhir dan jalur jaringan pengiriman konten tempat pengguna Anda dapat mengakses file.

    URL titik akhir token keamanan memiliki format berikut:

    https://<endpoint hostname>.azureedge.net/<container>/<file>?<security_token>

    Contohnya:

    https://sasstoragedemo.azureedge.net/container1/demo.jpg?a4fbc3710fd3449a7c99986bkquaXsAuCLXomN7R00b8CYM13UpDbAHcsRfGOW3Du1M%3D

    Opsi parameter untuk autentikasi token keamanan berbeda dari opsi parameter untuk token SAS. Jika Anda memilih untuk menggunakan waktu kedaluwarsa saat membuat token keamanan, Anda harus mengaturnya ke nilai yang sama dengan waktu kedaluwarsa untuk token SAS. Melakukan hal ini akan memastikan bahwa waktu kedaluwarsa dapat diprediksi.

  2. Gunakan mesin aturan untuk membuat aturan Regenerasi URL guna mengaktifkan akses token SAS ke semua gumpalan blob dalam kontainer. Aturan baru membutuhkan waktu hingga 4 jam untuk disebarluaskan.

    Contoh aturan Regenerasi URL berikut menggunakan pola regex dengan grup penangkapan dan titik akhir bernama sasstoragedemo:

    Sumber:

    (container1/.*)

    Tujuan:

    $1&sv=2017-07-29&ss=b&srt=c&sp=r&se=2027-12-19T17:35:58Z&st=2017-12-19T09:35:58Z&spr=https&sig=kquaXsAuCLXomN7R00b8CYM13UpDbAHcsRfGOW3Du1M%3DCuplikan layar aturan Penulisan Ulang URL jaringan pengiriman konten - kiri.Cuplikan layar aturan Penulisan Ulang URL jaringan pengiriman konten - kanan.

  3. Jika Anda memperbarui SAS, pastikan Anda memperbarui aturan Penulisan Ulang URL dengan token SAS baru.

Pertimbangan parameter SAS

Karena parameter SAS tidak terlihat oleh Azure Content Delivery Network, Azure Content Delivery Network tidak dapat mengubah perilaku pengirimannya berdasarkan parameter tersebut. Pembatasan parameter yang ditentukan hanya berlaku pada permintaan yang dibuat Azure Content Delivery Network ke server asal, bukan untuk permintaan dari klien ke Azure Content Delivery Network. Perbedaan ini penting untuk dipertimbangkan saat Anda menetapkan parameter SAS. Jika kemampuan tingkat lanjut ini diperlukan dan Anda menggunakan Opsi 2, atur batasan yang sesuai pada token keamanan Azure Content Delivery Network.

Nama parameter SAS Deskripsi
Mulai Waktu azure Content Delivery Network dapat mulai mengakses file blob. Karena perbedaan waktu (saat sinyal jam tiba pada waktu yang berbeda untuk komponen yang berbeda), pilih waktu 15 menit sebelumnya jika Anda ingin aset segera tersedia.
Akhir Waktu setelah itu Azure Content Delivery Network tidak dapat lagi mengakses file blob. File yang sebelumnya di-cache di Azure Content Delivery Network masih dapat diakses. Untuk mengontrol waktu kedaluwarsa file, atur waktu kedaluwarsa yang sesuai pada token keamanan Azure Content Delivery Network atau hapus menyeluruh aset.
Alamat IP yang diizinkan Opsional. Jika Anda menggunakan Azure CDN dari Edgio, Anda dapat mengatur parameter ini ke rentang yang ditentukan dalam Azure Content Delivery Network dari Rentang IP Server Edgio Edge.
Protokol yang diperbolehkan Protokol yang diizinkan untuk permintaan yang dibuat dengan AKUN SAS. Disarankan untuk mengatur HTTPS.

Langkah berikutnya

Untuk informasi selengkapnya tentang SAS, lihat artikel berikut ini:

Untuk informasi selengkapnya tentang menyiapkan autentikasi token, lihat Mengamankan aset Azure Content Delivery Network dengan autentikasi token.