Bagaimana AWS WAF bekerja dengan IAM - 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.

Bagaimana AWS WAF bekerja dengan IAM

Sebelum Anda menggunakan IAM untuk mengelola akses AWS WAF, pelajari IAM fitur apa yang tersedia untuk digunakan AWS WAF.

Untuk mendapatkan tampilan tingkat tinggi tentang cara AWS WAF dan AWS layanan lain bekerja dengan sebagian besar IAM fitur, lihat AWS layanan yang berfungsi IAM di Panduan IAM Pengguna.

Kebijakan berbasis identitas untuk AWS WAF

Mendukung kebijakan berbasis identitas: Ya

Kebijakan berbasis identitas adalah dokumen kebijakan JSON izin yang dapat dilampirkan ke identitas, seperti pengguna, grup IAM pengguna, atau peran. Kebijakan ini mengontrol jenis tindakan yang dapat dilakukan oleh pengguna dan peran, di sumber daya mana, dan berdasarkan kondisi seperti apa. Untuk mempelajari cara membuat kebijakan berbasis identitas, lihat Membuat IAM kebijakan di Panduan Pengguna. IAM

Dengan kebijakan IAM berbasis identitas, Anda dapat menentukan tindakan dan sumber daya yang diizinkan atau ditolak serta kondisi di mana tindakan diizinkan atau ditolak. Anda tidak dapat menentukan secara spesifik prinsipal dalam sebuah kebijakan berbasis identitas karena prinsipal berlaku bagi pengguna atau peran yang melekat kepadanya. Untuk mempelajari semua elemen yang dapat Anda gunakan dalam JSON kebijakan, lihat referensi elemen IAM JSON kebijakan di Panduan IAM Pengguna.

Untuk melihat contoh kebijakan AWS WAF berbasis identitas, lihat. Contoh kebijakan berbasis identitas untuk AWS WAF

Kebijakan berbasis sumber daya dalam AWS WAF

Mendukung kebijakan berbasis sumber daya: Ya

Kebijakan berbasis sumber daya adalah dokumen JSON kebijakan yang Anda lampirkan ke sumber daya. Contoh kebijakan berbasis sumber daya adalah kebijakan kepercayaan IAM peran dan kebijakan bucket Amazon S3. Dalam layanan yang mendukung kebijakan berbasis sumber daya, administrator layanan dapat menggunakannya untuk mengontrol akses ke sumber daya tertentu. Untuk sumber daya tempat kebijakan dilampirkan, kebijakan menentukan tindakan apa yang dapat dilakukan oleh prinsipal tertentu pada sumber daya tersebut dan dalam kondisi apa. Anda harus menentukan prinsipal dalam kebijakan berbasis sumber daya. Prinsipal dapat mencakup akun, pengguna, peran, pengguna federasi, atau. AWS layanan

Untuk mengaktifkan akses lintas akun, Anda dapat menentukan seluruh akun atau IAM entitas di akun lain sebagai prinsipal dalam kebijakan berbasis sumber daya. Menambahkan prinsipal akun silang ke kebijakan berbasis sumber daya hanya setengah dari membangun hubungan kepercayaan. Ketika prinsipal dan sumber daya berbeda Akun AWS, IAM administrator di akun tepercaya juga harus memberikan izin entitas utama (pengguna atau peran) untuk mengakses sumber daya. Mereka memberikan izin dengan melampirkan kebijakan berbasis identitas kepada entitas. Namun, jika kebijakan berbasis sumber daya memberikan akses ke prinsipal dalam akun yang sama, tidak diperlukan kebijakan berbasis identitas tambahan. Untuk informasi selengkapnya, lihat Akses sumber daya lintas akun IAM di Panduan IAM Pengguna.

AWS WAF menggunakan kebijakan berbasis sumber daya untuk mendukung pembagian grup aturan di seluruh akun. Anda membagikan grup aturan yang Anda miliki dengan AWS akun lain dengan menyediakan setelan kebijakan berbasis sumber daya ke panggilan atau yang AWS WAF API setara PutPermissionPolicy atau panggilan. CLI SDK Untuk informasi tambahan, termasuk contoh dan tautan ke dokumentasi untuk bahasa lain yang tersedia, lihat PutPermissionPolicydi AWS WAF API Referensi. Fungsionalitas ini tidak tersedia melalui cara lain, seperti konsol atau AWS CloudFormation.

Tindakan kebijakan untuk AWS WAF

Mendukung tindakan kebijakan: Ya

Administrator dapat menggunakan AWS JSON kebijakan untuk menentukan siapa yang memiliki akses ke apa. Artinya, prinsipal manakah yang dapat melakukan tindakan pada sumber daya apa, dan dengan kondisi apa.

ActionElemen JSON kebijakan menjelaskan tindakan yang dapat Anda gunakan untuk mengizinkan atau menolak akses dalam kebijakan. Tindakan kebijakan biasanya memiliki nama yang sama dengan AWS API operasi terkait. Ada beberapa pengecualian, seperti tindakan khusus izin yang tidak memiliki operasi yang cocok. API Ada juga beberapa operasi yang memerlukan beberapa tindakan dalam suatu kebijakan. Tindakan tambahan ini disebut tindakan dependen.

Menyertakan tindakan dalam kebijakan untuk memberikan izin untuk melakukan operasi terkait.

Untuk melihat daftar AWS WAF tindakan dan izin untuk masing-masing tindakan, lihat Tindakan yang ditentukan oleh AWS WAF V2 di Referensi Otorisasi Layanan.

Tindakan kebijakan AWS WAF menggunakan awalan berikut sebelum tindakan:

wafv2

Untuk menetapkan secara spesifik beberapa tindakan dalam satu pernyataan, pisahkan tindakan tersebut dengan koma.

"Action": [ "wafv2:action1", "wafv2:action2" ]

Anda juga dapat menentukan beberapa tindakan menggunakan wildcard (*). Misalnya, untuk menentukan semua tindakan AWS WAF yang dimulai denganList, sertakan tindakan berikut:

"Action": "wafv2:List*"

Untuk melihat contoh kebijakan AWS WAF berbasis identitas, lihat. Contoh kebijakan berbasis identitas untuk AWS WAF

Tindakan yang memerlukan pengaturan izin tambahan

Beberapa tindakan memerlukan izin yang tidak dapat dijelaskan sepenuhnya dalam Tindakan yang ditentukan oleh AWS WAF V2 di Referensi Otorisasi Layanan. Bagian ini memberikan informasi izin tambahan.

Izin untuk AssociateWebACL

Bagian ini mencantumkan izin yang diperlukan untuk mengaitkan web ACL ke sumber daya menggunakan AWS WAF tindakanAssociateWebACL.

Untuk CloudFront distribusi Amazon, alih-alih tindakan ini, gunakan CloudFront tindakanUpdateDistribution. Untuk informasi, lihat UpdateDistributiondi CloudFront APIReferensi Amazon.

APIGerbang Amazon REST API

Memerlukan izin untuk memanggil API Gateway SetWebACL pada jenis REST API sumber daya dan untuk memanggil AWS WAF AssociateWebACL di webACL.

{ "Sid": "AssociateWebACL1", "Effect": "Allow", "Action": [ "wafv2:AssociateWebACL" ], "Resource": [ "arn:aws:wafv2:region:account-id:regional/webacl/*/*" ] }, { "Sid": "AssociateWebACL2", "Effect": "Allow", "Action": [ "apigateway:SetWebACL" ], "Resource": [ "arn:aws:apigateway:*::/restapis/*/stages/*" ] }
Penyeimbang Beban Aplikasi

Memerlukan izin untuk memanggil elasticloadbalancing:SetWebACL tindakan pada jenis sumber daya Application Load Balancer dan memanggil AWS WAF AssociateWebACL di web. ACL

{ "Sid": "AssociateWebACL1", "Effect": "Allow", "Action": [ "wafv2:AssociateWebACL" ], "Resource": [ "arn:aws:wafv2:region:account-id:regional/webacl/*/*" ] }, { "Sid": "AssociateWebACL2", "Effect": "Allow", "Action": [ "elasticloadbalancing:SetWebACL" ], "Resource": [ "arn:aws:elasticloadbalancing:*:account-id:loadbalancer/app/*/*" ] }
AWS AppSync GraphQL API

Memerlukan izin untuk memanggil AWS AppSync SetWebACL jenis sumber daya API GraphQL dan AWS WAF AssociateWebACL memanggil di web. ACL

{ "Sid": "AssociateWebACL1", "Effect": "Allow", "Action": [ "wafv2:AssociateWebACL" ], "Resource": [ "arn:aws:wafv2:region:account-id:regional/webacl/*/*" ] }, { "Sid": "AssociateWebACL2", "Effect": "Allow", "Action": [ "appsync:SetWebACL" ], "Resource": [ "arn:aws:appsync:*:account-id:apis/*" ] }
Kolam pengguna Amazon Cognito

Memerlukan izin untuk memanggil AssociateWebACL tindakan Amazon Cognito pada jenis sumber daya kumpulan pengguna dan menelepon AWS WAF AssociateWebACL di web. ACL

{ "Sid": "AssociateWebACL1", "Effect": "Allow", "Action": [ "wafv2:AssociateWebACL" ], "Resource": [ "arn:aws:wafv2:region:account-id:regional/webacl/*/*" ] }, { "Sid": "AssociateWebACL2", "Effect": "Allow", "Action": [ "cognito-idp:AssociateWebACL" ], "Resource": [ "arn:aws:cognito-idp:*:account-id:userpool/*" ] }
AWS App Runner layanan

Memerlukan izin untuk memanggil AssociateWebACL tindakan App Runner pada jenis sumber daya layanan App Runner dan memanggil AWS WAF AssociateWebACL di web. ACL

{ "Sid": "AssociateWebACL1", "Effect": "Allow", "Action": [ "wafv2:AssociateWebACL" ], "Resource": [ "arn:aws:wafv2:region:account-id:regional/webacl/*/*" ] }, { "Sid": "AssociateWebACL2", "Effect": "Allow", "Action": [ "apprunner:AssociateWebAcl" ], "Resource": [ "arn:aws:apprunner:*:account-id:service/*/*" ] }
AWS Instans Akses Terverifikasi

Memerlukan izin untuk memanggil ec2:AssociateVerifiedAccessInstanceWebAcl tindakan pada jenis sumber daya instans Akses Terverifikasi dan memanggil AWS WAF AssociateWebACL di webACL.

{ "Sid": "AssociateWebACL1", "Effect": "Allow", "Action": [ "wafv2:AssociateWebACL" ], "Resource": [ "arn:aws:wafv2:region:account-id:regional/webacl/*/*" ] }, { "Sid": "AssociateWebACL2", "Effect": "Allow", "Action": [ "ec2:AssociateVerifiedAccessInstanceWebAcl" ], "Resource": [ "arn:aws:ec2:*:account-id:verified-access-instance/*" ] }

Izin untuk DisassociateWebACL

Bagian ini mencantumkan izin yang diperlukan untuk memisahkan web ACL dari sumber daya menggunakan tindakan. AWS WAF DisassociateWebACL

Untuk CloudFront distribusi Amazon, alih-alih tindakan ini, gunakan CloudFront tindakan UpdateDistribution dengan ACL ID web kosong. Untuk informasi, lihat UpdateDistributiondi CloudFront APIReferensi Amazon.

APIGerbang Amazon REST API

Memerlukan izin untuk memanggil API Gateway SetWebACL pada jenis REST API sumber daya. Tidak memerlukan izin untuk menelepon AWS WAF DisassociateWebACL.

{ "Sid": "DisassociateWebACL", "Effect": "Allow", "Action": [ "apigateway:SetWebACL" ], "Resource": [ "arn:aws:apigateway:*::/restapis/*/stages/*" ] }
Penyeimbang Beban Aplikasi

Memerlukan izin untuk memanggil elasticloadbalancing:SetWebACL tindakan pada tipe sumber daya Application Load Balancer. Tidak memerlukan izin untuk menelepon AWS WAF DisassociateWebACL.

{ "Sid": "DisassociateWebACL", "Effect": "Allow", "Action": [ "elasticloadbalancing:SetWebACL" ], "Resource": [ "arn:aws:elasticloadbalancing:*:account-id:loadbalancer/app/*/*" ] }
AWS AppSync GraphQL API

Memerlukan izin untuk memanggil AWS AppSync SetWebACL jenis sumber daya API GraphQL. Tidak memerlukan izin untuk menelepon AWS WAF DisassociateWebACL.

{ "Sid": "DisassociateWebACL", "Effect": "Allow", "Action": [ "appsync:SetWebACL" ], "Resource": [ "arn:aws:appsync:*:account-id:apis/*" ] }
Kolam pengguna Amazon Cognito

Memerlukan izin untuk memanggil DisassociateWebACL tindakan Amazon Cognito pada jenis sumber daya kumpulan pengguna dan untuk memanggil. AWS WAF DisassociateWebACL

{ "Sid": "DisassociateWebACL1", "Effect": "Allow", "Action": "wafv2:DisassociateWebACL", "Resource": "*" }, { "Sid": "DisassociateWebACL2", "Effect": "Allow", "Action": [ "cognito-idp:DisassociateWebACL" ], "Resource": [ "arn:aws:cognito-idp:*:account-id:userpool/*" ] }
AWS App Runner layanan

Memerlukan izin untuk memanggil DisassociateWebACL tindakan App Runner pada jenis sumber daya layanan App Runner dan untuk memanggil. AWS WAF DisassociateWebACL

{ "Sid": "DisassociateWebACL1", "Effect": "Allow", "Action": "wafv2:DisassociateWebACL", "Resource": "*" }, { "Sid": "DisassociateWebACL2", "Effect": "Allow", "Action": [ "apprunner:DisassociateWebAcl" ], "Resource": [ "arn:aws:apprunner:*:account-id:service/*/*" ] }
AWS Instans Akses Terverifikasi

Memerlukan izin untuk memanggil ec2:DisassociateVerifiedAccessInstanceWebAcl tindakan pada jenis sumber daya instans Akses Terverifikasi dan untuk memanggil AWS WAF DisassociateWebACL.

{ "Sid": "DisassociateWebACL1", "Effect": "Allow", "Action": "wafv2:DisassociateWebACL", "Resource": "*" }, { "Sid": "DisassociateWebACL2", "Effect": "Allow", "Action": [ "ec2:DisassociateVerifiedAccessInstanceWebAcl" ], "Resource": [ "arn:aws:ec2:*:account-id:verified-access-instance/*" ] }

Izin untuk GetWebACLForResource

Bagian ini mencantumkan izin yang diperlukan untuk mendapatkan web ACL untuk sumber daya yang dilindungi menggunakan AWS WAF tindakanGetWebACLForResource.

Untuk CloudFront distribusi Amazon, alih-alih tindakan ini, gunakan CloudFront tindakanGetDistributionConfig. Untuk informasi, lihat GetDistributionConfigdi CloudFront APIReferensi Amazon.

catatan

GetWebACLForResourcemembutuhkan izin untuk meneleponGetWebACL. Dalam konteks ini, AWS WAF gunakan GetWebACL hanya untuk memverifikasi bahwa akun Anda memiliki izin yang diperlukan untuk mengakses web ACL yang GetWebACLForResource kembali. Ketika Anda meneleponGetWebACLForResource, Anda mungkin mendapatkan kesalahan yang menunjukkan bahwa akun Anda tidak diizinkan untuk bekerja wafv2:GetWebACL pada sumber daya. AWS WAF tidak menambahkan jenis kesalahan ini ke riwayat AWS CloudTrail acara.

Amazon API Gateway RESTAPI, Application Load Balancer, dan GraphQL AWS AppSync API

Memerlukan izin untuk menelepon AWS WAF GetWebACLForResource dan GetWebACL untuk webACL.

{ "Sid": "GetWebACLForResource", "Effect": "Allow", "Action": [ "wafv2:GetWebACLForResource", "wafv2:GetWebACL" ], "Resource": [ "arn:aws:wafv2:region:account-id:regional/webacl/*/*" ] }
Kolam pengguna Amazon Cognito

Memerlukan izin untuk memanggil GetWebACLForResource tindakan Amazon Cognito pada jenis sumber daya kumpulan pengguna dan untuk memanggil AWS WAF GetWebACLForResource dan. GetWebACL

{ "Sid": "GetWebACLForResource1", "Effect": "Allow", "Action": [ "wafv2:GetWebACLForResource", "wafv2:GetWebACL" ], "Resource": [ "arn:aws:wafv2:region:account-id:regional/webacl/*/*" ] }, { "Sid": "GetWebACLForResource2", "Effect": "Allow", "Action": [ "cognito-idp:GetWebACLForResource" ], "Resource": [ "arn:aws:cognito-idp:*:account-id:userpool/*" ] }
AWS App Runner layanan

Memerlukan izin untuk memanggil DescribeWebAclForService tindakan App Runner pada jenis sumber daya layanan App Runner dan untuk memanggil AWS WAF GetWebACLForResource dan. GetWebACL

{ "Sid": "GetWebACLForResource1", "Effect": "Allow", "Action": [ "wafv2:GetWebACLForResource", "wafv2:GetWebACL" ], "Resource": [ "arn:aws:wafv2:region:account-id:regional/webacl/*/*" ] }, { "Sid": "GetWebACLForResource2", "Effect": "Allow", "Action": [ "apprunner:DescribeWebAclForService" ], "Resource": [ "arn:aws:apprunner:*:account-id:service/*/*" ] }
AWS Instans Akses Terverifikasi

Memerlukan izin untuk memanggil ec2:GetVerifiedAccessInstanceWebAcl tindakan pada jenis sumber daya instans Akses Terverifikasi dan untuk memanggil AWS WAF GetWebACLForResource danGetWebACL.

{ "Sid": "GetWebACLForResource1", "Effect": "Allow", "Action": [ "wafv2:GetWebACLForResource", "wafv2:GetWebACL" ], "Resource": [ "arn:aws:wafv2:region:account-id:regional/webacl/*/*" ] }, { "Sid": "GetWebACLForResource2", "Effect": "Allow", "Action": [ "ec2:GetVerifiedAccessInstanceWebAcl" ], "Resource": [ "arn:aws:ec2:*:account-id:verified-access-instance/*" ] }

Izin untuk ListResourcesForWebACL

Bagian ini mencantumkan izin yang diperlukan untuk mengambil daftar sumber daya yang dilindungi untuk web ACL menggunakan tindakan. AWS WAF ListResourcesForWebACL

Untuk CloudFront distribusi Amazon, alih-alih tindakan ini, gunakan CloudFront tindakanListDistributionsByWebACLId. Untuk informasi, lihat ListDistributionsByWebACLIddi CloudFront APIReferensi Amazon.

Amazon API Gateway RESTAPI, Application Load Balancer, dan GraphQL AWS AppSync API

Memerlukan izin AWS WAF ListResourcesForWebACL untuk memanggil webACL.

{ "Sid": "ListResourcesForWebACL", "Effect": "Allow", "Action": [ "wafv2:ListResourcesForWebACL" ], "Resource": [ "arn:aws:wafv2:region:account-id:regional/webacl/*/*" ] }
Kolam pengguna Amazon Cognito

Memerlukan izin untuk memanggil ListResourcesForWebACL tindakan Amazon Cognito pada jenis sumber daya kumpulan pengguna dan untuk memanggil. AWS WAF ListResourcesForWebACL

{ "Sid": "ListResourcesForWebACL1", "Effect": "Allow", "Action": [ "wafv2:ListResourcesForWebACL" ], "Resource": [ "arn:aws:wafv2:region:account-id:regional/webacl/*/*" ] }, { "Sid": "ListResourcesForWebACL2", "Effect": "Allow", "Action": [ "cognito-idp:ListResourcesForWebACL" ], "Resource": [ "arn:aws:cognito-idp:*:account-id:userpool/*" ] }
AWS App Runner layanan

Memerlukan izin untuk memanggil ListAssociatedServicesForWebAcl tindakan App Runner pada jenis sumber daya layanan App Runner dan untuk memanggil. AWS WAF ListResourcesForWebACL

{ "Sid": "ListResourcesForWebACL1", "Effect": "Allow", "Action": [ "wafv2:ListResourcesForWebACL" ], "Resource": [ "arn:aws:wafv2:region:account-id:regional/webacl/*/*" ] }, { "Sid": "ListResourcesForWebACL2", "Effect": "Allow", "Action": [ "apprunner:ListAssociatedServicesForWebAcl" ], "Resource": [ "arn:aws:apprunner:*:account-id:service/*/*" ] }
AWS Instans Akses Terverifikasi

Memerlukan izin untuk memanggil ec2:DescribeVerifiedAccessInstanceWebAclAssociations tindakan pada jenis sumber daya instans Akses Terverifikasi dan untuk memanggil AWS WAF ListResourcesForWebACL.

{ "Sid": "ListResourcesForWebACL1", "Effect": "Allow", "Action": [ "wafv2:ListResourcesForWebACL" ], "Resource": [ "arn:aws:wafv2:region:account-id:regional/webacl/*/*" ] }, { "Sid": "ListResourcesForWebACL2", "Effect": "Allow", "Action": [ "ec2:DescribeVerifiedAccessInstanceWebAclAssociations" ], "Resource": [ "arn:aws:ec2:*:account-id:verified-access-instance/*" ] }

Sumber daya kebijakan untuk AWS WAF

Mendukung sumber daya kebijakan: Ya

Administrator dapat menggunakan AWS JSON kebijakan untuk menentukan siapa yang memiliki akses ke apa. Artinya, prinsipal manakah yang dapat melakukan tindakan pada sumber daya apa, dan dengan kondisi apa.

Elemen Resource JSON kebijakan menentukan objek atau objek yang tindakan tersebut berlaku. Pernyataan harus menyertakan elemen Resource atau NotResource. Sebagai praktik terbaik, tentukan sumber daya menggunakan Amazon Resource Name (ARN). Anda dapat melakukan ini untuk tindakan yang mendukung jenis sumber daya tertentu, yang dikenal sebagai izin tingkat sumber daya.

Untuk tindakan yang tidak mendukung izin di tingkat sumber daya, misalnya operasi pencantuman, gunakan wildcard (*) untuk menunjukkan bahwa pernyataan tersebut berlaku untuk semua sumber daya.

"Resource": "*"

Untuk melihat daftar jenis AWS WAF sumber daya dan jenisnyaARNs, lihat Sumber daya yang ditentukan oleh AWS WAF V2 di Referensi Otorisasi Layanan. Untuk mempelajari tindakan mana yang dapat Anda tentukan ARN dari setiap sumber daya, lihat Tindakan yang ditentukan oleh AWS WAF V2. Untuk mengizinkan atau menolak akses ke subset AWS WAF sumber daya, sertakan sumber daya dalam resource elemen kebijakan Anda. ARN

ARNsSumber AWS WAF wafv2 daya memiliki format berikut:

arn:partition:wafv2:region:account-id:scope/resource-type/resource-name/resource-id

Untuk informasi umum tentang ARN spesifikasi, lihat Amazon Resource Names (ARNs) di Referensi Umum Amazon Web Services.

Berikut daftar persyaratan yang khusus untuk ARNs sumber wafv2 daya:

  • region: Untuk AWS WAF sumber daya yang Anda gunakan untuk melindungi CloudFront distribusi Amazon, setel ini keus-east-1. Jika tidak, setel ini ke Wilayah yang Anda gunakan dengan sumber daya regional yang dilindungi.

  • scope: Tetapkan cakupan global untuk digunakan dengan CloudFront distribusi Amazon atau regional untuk digunakan dengan sumber daya regional mana pun yang AWS WAF mendukung. Sumber daya regional adalah Amazon API Gateway RESTAPI, Application Load Balancer, GraphQL AWS AppSync , API kumpulan pengguna Amazon Cognito, layanan, AWS App Runner dan instans Akses Terverifikasi. AWS

  • resource-type: Tentukan salah satu nilai berikut:webacl,rulegroup,ipset,regexpatternset, ataumanagedruleset.

  • resource-name: Tentukan nama yang Anda berikan AWS WAF sumber daya, atau tentukan wildcard (*) untuk menunjukkan semua sumber daya yang memenuhi spesifikasi lain diARN. Anda harus menentukan nama sumber daya dan ID sumber daya atau menentukan wildcard untuk keduanya.

  • resource-id: Tentukan ID AWS WAF sumber daya, atau tentukan wildcard (*) untuk menunjukkan semua sumber daya yang memenuhi spesifikasi lain diARN. Anda harus menentukan nama sumber daya dan ID sumber daya atau menentukan wildcard untuk keduanya.

Misalnya, berikut ini ARN menentukan semua web ACLs dengan lingkup regional untuk akun 111122223333 di Wilayahus-west-1:

arn:aws:wafv2:us-west-1:111122223333:regional/webacl/*/*

Berikut ini ARN menentukan grup aturan bernama MyIPManagementRuleGroup dengan cakupan global untuk akun 111122223333 di Wilayahus-east-1:

arn:aws:wafv2:us-east-1:111122223333:global/rulegroup/MyIPManagementRuleGroup/1111aaaa-bbbb-cccc-dddd-example-id

Untuk melihat contoh kebijakan AWS WAF berbasis identitas, lihat. Contoh kebijakan berbasis identitas untuk AWS WAF

Kunci kondisi kebijakan untuk AWS WAF

Mendukung kunci kondisi kebijakan khusus layanan: Ya

Administrator dapat menggunakan AWS JSON kebijakan untuk menentukan siapa yang memiliki akses ke apa. Artinya, prinsipal manakah yang dapat melakukan tindakan pada sumber daya apa, dan dengan kondisi apa.

Elemen Condition (atau blok Condition) akan memungkinkan Anda menentukan kondisi yang menjadi dasar suatu pernyataan berlaku. Elemen Condition bersifat opsional. Anda dapat membuat ekspresi bersyarat yang menggunakan operator kondisi, misalnya sama dengan atau kurang dari, untuk mencocokkan kondisi dalam kebijakan dengan nilai-nilai yang diminta.

Jika Anda menentukan beberapa elemen Condition dalam sebuah pernyataan, atau beberapa kunci dalam elemen Condition tunggal, maka AWS akan mengevaluasinya menggunakan operasi AND logis. Jika Anda menentukan beberapa nilai untuk satu kunci kondisi, AWS mengevaluasi kondisi menggunakan OR operasi logis. Semua kondisi harus dipenuhi sebelum izin pernyataan diberikan.

Anda juga dapat menggunakan variabel placeholder saat menentukan kondisi. Misalnya, Anda dapat memberikan izin IAM pengguna untuk mengakses sumber daya hanya jika ditandai dengan nama IAM pengguna mereka. Untuk informasi selengkapnya, lihat elemen IAM kebijakan: variabel dan tag di Panduan IAM Pengguna.

AWS mendukung kunci kondisi global dan kunci kondisi khusus layanan. Untuk melihat semua kunci kondisi AWS global, lihat kunci konteks kondisi AWS global di Panduan IAM Pengguna.

Selain itu, AWS WAF mendukung kunci kondisi berikut yang dapat Anda gunakan untuk menyediakan pemfilteran halus untuk kebijakan Anda: IAM

  • wafv2: LogDestinationResource

    Kunci kondisi ini mengambil spesifikasi Amazon Resource Name (ARN) untuk tujuan logging. Ini adalah ARN yang Anda berikan untuk tujuan pencatatan saat Anda menggunakan REST API panggilanPutLoggingConfiguration.

    Anda dapat secara eksplisit menentukan ARN dan Anda dapat menentukan pemfilteran untuk. ARN Contoh berikut menentukan pemfilteran untuk ARNs bucket Amazon S3 yang memiliki lokasi dan awalan tertentu.

    "Condition": { "ArnLike": { "wafv2:LogDestinationResource": "arn:aws:s3:::aws-waf-logs-suffix/custom-prefix/*" } }
  • wafv2: LogScope

    Kunci kondisi ini mendefinisikan sumber konfigurasi logging dalam string. Saat ini, ini selalu diatur ke defaultCustomer, yang menunjukkan bahwa tujuan logging dimiliki dan dikelola oleh Anda.

Untuk melihat daftar kunci AWS WAF kondisi, lihat Kunci kondisi untuk AWS WAF V2 di Referensi Otorisasi Layanan. Untuk mempelajari tindakan dan sumber daya yang dapat Anda gunakan kunci kondisi, lihat Tindakan yang ditentukan oleh AWS WAF V2.

Untuk melihat contoh kebijakan AWS WAF berbasis identitas, lihat. Contoh kebijakan berbasis identitas untuk AWS WAF

ACLsdi AWS WAF

MendukungACLs: Tidak

Access control lists (ACLs) mengontrol prinsipal mana (anggota akun, pengguna, atau peran) yang memiliki izin untuk mengakses sumber daya. ACLsmirip dengan kebijakan berbasis sumber daya, meskipun mereka tidak menggunakan format dokumen kebijakan. JSON

ABACdengan AWS WAF

Mendukung ABAC (tag dalam kebijakan): Sebagian

Attribute-based access control (ABAC) adalah strategi otorisasi yang mendefinisikan izin berdasarkan atribut. Dalam AWS, atribut ini disebut tag. Anda dapat melampirkan tag ke IAM entitas (pengguna atau peran) dan ke banyak AWS sumber daya. Menandai entitas dan sumber daya adalah langkah pertama dari. ABAC Kemudian Anda merancang ABAC kebijakan untuk mengizinkan operasi ketika tag prinsipal cocok dengan tag pada sumber daya yang mereka coba akses.

ABACmembantu dalam lingkungan yang berkembang pesat dan membantu dengan situasi di mana manajemen kebijakan menjadi rumit.

Untuk mengendalikan akses berdasarkan tag, berikan informasi tentang tag di elemen kondisi dari kebijakan menggunakan kunci kondisi aws:ResourceTag/key-name, aws:RequestTag/key-name, atau aws:TagKeys.

Jika sebuah layanan mendukung ketiga kunci kondisi untuk setiap jenis sumber daya, nilainya adalah Ya untuk layanan tersebut. Jika suatu layanan mendukung ketiga kunci kondisi untuk hanya beberapa jenis sumber daya, nilainya adalah Parsial.

Untuk informasi lebih lanjut tentangABAC, lihat Apa ituABAC? dalam IAMUser Guide. Untuk melihat tutorial dengan langkah-langkah penyiapanABAC, lihat Menggunakan kontrol akses berbasis atribut (ABAC) di IAMPanduan Pengguna.

Menggunakan kredensi sementara dengan AWS WAF

Mendukung kredensi sementara: Ya

Beberapa AWS layanan tidak berfungsi saat Anda masuk menggunakan kredensil sementara. Untuk informasi tambahan, termasuk yang AWS layanan bekerja dengan kredensil sementara, lihat AWS layanan yang berfungsi IAM di IAMPanduan Pengguna.

Anda menggunakan kredensi sementara jika Anda masuk AWS Management Console menggunakan metode apa pun kecuali nama pengguna dan kata sandi. Misalnya, ketika Anda mengakses AWS menggunakan link sign-on (SSO) tunggal perusahaan Anda, proses tersebut secara otomatis membuat kredensi sementara. Anda juga akan secara otomatis membuat kredensial sementara ketika Anda masuk ke konsol sebagai seorang pengguna lalu beralih peran. Untuk informasi selengkapnya tentang beralih peran, lihat Beralih ke peran (konsol) di Panduan IAM Pengguna.

Anda dapat secara manual membuat kredensil sementara menggunakan atau. AWS CLI AWS API Anda kemudian dapat menggunakan kredensil sementara tersebut untuk mengakses. AWS AWS merekomendasikan agar Anda secara dinamis menghasilkan kredensi sementara alih-alih menggunakan kunci akses jangka panjang. Untuk informasi selengkapnya, lihat Kredensi keamanan sementara di. IAM

Teruskan sesi akses untuk layanan AWS WAF

Mendukung sesi akses maju (FAS): Ya

Saat Anda menggunakan IAM pengguna atau peran untuk melakukan tindakan AWS, Anda dianggap sebagai prinsipal. Ketika Anda menggunakan beberapa layanan, Anda mungkin melakukan sebuah tindakan yang kemudian menginisiasi tindakan lain di layanan yang berbeda. FASmenggunakan izin dari pemanggilan utama AWS layanan, dikombinasikan dengan permintaan AWS layanan untuk membuat permintaan ke layanan hilir. FASPermintaan hanya dibuat ketika layanan menerima permintaan yang memerlukan interaksi dengan orang lain AWS layanan atau sumber daya untuk menyelesaikannya. Dalam hal ini, Anda harus memiliki izin untuk melakukan kedua tindakan tersebut. Untuk detail kebijakan saat membuat FAS permintaan, lihat Meneruskan sesi akses.

Peran layanan untuk AWS WAF

Mendukung peran layanan: Ya

Peran layanan adalah IAMperan yang diasumsikan layanan untuk melakukan tindakan atas nama Anda. IAMAdministrator dapat membuat, memodifikasi, dan menghapus peran layanan dari dalamIAM. Untuk informasi selengkapnya, lihat Membuat peran untuk mendelegasikan izin ke AWS layanan dalam IAMPanduan Pengguna.

Awas

Mengubah izin untuk peran layanan dapat merusak AWS WAF fungsionalitas. Edit peran layanan hanya jika AWS WAF memberikan panduan untuk melakukannya.

Peran terkait layanan untuk AWS WAF

Mendukung peran terkait layanan: Ya

Peran terkait layanan adalah jenis peran layanan yang ditautkan ke. AWS layanan Layanan tersebut dapat menjalankan peran untuk melakukan tindakan atas nama Anda. Peran terkait layanan muncul di Anda Akun AWS dan dimiliki oleh layanan. IAMAdministrator dapat melihat, tetapi tidak mengedit izin untuk peran terkait layanan.

Untuk detail tentang membuat atau mengelola peran AWS WAF terkait layanan, lihat. Menggunakan peran terkait layanan untuk AWS WAF