Batasi distribusi geografis konten Anda - Amazon CloudFront

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Batasi distribusi geografis konten Anda

Anda dapat menggunakan pembatasan geografis, kadang-kadang dikenal sebagai pemblokiran geografis, untuk mencegah pengguna di lokasi geografis tertentu mengakses konten yang Anda distribusikan melalui distribusi Amazon. CloudFront Untuk menggunakan batasan geografis, Anda memiliki dua opsi:

  • Gunakan fitur pembatasan CloudFront geografis. Gunakan opsi ini untuk membatasi akses ke semua file yang terkait dengan distribusi dan untuk membatasi akses di tingkat negara.

  • Gunakan layanan geolokasi pihak ketiga. Gunakan opsi ini untuk membatasi akses ke subset file yang terkait dengan distribusi atau untuk membatasi akses pada granularitas yang lebih baik dari tingkat negara.

Gunakan CloudFront batasan geografis

Ketika pengguna meminta konten Anda, CloudFront biasanya menyajikan konten yang diminta di mana pun pengguna berada. Jika Anda perlu mencegah pengguna di negara tertentu mengakses konten Anda, Anda dapat menggunakan fitur pembatasan CloudFront geografis untuk melakukan salah satu hal berikut:

  • Berikan izin kepada pengguna Anda untuk mengakses konten Anda hanya jika mereka berada di salah satu negara yang disetujui di daftar izin Anda.

  • Cegah pengguna Anda mengakses konten Anda jika mereka berada di salah satu negara terlarang di denylist Anda.

Misalnya, jika permintaan berasal dari negara di mana Anda tidak berwenang untuk mendistribusikan konten Anda, Anda dapat menggunakan batasan CloudFront geografis untuk memblokir permintaan tersebut.

catatan

CloudFront menentukan lokasi pengguna Anda dengan menggunakan database pihak ketiga. Keakuratan pemetaan antara alamat IP dan negara berbeda-beda berdasarkan Wilayah. Berdasarkan pengujian terbaru, keseluruhan keakuratannya adalah 99,8%. Jika tidak CloudFront dapat menentukan lokasi pengguna, CloudFront menyajikan konten yang diminta pengguna.

Inilah cara kerja pembatasan geografis:

  1. Misalkan Anda memiliki hak untuk mendistribusikan konten Anda hanya di Liechtenstein. Anda memperbarui CloudFront distribusi Anda untuk menambahkan daftar izin yang hanya berisi Liechtenstein. (Atau, Anda dapat menambahkan denlist yang berisi setiap negara kecuali Liechtenstein.)

  2. Seorang pengguna di Monako meminta konten Anda, dan DNS merutekan permintaan ke lokasi CloudFront tepi di Milan, Italia.

  3. Lokasi edge di Milan mencari distribusi Anda dan menentukan bahwa pengguna di Monako tidak memiliki izin untuk mengunduh konten Anda.

  4. CloudFront mengembalikan kode HTTP status 403 (Forbidden) ke pengguna.

Anda dapat mengonfigurasi secara opsional CloudFront untuk mengembalikan pesan kesalahan khusus kepada pengguna, dan Anda dapat menentukan berapa lama Anda CloudFront ingin menyimpan respons kesalahan untuk file yang diminta. Nilai default adalah 10 detik. Untuk informasi selengkapnya, lihat Buat halaman kesalahan khusus untuk kode HTTP status tertentu.

Pembatasan geografis berlaku untuk seluruh distribusi. Jika Anda perlu menerapkan satu batasan pada bagian konten Anda dan pembatasan yang berbeda (atau tidak ada batasan) ke bagian lain dari konten Anda, Anda harus membuat CloudFront distribusi terpisah atau menggunakan layanan geolokasi pihak ketiga.

Jika Anda mengaktifkan log CloudFront standar (log akses), Anda dapat mengidentifikasi permintaan yang CloudFront ditolak dengan mencari entri log di mana nilai sc-status (kode HTTP status) berada403. Namun, hanya dengan menggunakan log standar, Anda tidak dapat membedakan permintaan yang CloudFront ditolak berdasarkan lokasi pengguna dari permintaan yang CloudFront ditolak karena pengguna tidak memiliki izin untuk mengakses file karena alasan lain. Jika Anda memiliki layanan geolokasi pihak ketiga seperti Elemen Digital atau MaxMind, Anda dapat mengidentifikasi lokasi permintaan berdasarkan alamat IP di kolom c-ip (IP klien) di log akses. Untuk informasi selengkapnya tentang log CloudFront standar, lihatKonfigurasikan dan gunakan log standar (log akses).

Prosedur berikut menjelaskan cara menggunakan CloudFront konsol untuk menambahkan batasan geografis ke distribusi yang ada. Untuk informasi tentang cara menggunakan konsol untuk membuat distribusi, lihat Buat distribusi.

Untuk menambahkan batasan geografis ke distribusi CloudFront web Anda (konsol)
  1. Masuk ke AWS Management Console dan buka CloudFront konsol dihttps://console.aws.amazon.com/cloudfront/v4/home.

  2. Di panel navigasi, pilih Distribusi, lalu pilih distribusi yang ingin Anda perbarui.

  3. Pilih tab Keamanan, lalu pilih Pembatasan geografis.

  4. Pilih Edit.

  5. Pilih Izinkan daftar untuk membuat daftar negara yang diizinkan, atau Blokir daftar untuk membuat daftar negara yang diblokir.

  6. Tambahkan negara yang diinginkan ke daftar, lalu pilih Simpan perubahan.

Gunakan layanan geolokasi pihak ketiga

Dengan fitur pembatasan CloudFront geografis, Anda mengontrol distribusi konten Anda di tingkat negara untuk semua file yang Anda distribusikan dengan distribusi web tertentu. Jika Anda memiliki kasus penggunaan untuk pembatasan geografis di mana pembatasan tidak mengikuti batas negara, atau jika Anda ingin membatasi akses hanya ke beberapa file yang Anda layani oleh distribusi tertentu, Anda dapat menggabungkan CloudFront dengan layanan geolokasi pihak ketiga. Ini memberi Anda kontrol atas konten Anda tidak hanya berdasarkan negara tetapi juga berdasarkan kota,, atau kode posZIP, atau bahkan garis lintang dan bujur.

Saat Anda menggunakan layanan geolokasi pihak ketiga, kami sarankan Anda menggunakan CloudFront tanda tanganURLs, yang dengannya Anda dapat menentukan tanggal dan waktu kedaluwarsa setelah itu tidak lagi URL valid. Selain itu, kami menyarankan Anda menggunakan bucket Amazon S3 sebagai asal Anda karena Anda kemudian dapat menggunakan kontrol akses CloudFront asal untuk mencegah pengguna mengakses konten Anda langsung dari asal. Untuk informasi selengkapnya tentang kontrol akses yang ditandatangani URLs dan asal, lihatSajikan konten pribadi dengan cookie yang ditandatangani URLs dan ditandatangani.

Langkah-langkah berikut menjelaskan cara mengontrol akses ke file Anda dengan menggunakan layanan geolokasi pihak ketiga.

Untuk menggunakan layanan geolokasi pihak ketiga untuk membatasi akses ke file dalam distribusi CloudFront
  1. Dapatkan akun dengan layanan geolokasi.

  2. Unggah konten Anda ke keranjang Amazon S3.

  3. Konfigurasikan Amazon CloudFront dan Amazon S3 untuk menyajikan konten pribadi. Untuk informasi selengkapnya, lihat Sajikan konten pribadi dengan cookie yang ditandatangani URLs dan ditandatangani.

  4. Tulis aplikasi web Anda untuk melakukan hal berikut:

    • Kirim alamat IP untuk setiap permintaan pengguna ke layanan geolokasi.

    • Evaluasi nilai pengembalian dari layanan geolokasi untuk menentukan apakah pengguna berada di lokasi tempat Anda CloudFront ingin mendistribusikan konten Anda.

    • Jika Anda ingin mendistribusikan konten Anda ke lokasi pengguna, buat tanda tangan URL untuk CloudFront konten Anda. Jika Anda tidak ingin mendistribusikan konten ke lokasi tersebut, kembalikan kode HTTP status 403 (Forbidden) ke pengguna. Atau, Anda dapat mengonfigurasi CloudFront untuk mengembalikan pesan kesalahan khusus. Untuk informasi selengkapnya, lihat Buat halaman kesalahan khusus untuk kode HTTP status tertentu.

    Untuk informasi selengkapnya, lihat dokumentasi untuk layanan geolokasi yang Anda gunakan.

Anda dapat menggunakan variabel server web untuk mendapatkan alamat IP pengguna yang mengunjungi situs web Anda. Perhatikan peringatan berikut ini:

  • Jika server web Anda tidak terhubung ke internet melalui neraca beban, Anda dapat menggunakan variabel server web untuk mendapatkan alamat IP jarak jauh. Namun, alamat IP ini tidak selalu alamat IP pengguna. Ini juga dapat berupa alamat IP dari server proksi, bergantung pada bagaimana pengguna terhubung ke internet.

  • Jika server web Anda terhubung ke internet melalui neraca beban, variabel server web mungkin berisi alamat IP dari neraca beban, bukan alamat IP pengguna. Dalam konfigurasi ini, kami menyarankan Anda menggunakan alamat IP terakhir di X-Forwarded-For HTTP header. Header ini biasanya berisi lebih dari satu alamat IP, sebagian besar untuk proksik atau timbangan beban. Alamat IP terakhir dalam daftar adalah yang paling mungkin dikaitkan dengan lokasi geografis pengguna.

Jika server web Anda tidak terhubung ke neraca beban, sebaiknya gunakan variabel server web, bukan X-Forwarded-For untuk menghindari spoofing alamat IP.