Contoh kebijakan berbasis identitas untuk AWS WAF - AWS WAF, AWS Firewall Manager, dan AWS Shield Advanced

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

Contoh kebijakan berbasis identitas untuk AWS WAF

Bagian ini memberikan contoh kebijakan berbasis identitas untuk AWS WAF.

Secara default, pengguna dan peran tidak memiliki izin untuk membuat atau memodifikasi AWS WAF sumber daya. Mereka juga tidak dapat melakukan tugas dengan menggunakan AWS Management Console, AWS Command Line Interface (AWS CLI), atau AWS API. Untuk memberikan izin kepada pengguna untuk melakukan tindakan pada sumber daya yang mereka butuhkan, IAM administrator dapat membuat IAM kebijakan. Administrator kemudian dapat menambahkan IAM kebijakan ke peran, dan pengguna dapat mengambil peran.

Untuk mempelajari cara membuat kebijakan IAM berbasis identitas menggunakan contoh dokumen kebijakan ini, lihat Membuat JSON IAM kebijakan di Panduan Pengguna. IAM

Untuk detail tentang tindakan dan jenis sumber daya yang ditentukan oleh AWS WAF, termasuk format ARNs untuk setiap jenis sumber daya, lihat Tindakan, sumber daya, dan kunci kondisi untuk AWS WAF V2 dalam Referensi Otorisasi Layanan.

Praktik terbaik kebijakan

Kebijakan berbasis identitas menentukan apakah seseorang dapat membuat, mengakses, atau menghapus AWS WAF sumber daya di akun Anda. Tindakan ini dapat menimbulkan biaya untuk Akun AWS. Saat Anda membuat atau mengedit kebijakan berbasis identitas, ikuti panduan dan rekomendasi berikut:

  • Memulai dengan AWS kebijakan terkelola dan beralih ke izin hak istimewa terkecil — Untuk memulai pemberian izin kepada pengguna dan beban kerja Anda, gunakan AWS kebijakan terkelola yang memberikan izin untuk banyak kasus penggunaan umum. Mereka tersedia di Akun AWS. Kami menyarankan Anda mengurangi izin lebih lanjut dengan mendefinisikan AWS kebijakan terkelola pelanggan yang khusus untuk kasus penggunaan Anda. Untuk informasi selengkapnya, silakan lihat AWS kebijakan terkelola atau AWS kebijakan terkelola untuk fungsi pekerjaan di Panduan IAM Pengguna.

  • Menerapkan izin hak istimewa paling sedikit — Saat Anda menetapkan izin dengan IAM kebijakan, berikan hanya izin yang diperlukan untuk melakukan tugas. Anda melakukannya dengan mendefinisikan tindakan yang dapat diambil pada sumber daya tertentu dalam kondisi tertentu, yang juga dikenal sebagai izin dengan hak akses paling rendah. Untuk informasi selengkapnya tentang penggunaan IAM untuk menerapkan izin, lihat Kebijakan dan izin IAM di IAM Panduan Pengguna.

  • Gunakan ketentuan dalam IAM kebijakan untuk membatasi akses lebih lanjut — Anda dapat menambahkan kondisi ke kebijakan Anda untuk membatasi akses ke tindakan dan sumber daya. Misalnya, Anda dapat menulis kondisi kebijakan untuk menentukan bahwa semua permintaan harus dikirim menggunakanSSL. Anda juga dapat menggunakan ketentuan untuk memberikan akses ke tindakan layanan jika digunakan melalui tindakan tertentu Layanan AWS, seperti AWS CloudFormation. Untuk informasi selengkapnya, lihat elemen IAM JSON kebijakan: Kondisi dalam Panduan IAM Pengguna.

  • Gunakan IAM Access Analyzer untuk memvalidasi IAM kebijakan Anda guna memastikan izin yang aman dan fungsional — IAM Access Analyzer memvalidasi kebijakan baru dan yang sudah ada sehingga kebijakan tersebut mematuhi bahasa IAM kebijakan () JSON dan praktik terbaik. IAM IAMAccess Analyzer menyediakan lebih dari 100 pemeriksaan kebijakan dan rekomendasi yang dapat ditindaklanjuti untuk membantu Anda membuat kebijakan yang aman dan fungsional. Untuk informasi selengkapnya, lihat Validasi kebijakan IAM Access Analyzer di IAMPanduan Pengguna.

  • Memerlukan otentikasi multi-faktor (MFA) - Jika Anda memiliki skenario yang mengharuskan IAM pengguna atau pengguna root di Akun AWS, nyalakan MFA untuk keamanan tambahan. Untuk meminta MFA kapan API operasi dipanggil, tambahkan MFA kondisi ke kebijakan Anda. Untuk informasi selengkapnya, lihat Mengonfigurasi API akses MFA yang dilindungi di IAMPanduan Pengguna.

Untuk informasi selengkapnya tentang praktik terbaik diIAM, lihat Praktik terbaik keamanan IAM di Panduan IAM Pengguna.

Menggunakan AWS WAF konsol

Untuk mengakses AWS WAF konsol, Anda harus memiliki set izin minimum. Izin ini harus memungkinkan Anda untuk membuat daftar dan melihat detail tentang AWS WAF sumber daya di Anda Akun AWS. Jika Anda membuat kebijakan berbasis identitas yang lebih ketat daripada izin minimum yang diperlukan, konsol tidak akan berfungsi sebagaimana dimaksud untuk entitas (pengguna atau peran) dengan kebijakan tersebut.

Anda tidak perlu mengizinkan izin konsol minimum untuk pengguna yang melakukan panggilan hanya ke AWS CLI atau AWS API. Sebagai gantinya, izinkan akses hanya ke tindakan yang cocok dengan API operasi yang mereka coba lakukan.

Untuk memastikan bahwa pengguna dan peran dapat menggunakan AWS WAF konsol, juga lampirkan setidaknya AWS WAF AWSWAFConsoleReadOnlyAccess AWS kebijakan yang dikelola untuk entitas. Untuk informasi tentang kebijakan terkelola ini, lihatAWS kebijakan terkelola: AWSWAFConsoleReadOnlyAccess. Untuk informasi selengkapnya tentang melampirkan kebijakan terkelola ke pengguna, lihat Menambahkan izin ke pengguna di Panduan IAM Pengguna.

Mengizinkan pengguna melihat izin mereka sendiri

Contoh ini menunjukkan cara Anda membuat kebijakan yang memungkinkan IAM pengguna melihat kebijakan sebaris dan terkelola yang dilampirkan pada identitas pengguna mereka. Kebijakan ini mencakup izin untuk menyelesaikan tindakan ini di konsol atau secara terprogram menggunakan AWS CLI atau AWS API.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ViewOwnUserInfo", "Effect": "Allow", "Action": [ "iam:GetUserPolicy", "iam:ListGroupsForUser", "iam:ListAttachedUserPolicies", "iam:ListUserPolicies", "iam:GetUser" ], "Resource": ["arn:aws:iam::*:user/${aws:username}"] }, { "Sid": "NavigateInConsole", "Effect": "Allow", "Action": [ "iam:GetGroupPolicy", "iam:GetPolicyVersion", "iam:GetPolicy", "iam:ListAttachedGroupPolicies", "iam:ListGroupPolicies", "iam:ListPolicyVersions", "iam:ListPolicies", "iam:ListUsers" ], "Resource": "*" } ] }

Berikan akses hanya-baca ke AWS WAF, CloudFront, dan CloudWatch

Kebijakan berikut memberi pengguna akses hanya-baca AWS WAF sumber daya, ke distribusi CloudFront web Amazon, dan ke CloudWatch metrik Amazon. Ini berguna bagi pengguna yang membutuhkan izin untuk melihat pengaturan di AWS WAF kondisi, aturan, dan web ACLs untuk melihat distribusi mana yang terkait dengan webACL, dan untuk memantau metrik dan sampel permintaan di CloudWatch. Pengguna ini tidak dapat membuat, memperbarui, atau menghapus AWS WAF sumber daya.

{ "Version":"2012-10-17", "Statement": [ { "Action": [ "wafv2:Get*", "wafv2:List*", "cloudfront:GetDistribution", "cloudfront:GetDistributionConfig", "cloudfront:ListDistributions", "cloudfront:ListDistributionsByWebACLId", "cloudwatch:ListMetrics", "cloudwatch:GetMetricStatistics", "ec2:DescribeRegions" ], "Effect": "Allow", "Resource": "*" } ] }

Berikan akses penuh ke AWS WAF, CloudFront, dan CloudWatch

Kebijakan berikut memungkinkan pengguna melakukan AWS WAF operasi, melakukan operasi apa pun pada distribusi CloudFront web, dan memantau metrik dan sampel permintaan di. CloudWatch Hal ini berguna bagi pengguna yang AWS WAF administrator.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "wafv2:*", "cloudfront:CreateDistribution", "cloudfront:GetDistribution", "cloudfront:GetDistributionConfig", "cloudfront:UpdateDistribution", "cloudfront:ListDistributions", "cloudfront:ListDistributionsByWebACLId", "cloudfront:DeleteDistribution", "cloudwatch:ListMetrics", "cloudwatch:GetMetricStatistics", "ec2:DescribeRegions" ], "Effect": "Allow", "Resource": "*" } ] }

Kami sangat menyarankan Anda mengonfigurasi otentikasi multi-faktor (MFA) untuk pengguna yang memiliki izin administratif. Untuk informasi selengkapnya, lihat Menggunakan Otentikasi Multi-Faktor (MFA) Perangkat dengan AWS di Panduan Pengguna IAM.

Berikan akses ke satu Akun AWS

Kebijakan ini memberikan izin berikut ke akun 444455556666:

  • Akses penuh ke semua AWS WAF operasi dan sumber daya.

  • Baca dan perbarui akses ke semua CloudFront distribusi, yang memungkinkan Anda untuk mengaitkan web ACLs dan CloudFront distribusi.

  • Baca akses ke semua CloudWatch metrik dan statistik metrik, sehingga Anda dapat melihat CloudWatch data dan sampel permintaan di AWS WAF konsol.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "wafv2:*" ], "Resource": [ "arn:aws:wafv2:us-east-1:444455556666:*" ] }, { "Effect": "Allow", "Action": [ "cloudfront:GetDistribution", "cloudfront:GetDistributionConfig", "cloudfront:ListDistributions", "cloudfront:ListDistributionsByWebACLId", "cloudfront:UpdateDistribution", "cloudwatch:ListMetrics", "cloudwatch:GetMetricStatistics", "ec2:DescribeRegions" ], "Resource": [ "*" ] } ] }

Memberikan akses ke satu web ACL

Kebijakan berikut memungkinkan pengguna melakukan AWS WAF operasi melalui konsol pada web tertentu ACL di akun444455556666.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "wafv2:*" ], "Resource": [ "arn:aws:wafv2:us-east-1:444455556666:regional/webacl/test123/112233d7c-86b2-458b-af83-51c51example", ] }, { "Sid": "consoleAccess", "Effect": "Allow", "Action": [ "wafv2:ListWebACLs", "ec2:DescribeRegions" ], "Resource": [ "*" ] } ] }

Berikan CLI akses ke web ACL dan grup aturan

Kebijakan berikut memungkinkan pengguna melakukan AWS WAF operasi melalui CLI pada web tertentu ACL dan kelompok aturan tertentu di akun444455556666.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "wafv2:*" ], "Resource": [ "arn:aws:wafv2:us-east-1:444455556666:regional/webacl/test123/112233d7c-86b2-458b-af83-51c51example", "arn:aws:wafv2:us-east-1:444455556666:regional/rulegroup/test123rulegroup/555555555-6666-1234-abcd-00d11example" ] } ] }

Kebijakan berikut memungkinkan pengguna melakukan AWS WAF operasi melalui konsol pada web tertentu ACL di akun444455556666.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "wafv2:*" ], "Resource": [ "arn:aws:wafv2:us-east-1:444455556666:regional/webacl/test123/112233d7c-86b2-458b-af83-51c51example", ] }, { "Sid": "consoleAccess", "Effect": "Allow", "Action": [ "wafv2:ListWebACLs", "ec2:DescribeRegions" ], "Resource": [ "*" ] } ] }