Wie AWS WAF funktioniert mit IAM - AWS WAFAWS Firewall Manager, und AWS Shield Advanced

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Wie AWS WAF funktioniert mit IAM

Bevor Sie IAM zur Verwaltung des Zugriffs auf verwenden, sollten Sie sich darüber informieren AWS WAF, mit welchen IAM-Funktionen Sie arbeiten können. AWS WAF

Einen allgemeinen Überblick darüber, wie AWS WAF und andere AWS Dienste mit den meisten IAM-Funktionen funktionieren, finden Sie im IAM-Benutzerhandbuch unter AWS Dienste, die mit IAM funktionieren.

Identitätsbasierte Richtlinien für AWS WAF

Unterstützt Richtlinien auf Identitätsbasis.

Ja

Identitätsbasierte Richtlinien sind JSON-Berechtigungsrichtliniendokumente, die Sie einer Identität anfügen können, wie z. B. IAM-Benutzern, -Benutzergruppen oder -Rollen. Diese Richtlinien steuern, welche Aktionen die Benutzer und Rollen für welche Ressourcen und unter welchen Bedingungen ausführen können. Informationen zum Erstellen identitätsbasierter Richtlinien finden Sie unter Erstellen von IAM-Richtlinien im IAM-Benutzerhandbuch.

Mit identitätsbasierten IAM-Richtlinien können Sie angeben, welche Aktionen und Ressourcen zugelassen oder abgelehnt werden. Darüber hinaus können Sie die Bedingungen festlegen, unter denen Aktionen zugelassen oder abgelehnt werden. Sie können den Prinzipal nicht in einer identitätsbasierten Richtlinie angeben, da er für den Benutzer oder die Rolle gilt, dem er zugeordnet ist. Informationen zu sämtlichen Elementen, die Sie in einer JSON-Richtlinie verwenden, finden Sie in der IAM-Referenz für JSON-Richtlinienelemente im IAM-Benutzerhandbuch.

Beispiele für AWS WAF identitätsbasierte Richtlinien finden Sie unter. Beispiele für identitätsbasierte Richtlinien für AWS WAF

Ressourcenbasierte Richtlinien finden Sie in AWS WAF

Unterstützt ressourcenbasierte Richtlinien

Ja

Ressourcenbasierte Richtlinien sind JSON-Richtliniendokumente, die Sie an eine Ressource anfügen. Beispiele für ressourcenbasierte Richtlinien sind IAM-Rollen-Vertrauensrichtlinien und Amazon-S3-Bucket-Richtlinien. In Services, die ressourcenbasierte Richtlinien unterstützen, können Service-Administratoren sie verwenden, um den Zugriff auf eine bestimmte Ressource zu steuern. Für die Ressource, an welche die Richtlinie angehängt ist, legt die Richtlinie fest, welche Aktionen ein bestimmter Prinzipal unter welchen Bedingungen für diese Ressource ausführen kann. Sie müssen in einer ressourcenbasierten Richtlinie einen Prinzipal angeben. Zu den Prinzipalen können Konten, Benutzer, Rollen, Verbundbenutzer oder gehören. AWS-Services

Um kontoübergreifenden Zugriff zu ermöglichen, können Sie ein gesamtes Konto oder IAM-Entitäten in einem anderen Konto als Prinzipal in einer ressourcenbasierten Richtlinie angeben. Durch das Hinzufügen eines kontoübergreifenden Auftraggebers zu einer ressourcenbasierten Richtlinie ist nur die halbe Vertrauensbeziehung eingerichtet. Wenn sich der Prinzipal und die Ressource unterscheiden AWS-Konten, muss ein IAM-Administrator des vertrauenswürdigen Kontos auch der Prinzipalentität (Benutzer oder Rolle) die Berechtigung zum Zugriff auf die Ressource erteilen. Sie erteilen Berechtigungen, indem Sie der juristischen Stelle eine identitätsbasierte Richtlinie anfügen. Wenn jedoch eine ressourcenbasierte Richtlinie Zugriff auf einen Prinzipal in demselben Konto gewährt, ist keine zusätzliche identitätsbasierte Richtlinie erforderlich. Weitere Informationen finden Sie unter Kontenübergreifender Ressourcenzugriff in IAM im IAM-Benutzerhandbuch.

AWS WAF verwendet ressourcenbasierte Richtlinien, um die gemeinsame Nutzung von Regelgruppen zwischen Konten zu unterstützen. Sie teilen eine Regelgruppe, die Sie besitzen, mit einem anderen AWS Konto, indem Sie die ressourcenbasierten Richtlinieneinstellungen für den AWS WAF API-Aufruf PutPermissionPolicy oder einen entsprechenden CLI- oder SDK-Aufruf bereitstellen. Weitere Informationen, einschließlich Beispielen und Links zur Dokumentation für die anderen verfügbaren Sprachen, finden Sie PutPermissionPolicyin der AWS WAF API-Referenz. Diese Funktionalität ist nicht auf andere Weise verfügbar, z. B. über die Konsole oder AWS CloudFormation.

Politische Maßnahmen für AWS WAF

Unterstützt Richtlinienaktionen

Ja

Administratoren können mithilfe von AWS JSON-Richtlinien angeben, wer Zugriff auf was hat. Das heißt, welcher Prinzipal kann Aktionen für welche Ressourcen und unter welchen Bedingungen ausführen.

Das Element Action einer JSON-Richtlinie beschreibt die Aktionen, mit denen Sie den Zugriff in einer Richtlinie zulassen oder verweigern können. Richtlinienaktionen haben normalerweise denselben Namen wie der zugehörige AWS API-Vorgang. Es gibt einige Ausnahmen, z. B. Aktionen, die nur mit Genehmigung durchgeführt werden können und für die es keinen passenden API-Vorgang gibt. Es gibt auch einige Operationen, die mehrere Aktionen in einer Richtlinie erfordern. Diese zusätzlichen Aktionen werden als abhängige Aktionen bezeichnet.

Schließen Sie Aktionen in eine Richtlinie ein, um Berechtigungen zur Durchführung der zugeordneten Operation zu erteilen.

Eine Liste der AWS WAF Aktionen und Berechtigungen für die einzelnen Aktionen finden Sie unter Von AWS WAF V2 definierte Aktionen in der Serviceautorisierungsreferenz.

Bei Richtlinienaktionen wird vor der Aktion das folgende Präfix AWS WAF verwendet:

wafv2

Um mehrere Aktionen in einer einzigen Anweisung anzugeben, trennen Sie sie mit Kommata:

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

Sie können auch Platzhalter verwenden, um mehrere Aktionen anzugeben. Um beispielsweise alle Aktionen anzugeben, die mit beginnen AWS WAF List, schließen Sie die folgende Aktion ein:

"Action": "wafv2:List*"

Beispiele für AWS WAF identitätsbasierte Richtlinien finden Sie unter. Beispiele für identitätsbasierte Richtlinien für AWS WAF

Aktionen, für die zusätzliche Berechtigungseinstellungen erforderlich sind

Für einige Aktionen sind Berechtigungen erforderlich, die in der Serviceautorisierungsreferenz unter Von AWS WAF V2 definierte Aktionen nicht vollständig beschrieben werden können. Dieser Abschnitt enthält zusätzliche Informationen zu Berechtigungen.

Berechtigungen für AssociateWebACL

In diesem Abschnitt sind die Berechtigungen aufgeführt, die erforderlich sind, um einer Ressource mithilfe der AWS WAF Aktion eine Web-ACL zuzuordnenAssociateWebACL.

Verwenden Sie für CloudFront Amazon-Verteilungen anstelle dieser Aktion die CloudFront AktionUpdateDistribution. Weitere Informationen finden Sie UpdateDistributionin der Amazon CloudFront API-Referenz.

Amazon API Gateway API-Gateway-REST-API

Erfordert die Erlaubnis, API Gateway für SetWebACL den REST-API-Ressourcentyp aufzurufen und eine Web-ACL AWS WAF AssociateWebACL aufzurufen.

{ "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/*" ] }

Application Load Balancer

Erfordert die Berechtigung, elasticloadbalancing:SetWebACL Aktionen für den Application Load Balancer Balancer-Ressourcentyp aufzurufen und eine Web-ACL AWS WAF AssociateWebACL aufzurufen.

{ "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

Erfordert die Berechtigung AWS AppSync SetWebACL zum Aufrufen des GraphQL-API-Ressourcentyps und AWS WAF AssociateWebACL zum Aufrufen einer 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/*" ] }

Amazon-Cognito-Benutzerpool

Erfordert die Erlaubnis, die Amazon Cognito AssociateWebACL Cognito-Aktion für den Ressourcentyp des Benutzerpools aufzurufen und eine Web-ACL AWS WAF AssociateWebACL aufzurufen.

{ "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 Dienst

Erfordert die Erlaubnis, die App AssociateWebACL Runner-Aktion für den App Runner-Dienstressourcentyp aufzurufen und eine Web-ACL AWS WAF AssociateWebACL aufzurufen.

{ "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 Verifizierte Access-Instanz

Erfordert die Erlaubnis, die ec2:AssociateVerifiedAccessInstanceWebAcl Aktion für den Ressourcentyp „Verified Access“ aufzurufen und eine Web-ACL AWS WAF AssociateWebACL aufzurufen.

{ "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/*" ] }

Berechtigungen für DisassociateWebACL

In diesem Abschnitt sind die Berechtigungen aufgeführt, die erforderlich sind, um eine Web-ACL mithilfe der AWS WAF Aktion DisassociateWebACL von einer Ressource zu trennen.

Verwenden Sie für CloudFront Amazon-Verteilungen anstelle dieser Aktion die CloudFront Aktion UpdateDistribution mit einer leeren Web-ACL-ID. Weitere Informationen finden Sie UpdateDistributionin der Amazon CloudFront API-Referenz.

Amazon API Gateway API-Gateway-REST-API

Erfordert die Erlaubnis, API Gateway für SetWebACL den REST-API-Ressourcentyp aufzurufen. Erfordert keine Anruferlaubnis AWS WAF DisassociateWebACL.

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

Application Load Balancer

Erfordert die Erlaubnis, die elasticloadbalancing:SetWebACL Aktion für den Application Load Balancer Balancer-Ressourcentyp aufzurufen. Erfordert keine AWS WAF DisassociateWebACL Anruferlaubnis.

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

AWS AppSync GraphQL-API

Erfordert die Erlaubnis, AWS AppSync SetWebACL den GraphQL-API-Ressourcentyp aufzurufen. Erfordert keine Erlaubnis zum Aufrufen. AWS WAF DisassociateWebACL

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

Amazon-Cognito-Benutzerpool

Erfordert die Erlaubnis, die Amazon Cognito DisassociateWebACL Cognito-Aktion für den Ressourcentyp des Benutzerpools aufzurufen und aufzurufen 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 Dienst

Erfordert die Erlaubnis, die App DisassociateWebACL Runner-Aktion für den App Runner-Dienstressourcentyp aufzurufen und aufzurufen 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 Verifizierte Access-Instanz

Erfordert die Erlaubnis, die ec2:DisassociateVerifiedAccessInstanceWebAcl Aktion für den Ressourcentyp „Verified Access“ aufzurufen und aufzurufen 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/*" ] }

Berechtigungen für GetWebACLForResource

In diesem Abschnitt sind die Berechtigungen aufgeführt, die erforderlich sind, um mithilfe der AWS WAF Aktion die Web-ACL für eine geschützte Ressource abzurufenGetWebACLForResource.

Verwenden Sie für CloudFront Amazon-Verteilungen anstelle dieser Aktion die CloudFront AktionGetDistributionConfig. Weitere Informationen finden Sie GetDistributionConfigin der Amazon CloudFront API-Referenz.

Anmerkung

GetWebACLForResourcebenötigt die Erlaubnis zum AufrufenGetWebACL. Wird in diesem Zusammenhang GetWebACL nur AWS WAF verwendet, um zu überprüfen, ob Ihr Konto über die erforderliche Berechtigung für den Zugriff auf die GetWebACLForResource zurückgesendete Web-ACL verfügt. Wenn Sie anrufenGetWebACLForResource, wird möglicherweise eine Fehlermeldung angezeigt, die darauf hinweist, dass Ihr Konto nicht autorisiert ist, wafv2:GetWebACL auf der Ressource zu arbeiten. AWS WAF fügt diese Art von Fehler nicht zum AWS CloudTrail Ereignisverlauf hinzu.

Amazon API Gateway, REST-API, Application Load Balancer und AWS AppSync GraphQL-API

Erfordert die Erlaubnis zum Aufrufen AWS WAF GetWebACLForResource und GetWebACL für eine Web-ACL.

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

Amazon-Cognito-Benutzerpool

Erfordert die Erlaubnis, die Amazon Cognito GetWebACLForResource Cognito-Aktion für den Ressourcentyp des Benutzerpools aufzurufen und und aufzurufen AWS WAF GetWebACLForResource. 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 Dienst

Erfordert die Erlaubnis, die App DescribeWebAclForService Runner-Aktion für den App Runner-Dienstressourcentyp aufzurufen und AWS WAF GetWebACLForResource und aufzurufenGetWebACL.

{ "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 Verifizierte Access-Instanz

Erfordert die Erlaubnis, die ec2:GetVerifiedAccessInstanceWebAcl Aktion für den Ressourcentyp „Verified Access“ aufzurufen und AWS WAF GetWebACLForResource und aufzurufenGetWebACL.

{ "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/*" ] }

Berechtigungen für ListResourcesForWebACL

In diesem Abschnitt sind die Berechtigungen aufgeführt, die erforderlich sind, um die Liste der geschützten Ressourcen für eine Web-ACL mithilfe der AWS WAF Aktion abzurufenListResourcesForWebACL.

Verwenden Sie für CloudFront Amazon-Verteilungen anstelle dieser Aktion die CloudFront AktionListDistributionsByWebACLId. Weitere Informationen finden Sie unter ListDistributionsByWebAclID in der Amazon CloudFront API-Referenz.

Amazon API Gateway, REST-API, Application Load Balancer und AWS AppSync GraphQL-API

Erfordern Sie die Erlaubnis, eine AWS WAF ListResourcesForWebACL Web-ACL aufzurufen.

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

Amazon-Cognito-Benutzerpool

Erfordert die Erlaubnis, die Amazon Cognito ListResourcesForWebACL Cognito-Aktion für den Ressourcentyp des Benutzerpools aufzurufen und aufzurufen 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 Dienst

Erfordert die Erlaubnis, die App ListAssociatedServicesForWebAcl Runner-Aktion für den App Runner-Dienstressourcentyp aufzurufen und aufzurufen 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 Verifizierte Access-Instanz

Erfordert die Erlaubnis, die ec2:DescribeVerifiedAccessInstanceWebAclAssociations Aktion für den Ressourcentyp „Verified Access“ aufzurufen und aufzurufen 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/*" ] }

Politische Ressourcen für AWS WAF

Unterstützt Richtlinienressourcen

Ja

Administratoren können mithilfe von AWS JSON-Richtlinien angeben, wer Zugriff auf was hat. Das bedeutet die Festlegung, welcher Prinzipal Aktionen für welche Ressourcen unter welchen Bedingungen ausführen kann.

Das JSON-Richtlinienelement Resource gibt die Objekte an, auf welche die Aktion angewendet wird. Anweisungen müssen entweder ein – Resourceoder ein NotResource-Element enthalten. Als bewährte Methode geben Sie eine Ressource mit dem zugehörigen Amazon-Ressourcennamen (ARN) an. Sie können dies für Aktionen tun, die einen bestimmten Ressourcentyp unterstützen, der als Berechtigungen auf Ressourcenebene bezeichnet wird.

Verwenden Sie für Aktionen, die keine Berechtigungen auf Ressourcenebene unterstützen, z. B. Auflistungsoperationen, einen Platzhalter (*), um anzugeben, dass die Anweisung für alle Ressourcen gilt.

"Resource": "*"

Eine Liste der AWS WAF Ressourcentypen und ihrer ARNs finden Sie unter Von AWS WAF V2 definierte Ressourcen in der Service Authorization Reference. Informationen zu den Aktionen, mit denen Sie den ARN jeder Ressource angeben können, finden Sie unter Von AWS WAF V2 definierte Aktionen. Um den Zugriff auf eine Teilmenge von AWS WAF Ressourcen zu erlauben oder zu verweigern, nehmen Sie den ARN der Ressource in das resource Element Ihrer Richtlinie auf.

Die ARNs von AWS WAF wafv2 Ressourcen haben das folgende Format:

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

Allgemeine Informationen zu ARN-Spezifikationen finden Sie unter Amazon Resource Names (ARNs) in der Allgemeine Amazon Web Services-Referenz.

Im Folgenden sind die spezifischen Anforderungen für die ARNs von wafv2 Ressourcen aufgeführt:

  • Region: Für AWS WAF Ressourcen, die Sie zum Schutz von CloudFront Amazon-Distributionen verwenden, setzen Sie diesen Wert aufus-east-1. Andernfalls legen Sie hier die Region fest, die Sie mit Ihren geschützten regionalen Ressourcen verwenden.

  • Umfang: Legen Sie den Geltungsbereich auf global für die Verwendung mit einer CloudFront Amazon-Distribution oder regional für die Verwendung mit einer der regionalen Ressourcen fest, die dies AWS WAF unterstützen. Bei den regionalen Ressourcen handelt es sich um eine Amazon API Gateway Gateway-REST-API, einen Application Load Balancer, eine AWS AppSync GraphQL-API, einen Amazon Cognito Cognito-Benutzerpool, einen AWS App Runner Service und eine AWS Verified Access-Instance.

  • Ressourcentyp: Geben Sie einen der folgenden Werte an:webacl,,, rulegroup oder. ipset regexpatternset managedruleset

  • Ressourcenname: Geben Sie den Namen an, den Sie der AWS WAF Ressource gegeben haben, oder geben Sie einen Platzhalter (*) an, um alle Ressourcen anzugeben, die die anderen Spezifikationen im ARN erfüllen. Sie müssen entweder den Ressourcennamen und die Ressourcen-ID oder einen Platzhalter für beide angeben.

  • resource-id: Geben Sie die ID der AWS WAF Ressource an, oder geben Sie einen Platzhalter (*) an, um alle Ressourcen anzugeben, die die anderen Spezifikationen im ARN erfüllen. Sie müssen entweder den Ressourcennamen und die Ressourcen-ID oder für beide einen Platzhalter angeben.

Der folgende ARN gibt zum Beispiel alle Web-ACLs mit regionalem Geltungsbereich für das Konto 111122223333 in Region us-west-1 an:

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

Der folgende ARN gibt die Regelgruppe MyIPManagementRuleGroup mit dem globalen Geltungsbereich für das Konto 111122223333 in Region anus-east-1:

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

Beispiele für AWS WAF identitätsbasierte Richtlinien finden Sie unter. Beispiele für identitätsbasierte Richtlinien für AWS WAF

Bedingungsschlüssel für Richtlinien für AWS WAF

Unterstützt servicespezifische Richtlinienbedingungsschlüssel

Ja

Administratoren können mithilfe von AWS JSON-Richtlinien angeben, wer auf was Zugriff hat. Das heißt, welcher Prinzipal kann Aktionen für welche Ressourcen und unter welchen Bedingungen ausführen.

Das Element Condition (oder Condition block) ermöglicht Ihnen die Angabe der Bedingungen, unter denen eine Anweisung wirksam ist. Das Element Condition ist optional. Sie können bedingte Ausdrücke erstellen, die Bedingungsoperatoren verwenden, z. B. ist gleich oder kleiner als, damit die Bedingung in der Richtlinie mit Werten in der Anforderung übereinstimmt.

Wenn Sie mehrere Condition-Elemente in einer Anweisung oder mehrere Schlüssel in einem einzelnen Condition-Element angeben, wertet AWS diese mittels einer logischen AND-Operation aus. Wenn Sie mehrere Werte für einen einzelnen Bedingungsschlüssel angeben, AWS wertet die Bedingung mithilfe einer logischen OR Operation aus. Alle Bedingungen müssen erfüllt werden, bevor die Berechtigungen der Anweisung gewährt werden.

Sie können auch Platzhaltervariablen verwenden, wenn Sie Bedingungen angeben. Beispielsweise können Sie einem IAM-Benutzer die Berechtigung für den Zugriff auf eine Ressource nur dann gewähren, wenn sie mit dessen IAM-Benutzernamen gekennzeichnet ist. Weitere Informationen finden Sie unter IAM-Richtlinienelemente: Variablen und Tags im IAM-Benutzerhandbuch.

AWS unterstützt globale Bedingungsschlüssel und dienstspezifische Bedingungsschlüssel. Eine Übersicht aller AWS globalen Bedingungsschlüssel finden Sie unter Kontextschlüssel für AWS globale Bedingungen im IAM-Benutzerhandbuch.

AWS WAF Unterstützt außerdem die folgenden Bedingungsschlüssel, mit denen Sie Ihre IAM-Richtlinien detailliert filtern können:

  • wafv2: LogDestinationResource

    Dieser Bedingungsschlüssel verwendet eine Amazon Resource Name (ARN) -Spezifikation für das Protokollierungsziel. Dies ist der ARN, den Sie für das Protokollierungsziel angeben, wenn Sie den REST-API-Aufruf verwendenPutLoggingConfiguration.

    Sie können explizit einen ARN angeben und Sie können die Filterung für den ARN angeben. Das folgende Beispiel spezifiziert die Filterung nach Amazon S3 S3-Bucket-ARNs, die einen bestimmten Standort und ein bestimmtes Präfix haben.

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

    Dieser Bedingungsschlüssel definiert die Quelle der Protokollierungskonfiguration in einer Zeichenfolge. Derzeit ist dies immer auf den Standardwert von gesetztCustomer, was darauf hinweist, dass das Protokollierungsziel Ihnen gehört und von Ihnen verwaltet wird.

Eine Liste der AWS WAF Bedingungsschlüssel finden Sie unter Bedingungsschlüssel für AWS WAF V2 in der Service Authorization Reference. Informationen zu den Aktionen und Ressourcen, mit denen Sie einen Bedingungsschlüssel verwenden können, finden Sie unter Von AWS WAF V2 definierte Aktionen.

Beispiele für AWS WAF identitätsbasierte Richtlinien finden Sie unter. Beispiele für identitätsbasierte Richtlinien für AWS WAF

ACLs in AWS WAF

Unterstützt ACLs

Nein

Zugriffssteuerungslisten (ACLs) steuern, welche Prinzipale (Kontomitglieder, Benutzer oder Rollen) auf eine Ressource zugreifen können. ACLs sind ähnlich wie ressourcenbasierte Richtlinien, verwenden jedoch nicht das JSON-Richtliniendokumentformat.

ABAC mit AWS WAF

Unterstützt ABAC (Tags in Richtlinien)

Teilweise

Die attributbasierte Zugriffskontrolle (ABAC) ist eine Autorisierungsstrategie, bei der Berechtigungen basierend auf Attributen definiert werden. In AWS werden diese Attribute als Tags bezeichnet. Sie können Tags an IAM-Entitäten (Benutzer oder Rollen) und an viele AWS Ressourcen anhängen. Das Markieren von Entitäten und Ressourcen ist der erste Schritt von ABAC. Anschließend entwerfen Sie ABAC-Richtlinien, um Operationen zuzulassen, wenn das Tag des Prinzipals mit dem Tag der Ressource übereinstimmt, auf die sie zugreifen möchten.

ABAC ist in Umgebungen hilfreich, die schnell wachsen, und unterstützt Sie in Situationen, in denen die Richtlinienverwaltung mühsam wird.

Um den Zugriff auf der Grundlage von Tags zu steuern, geben Sie im Bedingungselement einer Richtlinie Tag-Informationen an, indem Sie die Schlüssel aws:ResourceTag/key-name, aws:RequestTag/key-name, oder Bedingung aws:TagKeys verwenden.

Wenn ein Service alle drei Bedingungsschlüssel für jeden Ressourcentyp unterstützt, lautet der Wert für den Service Ja. Wenn ein Service alle drei Bedingungsschlüssel für nur einige Ressourcentypen unterstützt, lautet der Wert Teilweise.

Weitere Informationen zu ABAC finden Sie unter Was ist ABAC? im IAM-Benutzerhandbuch. Um ein Tutorial mit Schritten zur Einstellung von ABAC anzuzeigen, siehe Attributbasierte Zugriffskontrolle (ABAC) verwenden im IAM-Benutzerhandbuch.

Verwenden temporärer Anmeldeinformationen mit AWS WAF

Unterstützt temporäre Anmeldeinformationen

Ja

Einige funktionieren AWS-Services nicht, wenn Sie sich mit temporären Anmeldeinformationen anmelden. Weitere Informationen, einschließlich Informationen, die mit temporären Anmeldeinformationen AWS-Services funktionieren AWS-Services , finden Sie im IAM-Benutzerhandbuch unter Diese Option funktioniert mit IAM.

Sie verwenden temporäre Anmeldeinformationen, wenn Sie sich mit einer anderen AWS Management Console Methode als einem Benutzernamen und einem Passwort anmelden. Wenn Sie beispielsweise AWS über den Single Sign-On-Link (SSO) Ihres Unternehmens darauf zugreifen, werden bei diesem Vorgang automatisch temporäre Anmeldeinformationen erstellt. Sie erstellen auch automatisch temporäre Anmeldeinformationen, wenn Sie sich als Benutzer bei der Konsole anmelden und dann die Rollen wechseln. Weitere Informationen zum Wechseln von Rollen finden Sie unter Wechseln zu einer Rolle (Konsole) im IAM-Benutzerhandbuch.

Mithilfe der AWS API AWS CLI oder können Sie temporäre Anmeldeinformationen manuell erstellen. Sie können diese temporären Anmeldeinformationen dann für den Zugriff verwenden AWS. AWS empfiehlt, temporäre Anmeldeinformationen dynamisch zu generieren, anstatt langfristige Zugriffsschlüssel zu verwenden. Weitere Informationen finden Sie unter Temporäre Sicherheitsanmeldeinformationen in IAM.

Zugriffssitzungen für den Service weiterleiten AWS WAF

Unterstützt Forward Access Sessions (FAS)

Ja

Wenn Sie einen IAM-Benutzer oder eine IAM-Rolle verwenden, um Aktionen auszuführen AWS, gelten Sie als Principal. Bei einigen Services könnte es Aktionen geben, die dann eine andere Aktion in einem anderen Service initiieren. FAS verwendet die Berechtigungen des Prinzipals, der einen aufruft AWS-Service, kombiniert mit der Anforderung, Anfragen an nachgelagerte Dienste AWS-Service zu stellen. FAS-Anfragen werden nur gestellt, wenn ein Dienst eine Anfrage erhält, für deren Abschluss Interaktionen mit anderen AWS-Services oder Ressourcen erforderlich sind. In diesem Fall müssen Sie über Berechtigungen zum Ausführen beider Aktionen verfügen. Einzelheiten zu den Richtlinien für FAS-Anfragen finden Sie unter Zugriffssitzungen weiterleiten.

Servicerollen für AWS WAF

Unterstützt Servicerollen

Ja

Eine Servicerolle ist eine IAM-Rolle, die ein Service annimmt, um Aktionen in Ihrem Namen auszuführen. Ein IAM-Administrator kann eine Servicerolle innerhalb von IAM erstellen, ändern und löschen. Weitere Informationen finden Sie unter Erstellen einer Rolle zum Delegieren von Berechtigungen an einen AWS-Service im IAM-Benutzerhandbuch.

Warnung

Durch das Ändern der Berechtigungen für eine Servicerolle kann die AWS WAF Funktionalität beeinträchtigt werden. Bearbeiten Sie Servicerollen nur, AWS WAF wenn Sie dazu eine Anleitung erhalten.

Dienstbezogene Rollen für AWS WAF

Unterstützt serviceverknüpfte Rollen

Ja

Eine dienstbezogene Rolle ist eine Art von Servicerolle, die mit einer verknüpft ist. AWS-Service Der Service kann die Rolle übernehmen, um eine Aktion in Ihrem Namen auszuführen. Dienstbezogene Rollen werden in Ihrem Dienst angezeigt AWS-Konto und gehören dem Dienst. Ein IAM-Administrator kann die Berechtigungen für Service-verknüpfte Rollen anzeigen, aber nicht bearbeiten.

Einzelheiten zum Erstellen oder Verwalten von AWS WAF dienstbezogenen Rollen finden Sie unter. Verwenden von serviceverknüpften Rollen für AWS WAF