AWS CloudFront: Memperkenalkan Origin Access Control (OAC) Untuk Mengamankan S3 Origins Anda 04 Januari 2023

Diterbitkan: 2023-01-04

Amazon CloudFront adalah jaringan pengiriman konten (CDN) global terkemuka dari Amazon Web Services (AWS) yang terkenal untuk mengirimkan aplikasi, video, situs web, dan API ke pemirsa di seluruh dunia dengan kecepatan kilat.

Amazon S3 adalah salah satu arsitektur AWS yang paling banyak digunakan yang digunakan sebagai asal untuk menghosting konten dan CloudFront, yang digunakan untuk mengirimkannya ke pemirsa. Saat menggunakan arsitektur ini, pelanggan dapat memanfaatkan identitas akses asal (OAI) CloudFront untuk mengamankan akses bucket S3 ke CloudFront saja. Namun, baru-baru ini, AWS telah memperkenalkan fungsi baru bernama OAC yang menggantikan OAI dengan beberapa fitur baru.

1.Apa itu OAC?

AWS baru-baru ini mengumumkan fitur Origin Access Control (OAC) baru untuk CloudFront. Ini adalah penerus Origin Access Identity (OAI). Sesuai arsitektur kami, kami menggunakan Amazon S3 sebagai asal untuk menghosting konten seperti situs web dan video, dan menggunakan CloudFront untuk mengirimkannya ke pemirsa. Sekarang kami menggunakan identitas akses asal CloudFront (OAI) untuk mengamankan akses asal S3 ke CloudFront saja.

2.Bagaimana ini lebih aman daripada OAI?

Meskipun OAI menyediakan cara yang aman untuk mengakses asal S3 ke CloudFront, OAI memiliki keterbatasan seperti tidak mendukung konfigurasi kebijakan granular, permintaan HTTP dan HTTPS yang menggunakan metode POST di wilayah AWS yang memerlukan AWS Signature Version 4 (SigV4), atau integrasi dengan SSE -KMS.Untuk memperkuat keamanan dan memperdalam integrasi fitur, AWS telah memperkenalkan kontrol akses asal (OAC), fitur baru yang mengamankan asal S3 dengan mengizinkan akses ke distribusi yang ditunjuk saja. OAC didasarkan pada praktik terbaik AWS dalam menggunakan prinsipal layanan IAM untuk mengautentikasi dengan asal S3.

Dibandingkan dengan OAI, beberapa peningkatan penting yang disediakan OAC meliputi:

  • OAC diimplementasikan dengan praktik keamanan yang ditingkatkan seperti kredensial jangka pendek, rotasi kredensial yang sering, dan kebijakan berbasis sumber daya. Mereka memperkuat postur keamanan distribusi Anda dan memberikan perlindungan yang lebih baik terhadap serangan seperti deputi yang bingung.
  • Dukungan metode HTTP yang komprehensif- OAC mendukung GET, PUT, POST, PATCH, DELETE, OPTIONS, dan HEAD.
  • SSE-KMS – OAC mendukung pengunduhan dan pengunggahan objek S3 yang dienkripsi dengan SSE-KMS.
  • Akses S3 di semua wilayah AWS – OAC mendukung akses S3 di semua wilayah AWS, termasuk wilayah yang ada dan semua wilayah yang akan datang. Sebaliknya, OAI hanya akan didukung di wilayah AWS yang sudah ada dan wilayah yang diluncurkan sebelum Desember 2022.

3. Bagaimana cara membuat/mengaktifkan fitur ini?

  1. Masuk ke AWS Management Console dan buka konsol CloudFront.
  2. Pilih Buat Distribusi.
  3. Di bagian konfigurasi Asal, pilih asal S3 dari daftar drop-down domain Asal.
  4. Secara opsional, Anda dapat mengonfigurasi jalur asal untuk ditambahkan ke nama domain asal untuk permintaan asal.
  5. Masukkan nama untuk secara unik mengidentifikasi konfigurasi asal saat ini.
  6. Pilih pengaturan kontrol akses Asal.

7. Anda dapat memilih kontrol akses asal yang ada atau membuat pengaturan kontrol baru dengan salah satu dari tiga opsi penandatanganan.

membuat pengaturan kontrol

  1. Ikuti instruksi terperinci di sini tentang cara mengonfigurasi pengaturan lainnya
  2. Pilih 'Buat distribusi' di bagian bawah halaman setelah semua pengaturan konfigurasi dipilih
  3. Setelah distribusi berhasil dibuat, Anda harus memperbarui kebijakan bucket S3, Anda dapat mereferensikan pernyataan kebijakan yang disediakan di halaman detail distribusi (Gambar 3)
  4. Perhatikan bahwa kebijakan yang diberikan hanya mencakup izin untuk membaca objek dari S3. Jika Anda juga ingin mengunggah objek ke S3, Anda harus memperbarui kebijakan dengan izin tambahan untuk “ s3:PutObject ”.

4.Bagaimana cara mengonfigurasi OAC saat memperbarui distribusi CloudFront yang ada?

  1. Masuk ke AWS Management Console dan buka konsol CloudFront.
  2. Pilih salah satu distribusi dari daftar
  3. Pilih tab Asal dan pilih asal S3 yang ingin Anda kaitkan dengan pengaturan kontrol akses asal
  4. Jika asal tidak menggunakan mekanisme akses apa pun, itu akan ditampilkan sebagai publik. Jika asal sudah menggunakan OAI, itu akan ditampilkan sebagai "Identifikasi akses lawas". Untuk menggunakan OAC, pilih "Pengaturan kontrol akses asal" dan pilih kontrol akses asal yang ada atau buat pengaturan kontrol baru dengan salah satu dari tiga opsi penandatanganan.

Sunting Asal

5. Anda harus memperbarui kebijakan S3 untuk mengizinkan prinsipal layanan IAM CloudFront dan sumber daya distribusi Anda untuk mengakses bucket S3. Tidak seperti mengonfigurasi akses asal saat membuat distribusi di mana Anda dapat memperbarui kebijakan hanya setelah distribusi dibuat, saat memperbarui distribusi, Anda dapat, dan kami benar-benar menyarankan, memperbarui kebijakan untuk mengizinkan akses ke OAI dan OAC, sebelum menyimpan konfigurasi asal, untuk mengurangi downtime layanan menjadi nol. Berikut adalah contoh kebijakan yang mengizinkan akses ke OAI dan OAC.

Kode Baru

6. Mirip dengan mengonfigurasi OAC saat membuat distribusi, kebijakan yang disediakan CloudFront hanya menyertakan izin untuk membaca objek dari S3. Jika Anda juga ingin mengunggah objek ke S3, Anda harus memperbarui kebijakan dengan izin tambahan untuk “ s3:PutObject

7. Di bagian bawah halaman, pilih Simpan

5. Bagaimana cara Mengaktifkan SSE-KMS untuk CloudFront OAC?

AWS Well-Architected merekomendasikan untuk melindungi data kami saat transit dan saat istirahat. Jika kami menggunakan OAI, data Anda sudah dilindungi saat transit, dan kami dapat melindungi data kami saat istirahat menggunakan Enkripsi Sisi Server dengan Amazon S3-Managed Keys (SSE-S3).

Kami perlu mengonfigurasi kebijakan KMS Anda untuk mengizinkan prinsipal layanan IAM CloudFront mengakses kunci KMS kami. Menambahkan aws:SourceArn condition key hanya mengizinkan distribusi CloudFront tertentu untuk mengakses objek terenkripsi SSE-KMS menggunakan kebijakan kunci ini.

  1. Buka konsol KMS.
  2. Pilih kunci KMS yang dikelola pelanggan yang digunakan untuk mengenkripsi konten di asal S3
  3. Pilih tab Kebijakan kunci

4. Perbarui kebijakan kunci KMS untuk memberikan akses ke Prinsip Layanan CloudFront

prinsip pelayanan

6.Apakah saya perlu bermigrasi ke OAC?

Untuk menjawab pertanyaan ini, CloudFront mendukung OAC baru dan OAI lama. AWS merekomendasikan penggunaan OAC untuk praktik terbaik keamanan terbaru dan fungsionalitas tambahannya. Salah satu batasan OAI atas OAC adalah, OAI hanya akan didukung di wilayah AWS yang sudah ada dan wilayah yang diluncurkan sebelum Desember 2022, tetapi Kontrol Akses CloudFront Origin kini tersedia di seluruh dunia kecuali wilayah AWS China.

Membungkus,

Kontrol akses asal AWS CloudFront kini tersedia secara global. Di blog ini, saya mencoba menjelaskan apa itu OAC dan apa bedanya dengan OAI di konsol manajemen AWS itu sendiri. Meskipun OAI memberikan keamanan yang memadai, OAC direkomendasikan untuk keamanan yang ditingkatkan karena mengamankan asal S3 dengan mengizinkan akses ke distribusi yang ditunjuk saja.

Blog ini ditulis oleh Abinash Bhutia