View a markdown version of this page

Mengasosiasikan AWS WAF ACL web dengan kumpulan pengguna - Amazon Cognito

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

Mengasosiasikan AWS WAF ACL web dengan kumpulan pengguna

AWS WAF adalah firewall aplikasi web. Dengan daftar kontrol akses AWS WAF web (ACL web), Anda dapat melindungi kumpulan pengguna dari permintaan yang tidak diinginkan ke UI yang dihosting klasik, login terkelola, dan titik akhir layanan Amazon Cognito API. ACL web memberi Anda kontrol halus atas semua permintaan web HTTPS yang ditanggapi oleh kumpulan pengguna Anda. Untuk informasi selengkapnya tentang ACL AWS WAF web, lihat Mengelola dan menggunakan daftar kontrol akses web (ACL web) di Panduan Peng AWS WAF embang.

Jika Anda memiliki ACL AWS WAF web yang terkait dengan kumpulan pengguna, Amazon Cognito meneruskan header non-rahasia yang dipilih dan konten permintaan dari pengguna Anda ke. AWS WAF AWS WAF memeriksa isi permintaan, membandingkannya dengan aturan yang Anda tentukan di ACL web Anda, dan mengembalikan respons ke Amazon Cognito. Komponen permintaan yang diteruskan Amazon Cognito AWS WAF bergantung pada jenis permintaan. Untuk login terkelola dan UI yang dihosting klasik, Amazon Cognito tidak meneruskan isi permintaan. Untuk informasi selengkapnya, lihat Hal-hal yang perlu diketahui tentang AWS WAF ACL web dan Amazon Cognito.

Hal-hal yang perlu diketahui tentang AWS WAF ACL web dan Amazon Cognito

  • Anda tidak dapat mengonfigurasi aturan ACL web agar sesuai dengan informasi identitas pribadi (PII) dalam permintaan kumpulan pengguna, misalnya nama pengguna, kata sandi, nomor telepon, atau alamat email. Data ini tidak akan tersedia untuk AWS WAF. Sebagai gantinya, konfigurasikan aturan ACL web Anda agar sesuai dengan data sesi di header, path, dan body seperti alamat IP, agen browser, dan operasi API yang diminta.

  • Amazon Cognito mendukung aturan ACL web berbasis tubuh hanya untuk permintaan ke API kumpulan pengguna. Untuk login terkelola dan UI yang dihosting klasik, Amazon Cognito tidak meneruskan isi permintaan dan hanya memeriksa header dan komponen non-body lainnya.

  • Kondisi aturan ACL Web hanya dapat mengembalikan respons blok kustom untuk permintaan pertama pengguna ke halaman login terkelola interaktif pengguna. Ketika koneksi berikutnya cocok dengan kondisi respons blok kustom, mereka mengembalikan kode status kustom, header, dan respons pengalihan Anda, tetapi pesan blok default.

  • Permintaan yang diblokir oleh AWS WAF tidak dihitung dalam kuota tarif permintaan untuk jenis permintaan apa pun. AWS WAF Handler dipanggil sebelum handler API-level throttling.

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

  • Anda dapat mengaitkan satu ACL web dengan setiap kumpulan pengguna.

  • Permintaan Anda mungkin menghasilkan muatan yang lebih besar dari batas apa yang AWS WAF dapat diperiksa. Lihat Penanganan komponen permintaan besar di Panduan Peng AWS WAF embang untuk mempelajari cara mengonfigurasi cara AWS WAF menangani permintaan besar dari Amazon Cognito.

  • Anda tidak dapat mengaitkan ACL web yang menggunakan pencegahan pengambilalihan akun Pen AWS WAF ipuan Kontrol Penipuan (ATP) dengan kumpulan pengguna Amazon Cognito. Fitur ATP ada di grup aturan AWS-AWSManagedRulesATPRuleSet terkelola. Sebelum Anda mengaitkan ACL web dengan kumpulan pengguna, pastikan ACL tersebut tidak menggunakan grup aturan terkelola ini.

  • Bila Anda memiliki ACL AWS WAF web yang terkait dengan kumpulan pengguna, dan aturan di ACL web Anda menyajikan CAPTCHA, ini dapat menyebabkan kesalahan yang tidak dapat dipulihkan dalam pendaftaran TOTP login terkelola. Untuk membuat aturan yang memiliki tindakan CAPTCHA dan tidak memengaruhi TOTP login terkelola, lihat. Mengonfigurasi Anda AWS WAF ACL web untuk login terkelola TOTP MFA

AWS WAF memeriksa permintaan ke titik akhir berikut.

Login terkelola dan UI yang dihosting klasik

Permintaan ke semua titik akhir diTitik akhir kumpulan pengguna dan referensi login terkelola.

Operasi API publik

Permintaan dari aplikasi Anda ke Amazon Cognito API yang tidak menggunakan AWS kredenSIAL untuk mengotorisasi. Ini termasuk operasi API seperti InitiateAuth, RespondToAuthChallenge, dan GetUser. Operasi API yang berada dalam lingkup AWS WAF tidak memerlukan otentikasi dengan AWS kredenSIAL. Mereka tidak diautentikasi, atau diotorisasi dengan string sesi atau token akses. Untuk informasi selengkapnya, lihat Daftar operasi API dikelompokkan berdasarkan model otorisasi.

Anda dapat mengonfigurasi aturan di ACL web Anda dengan tindakan aturan yang Mengh itung, Iz inkan, Blok ir, atau menyajikan CAPTCHA sebagai respons terhadap permintaan yang cocok dengan aturan. Untuk informasi selengkapnya, lihat AWS WAF aturan di Panduan AWS WAF Pengembang. Bergantung pada tindakan aturan, Anda dapat menyesuaikan respons yang dikembalikan Amazon Cognito kepada pengguna Anda.

penting

Opsi Anda untuk menyesuaikan respons kesalahan tergantung pada cara Anda membuat permintaan API.

  • Anda dapat menyesuaikan kode kesalahan dan badan respons permintaan login terkelola. Anda hanya dapat menyajikan CAPTCHA untuk diselesaikan pengguna Anda dalam login terkelola.

  • Untuk permintaan yang Anda buat dengan API kumpulan pengguna Amazon Cognito, Anda dapat menyesuaikan badan respons permintaan yang menerima respons Blokir. Anda juga dapat menentukan kode kesalahan khusus dalam kisaran 400-499.

  • AWS Command Line Interface (AWS CLI) dan AWS SDK mengembalikan ForbiddenException kesalahan ke permintaan yang menghasilkan respons Blok atau CAPTCHA.

Mengaitkan ACL web dengan kumpulan pengguna Anda

Untuk bekerja dengan ACL web di kumpulan pengguna Anda, prinsipal AWS Identity and Access Management (IAM) Anda harus memiliki Amazon Cognito dan izin berikut. AWS WAF Untuk informasi tentang AWS WAF izin, lihat izin AWS WAF API di Panduan Peng AWS WAF embang.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "AllowWebACLUserPool", "Effect": "Allow", "Action": [ "cognito-idp:ListResourcesForWebACL", "cognito-idp:GetWebACLForResource", "cognito-idp:AssociateWebACL" ], "Resource": [ "arn:aws:cognito-idp:*:123456789012:userpool/*" ] }, { "Sid": "AllowWebACLUserPoolWAFv2", "Effect": "Allow", "Action": [ "wafv2:ListResourcesForWebACL", "wafv2:AssociateWebACL", "wafv2:DisassociateWebACL", "wafv2:GetWebACLForResource" ], "Resource": "arn:aws:wafv2:*:123456789012:*/webacl/*/*" }, { "Sid": "DisassociateWebACL1", "Effect": "Allow", "Action": "wafv2:DisassociateWebACL", "Resource": "*" }, { "Sid": "DisassociateWebACL2", "Effect": "Allow", "Action": [ "cognito-idp:DisassociateWebACL" ], "Resource": [ "arn:aws:cognito-idp:*:123456789012:userpool/*" ] } ] }

Meskipun Anda harus memberikan izin IAM, tindakan yang terdaftar hanya izin dan tidak sesuai dengan operasi API apa pun. https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/Welcome.html

Untuk mengaktifkan AWS WAF untuk kumpulan pengguna Anda dan kaitkan ACL web
  1. Masuk ke konsol Amazon Cognito.

  2. Di panel navigasi, pilih Kumpulan Pengguna, dan pilih kumpulan pengguna yang ingin Anda edit.

  3. Pilih AWS WAF tab di bagian Keamanan.

  4. Pilih Edit.

  5. Pilih Gunakan AWS WAF dengan kumpulan pengguna Anda.

    Tangkapan layar kotak AWS WAF dialog dengan Gunakan AWS WAF dengan kumpulan pengguna Anda dipilih.
  6. Pilih ACL AWS WAF Web yang sudah Anda buat, atau pilih Buat ACL web AWS WAF untuk membuatnya di AWS WAF sesi baru di. Konsol Manajemen AWS

  7. Pilih Simpan perubahan.

Untuk mengaitkan ACL web secara terprogram dengan kumpulan pengguna Anda di AWS Command Line Interface atau SDK, gunakan AssociateWeb ACL dari API. AWS WAF Amazon Cognito tidak memiliki operasi API terpisah yang mengaitkan ACL web.

Pengujian dan pencatatan AWS WAF ACL web

Saat Anda menetapkan tindakan aturan ke Hit ung di ACL web Anda AWS WAF , tambahkan permintaan ke jumlah permintaan yang cocok dengan aturan. Untuk menguji ACL web dengan kumpulan pengguna Anda, tetapkan tindakan aturan ke Hitung dan pertimbangkan volume permintaan yang cocok dengan setiap aturan. Misalnya, jika aturan yang ingin Anda setel ke tindakan Blokir cocok dengan sejumlah besar permintaan yang Anda tentukan sebagai lalu lintas pengguna normal, Anda mungkin perlu mengonfigurasi ulang aturan Anda. Untuk informasi selengkapnya, lihat Menguji dan menyet AWS WAF el perlindungan Anda di Panduan Peng AWS WAF embang.

Anda juga dapat mengonfigurasi AWS WAF untuk mencatat header permintaan ke grup CloudWatch log Amazon Logs, bucket Amazon Simple Storage Service (Amazon S3), atau Amazon Data Firehose. Anda dapat mengidentifikasi permintaan Amazon Cognito yang Anda buat dengan API kumpulan pengguna dengan x-amzn-cognito-client-id danx-amzn-cognito-operation-name. Permintaan login yang dikelola hanya menyertakan x-amzn-cognito-client-id header. Untuk informasi selengkapnya, lihat Pencatatan lalu lintas ACL web di Panduan Peng AWS WAF embang.

AWS WAF ACL web tersedia di semua paket Paket fitur kumpulan pengguna fitur kumpulan pengguna. Fitur keamanan AWS WAF melengkapi perlindungan ancaman Amazon Cognito. Anda dapat mengaktifkan kedua fitur di kumpulan pengguna. AWS WAF tagihan secara terpisah untuk pemeriksaan permintaan kumpulan pengguna. Untuk informasi selengkapnya, silakan lihat AWS WAF Harga.

Data AWS WAF permintaan pencatatan tunduk pada tagihan tambahan oleh layanan tempat Anda menargetkan log Anda. Untuk informasi selengkapnya, lihat Harga untuk mencatat informasi lalu lintas ACL web di Panduan Peng AWS WAF embang.