Mengaitkan ACL AWS WAF web dengan layanan Anda - AWS App Runner

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

Mengaitkan ACL AWS WAF web dengan layanan Anda

AWS WAF adalah firewall aplikasi web yang dapat Anda gunakan untuk mengamankan layanan App Runner Anda. Dengan daftar kontrol akses AWS WAF web (ACL web), Anda dapat melindungi titik akhir layanan App Runner dari eksploitasi web umum dan bot yang tidak diinginkan.

ACL web memberi Anda kontrol halus atas semua permintaan web yang masuk ke layanan App Runner Anda. Anda dapat menentukan aturan dalam ACL web untuk mengizinkan, memblokir, atau memantau lalu lintas web, untuk memastikan bahwa hanya permintaan yang sah dan sah yang mencapai aplikasi web dan API Anda. Anda dapat menyesuaikan aturan ACL web berdasarkan kebutuhan bisnis dan keamanan spesifik Anda. Untuk mempelajari lebih lanjut tentang keamanan infrastruktur dan praktik terbaik untuk menerapkan ACL jaringan, lihat Mengontrol lalu lintas jaringan di Panduan Pengguna Amazon VPC.

penting

Aturan IP sumber untuk layanan pribadi App Runner yang terkait dengan ACL web WAF tidak mematuhi aturan berbasis IP. Ini karena saat ini kami tidak mendukung penerusan data IP sumber permintaan ke layanan pribadi App Runner yang terkait dengan WAF. Jika aplikasi App Runner Anda memerlukan aturan kontrol lalu lintas masuk IP/CIDR sumber, Anda harus menggunakan aturan grup keamanan untuk titik akhir pribadi, bukan ACL web WAF.

Alur permintaan web yang masuk

Saat ACL AWS WAF web dikaitkan dengan layanan App Runner, permintaan web yang masuk akan melalui proses berikut:

  1. App Runner meneruskan konten permintaan asal ke. AWS WAF

  2. AWS WAF memeriksa permintaan dan membandingkan isinya dengan aturan yang Anda tentukan di ACL web Anda.

  3. Berdasarkan pemeriksaannya, AWS WAF mengembalikan allow atau block respons ke App Runner.

    • Jika allow respons dikembalikan, App Runner meneruskan permintaan ke aplikasi Anda.

    • Jika block respons dikembalikan, App Runner memblokir permintaan agar tidak mencapai aplikasi web Anda. Ini meneruskan block respons dari AWS WAF ke aplikasi Anda.

      catatan

      Secara default App Runner memblokir permintaan jika tidak ada respons yang dikembalikan. AWS WAF

Untuk informasi selengkapnya tentang ACL AWS WAF web, lihat Daftar kontrol akses Web (ACL web) di Panduan AWS WAF Pengembang.

catatan

Anda membayar AWS WAF harga standar. Anda tidak dikenakan biaya tambahan untuk menggunakan ACL AWS WAF web untuk layanan App Runner Anda. Untuk informasi selengkapnya tentang harga, lihat AWS WAF Harga.

Mengaitkan ACL web WAF ke layanan App Runner

Berikut ini adalah proses tingkat tinggi untuk mengaitkan ACL AWS WAF web dengan layanan App Runner Anda:

  1. Buat ACL web di AWS WAF konsol. Untuk informasi selengkapnya, lihat Membuat ACL web di Panduan AWS WAF Pengembang.

  2. Perbarui izin AWS Identity and Access Management (IAM) Anda untuk. AWS WAF Untuk informasi selengkapnya, lihat Izin.

  3. Kaitkan ACL web dengan layanan App Runner menggunakan salah satu metode berikut:

Pertimbangan

  • Aturan IP sumber untuk layanan pribadi App Runner yang terkait dengan ACL web WAF tidak mematuhi aturan berbasis IP. Ini karena saat ini kami tidak mendukung penerusan data IP sumber permintaan ke layanan pribadi App Runner yang terkait dengan WAF. Jika aplikasi App Runner Anda memerlukan aturan kontrol lalu lintas masuk IP/CIDR sumber, Anda harus menggunakan aturan grup keamanan untuk titik akhir pribadi, bukan ACL web WAF.

  • Layanan App Runner hanya dapat dikaitkan dengan satu ACL web. Namun, Anda dapat mengaitkan satu ACL web dengan beberapa layanan App Runner dan dengan beberapa AWS sumber daya. Contohnya termasuk kumpulan pengguna Amazon Cognito dan sumber daya Application Load Balancer.

  • Saat Anda membuat ACL web, sejumlah kecil waktu berlalu sebelum ACL web sepenuhnya menyebar dan tersedia untuk App Runner. Waktu propagasi bisa dari beberapa detik hingga beberapa menit. AWS WAF mengembalikan a WAFUnavailableEntityException ketika Anda mencoba mengaitkan ACL web sebelum sepenuhnya disebarkan.

    Jika Anda menyegarkan browser atau menjauh dari konsol App Runner sebelum ACL web disebarkan sepenuhnya, asosiasi gagal terjadi. Namun, Anda dapat menavigasi di dalam konsol App Runner.

  • AWS WAF mengembalikan WAFNonexistentItemException kesalahan saat Anda memanggil salah satu AWS WAF API berikut untuk layanan App Runner yang berada dalam status tidak valid:

    • AssociateWebACL

    • DisassociateWebACL

    • GetWebACLForResource

    Status tidak valid untuk layanan App Runner Anda meliputi:

    • CREATE_FAILED

    • DELETE_FAILED

    • DELETED

    • OPERATION_IN_PROGRESS

      catatan

      OPERATION_IN_PROGRESSstatus tidak valid hanya jika layanan App Runner Anda sedang dihapus.

  • Permintaan Anda mungkin menghasilkan muatan yang lebih besar dari batas apa yang AWS WAF dapat diperiksa. Untuk informasi selengkapnya tentang cara AWS WAF menangani permintaan oversize dari App Runner, lihat Penanganan komponen permintaan Oversize di Panduan AWS WAF Pengembang untuk mempelajari cara AWS WAF menangani permintaan oversize dari App Runner.

  • Jika Anda tidak menetapkan aturan yang sesuai atau pola lalu lintas Anda berubah, ACL web mungkin tidak seefektif mengamankan aplikasi Anda.

Izin

Untuk bekerja dengan ACL web AWS App Runner, tambahkan izin IAM berikut untuk: AWS WAF

  • apprunner:ListAssociatedServicesForWebAcl

  • apprunner:DescribeWebAclForService

  • apprunner:AssociateWebAcl

  • apprunner:DisassociateWebAcl

Untuk informasi selengkapnya tentang izin IAM, lihat Kebijakan dan izin di IAM di Panduan Pengguna IAM.

Berikut ini adalah contoh kebijakan IAM yang diperbarui untuk AWS WAF. Kebijakan IAM ini mencakup izin yang diperlukan untuk bekerja dengan layanan App Runner.

{ { "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "wafv2:ListResourcesForWebACL", "wafv2:GetWebACLForResource", "wafv2:AssociateWebACL", "wafv2:DisassociateWebACL", "apprunner:ListAssociatedServicesForWebAcl", "apprunner:DescribeWebAclForService", "apprunner:AssociateWebAcl", "apprunner:DisassociateWebAcl" ], "Resource":"*" } ] }
catatan

Meskipun Anda harus memberikan izin IAM, tindakan yang tercantum hanya izin dan tidak sesuai dengan operasi API.