Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
AWS WAF adalah firewall aplikasi web. Dengan daftar kontrol akses AWS WAF web (web ACL), Anda dapat melindungi kumpulan pengguna dari permintaan yang tidak diinginkan ke UI yang dihosting klasik 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 AWS WAF web ACLs, lihat Mengelola dan menggunakan daftar kontrol akses web (web ACL) di Panduan AWS WAF Pengembang.
Jika Anda memiliki ACL AWS WAF web yang terkait dengan kumpulan pengguna, Amazon Cognito meneruskan header dan konten permintaan non-rahasia yang dipilih dari pengguna Anda. AWS WAF AWS WAF memeriksa isi permintaan, membandingkannya dengan aturan yang Anda tentukan di ACL web Anda, dan mengembalikan respons ke Amazon Cognito.
Hal-hal yang perlu diketahui tentang AWS WAF web ACLs dan Amazon Cognito
-
Saat ini, aturan ACL web hanya berlaku untuk permintaan ke domain kumpulan pengguna dengan versi branding UI (klasik) yang dihosting. Bila Anda menyetel
ManagedLoginVersion
ke2
, atau versi Branding Anda ke Login Terkelola, Amazon Cognito tidak menerapkan aturan pada halaman login terkelola Anda.Untuk mengubah versi branding Anda agar kompatibel dengan AWS WAF web ACLs, lakukan salah satu hal berikut. Perubahan ini memengaruhi penampilan dan kemampuan halaman login Anda.
-
Dalam permintaan CreateUserPoolDomainatau UpdateUserPoolDomainAPI, setel
ManagedLoginVersion
ke1
. -
Dari menu Domain kumpulan pengguna Anda di konsol Amazon Cognito, edit awalan atau domain klasik Anda dan atur versi login Terkelola ke UI yang Dihosting (klasik).
Untuk informasi selengkapnya tentang versi branding, lihatLogin terkelola kumpulan pengguna.
-
-
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, jalur, dan badan seperti alamat IP, agen browser, dan operasi API yang diminta.
-
Permintaan yang diblokir AWS WAF tidak dihitung terhadap kuota tingkat permintaan untuk jenis permintaan apa pun. AWS WAF Handler dipanggil sebelum penangan pelambatan tingkat API.
-
Saat Anda membuat ACL web, sejumlah kecil waktu berlalu sebelum ACL web sepenuhnya disebarkan 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 kumpulan pengguna.
-
Permintaan Anda mungkin menghasilkan muatan yang lebih besar dari batas apa yang AWS WAF dapat diperiksa. Lihat Penanganan komponen permintaan ukuran besar di Panduan AWS WAF Pengembang untuk mempelajari cara mengonfigurasi cara AWS WAF menangani permintaan oversize dari Amazon Cognito.
-
Anda tidak dapat mengaitkan ACL web yang menggunakan pencegahan pengambilalihan akun Kontrol AWS WAF Penipuan (ATP) dengan kumpulan pengguna Amazon Cognito. Anda menerapkan fitur ATP saat menambahkan grup aturan
AWS-AWSManagedRulesATPRuleSet
terkelola. Sebelum Anda mengaitkannya dengan kumpulan pengguna, pastikan ACL web Anda 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 UI yang dihosting klasik. Untuk membuat aturan yang memiliki tindakan CAPTCHA dan tidak memengaruhi TOTP UI yang dihosting klasik, lihat. Mengkonfigurasi ACL AWS WAF web Anda untuk login terkelola TOTP MFA
AWS WAF memeriksa permintaan ke titik akhir berikut.
- UI yang dihosting klasik
-
Permintaan ke semua titik akhir di. Titik akhir kumpulan pengguna dan referensi login terkelola
- Operasi API publik
-
Permintaan dari aplikasi Anda ke Amazon Cognito API yang tidak menggunakan AWS kredensyal untuk mengotorisasi. Ini termasuk operasi API seperti InitiateAuth, RespondToAuthChallenge, dan GetUser. Operasi API yang berada dalam lingkup AWS WAF tidak memerlukan otentikasi dengan AWS kredensil. Mereka tidak diautentikasi, atau diotorisasi dengan string sesi atau token akses. Untuk informasi selengkapnya, lihat Kumpulan pengguna Amazon Cognito operasi API yang diautentikasi dan tidak diautentikasi.
Anda dapat mengonfigurasi aturan di ACL web Anda dengan tindakan aturan yang Menghitung, Mengizinkan, Memblokir, atau menampilkan 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 ke pengguna Anda.
penting
Opsi Anda untuk menyesuaikan respons kesalahan bergantung pada cara Anda membuat permintaan API.
-
Anda dapat menyesuaikan kode kesalahan dan badan respons permintaan UI yang dihosting klasik. Anda hanya dapat menyajikan CAPTCHA untuk dipecahkan oleh pengguna Anda di UI yang dihosting klasik.
-
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.
-
The AWS Command Line Interface (AWS CLI) dan AWS SDKs mengembalikan
ForbiddenException
kesalahan ke permintaan yang menghasilkan respons Block 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 AWS WAF Cognito dan izin berikut. Untuk informasi tentang AWS WAF izin, lihat izin AWS WAF API di Panduan AWS WAF Pengembang.
{
"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/*"
]
}
]
}
AWS WAF Untuk mengaktifkan kumpulan pengguna Anda dan mengaitkan ACL web
-
Masuk ke konsol Amazon Cognito
. -
Di panel navigasi, pilih Kumpulan Pengguna, dan pilih kumpulan pengguna yang ingin Anda edit.
-
Pilih AWS WAFtab di bagian Keamanan.
-
Pilih Edit.
-
Pilih Gunakan AWS WAF dengan kumpulan pengguna Anda.
-
Pilih ACL AWS WAF Web yang sudah Anda buat, atau pilih Buat ACL web AWS WAF untuk membuatnya di AWS WAF sesi baru di. AWS Management Console
-
Pilih Simpan perubahan.
Untuk mengaitkan ACL web secara terprogram dengan kumpulan pengguna Anda di AWS Command Line Interface atau SDK, gunakan AssociateWebACL dari API. AWS WAF Amazon Cognito tidak memiliki operasi API terpisah yang mengaitkan ACL web.
Menguji dan mencatat AWS WAF web ACLs
Saat Anda menetapkan tindakan aturan ke Count di ACL web Anda, AWS WAF tambahkan permintaan ke hitungan 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 disetel 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 menyetel AWS WAF perlindungan Anda di Panduan AWS WAF Pengembang.
Anda juga dapat mengonfigurasi header permintaan log AWS WAF 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 oleh danx-amzn-cognito-client-id
. x-amzn-cognito-operation-name
Permintaan UI yang di-host hanya menyertakan x-amzn-cognito-client-id
header. Untuk informasi selengkapnya, lihat Mencatat lalu lintas ACL web di Panduan AWS WAF Pengembang.
AWS WAF web ACLs tersedia di semua paket fitur kumpulan pengguna. Fitur keamanan AWS WAF pelengkap 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 Harga AWS WAF
Data AWS WAF permintaan logging tunduk pada penagihan tambahan oleh layanan tempat Anda menargetkan log Anda. Untuk informasi selengkapnya, lihat Harga untuk mencatat informasi lalu lintas ACL web di Panduan AWS WAF Pengembang.