Comment AWS WAF fonctionne avec IAM - AWS WAF, AWS Firewall Manager, et AWS Shield Advanced

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Comment AWS WAF fonctionne avec IAM

Avant d'utiliser IAM pour gérer l'accès à AWS WAF, découvrez les fonctionnalités IAM disponibles. AWS WAF

Pour obtenir une vue d'ensemble de la façon dont AWS WAF les autres AWS services fonctionnent avec la plupart des fonctionnalités IAM, consultez la section AWS Services compatibles avec IAM dans le Guide de l'utilisateur IAM.

Politiques basées sur l'identité pour AWS WAF

Prend en charge les politiques basées sur l’identité

Oui

Les politiques basées sur l’identité sont des documents de politique d’autorisations JSON que vous pouvez attacher à une identité telle qu’un utilisateur, un Groupes d’utilisateurs IAM ou un rôle IAM. Ces politiques contrôlent quel type d’actions des utilisateurs et des rôles peuvent exécuter, sur quelles ressources et dans quelles conditions. Pour découvrir comment créer une politique basée sur l’identité, veuillez consulter Création de politiques IAM dans le Guide de l’utilisateur IAM.

Avec les politiques IAM basées sur l’identité, vous pouvez spécifier des actions et ressources autorisées ou refusées, ainsi que les conditions dans lesquelles les actions sont autorisées ou refusées. Vous ne pouvez pas spécifier le principal dans une politique basée sur une identité car celle-ci s’applique à l’utilisateur ou au rôle auquel elle est attachée. Pour découvrir tous les éléments que vous utilisez dans une politique JSON, consultez Références des éléments de politique JSON IAM dans le Guide de l’utilisateur IAM.

Pour consulter des exemples de politiques AWS WAF basées sur l'identité, consultez. Exemples de politiques basées sur l’identité pour AWS WAF

Politiques basées sur les ressources au sein de AWS WAF

Prend en charge les politiques basées sur les ressources

Oui

Les politiques basées sur les ressources sont des documents de politique JSON que vous attachez à une ressource. Des politiques basées sur les ressources sont, par exemple, les politiques de confiance de rôle IAM et des politiques de compartiment Amazon S3. Dans les services qui sont compatibles avec les politiques basées sur les ressources, les administrateurs de service peuvent les utiliser pour contrôler l’accès à une ressource spécifique. Pour la ressource dans laquelle se trouve la politique, cette dernière définit quel type d’actions un principal spécifié peut effectuer sur cette ressource et dans quelles conditions. Vous devez spécifier un principal dans une politique basée sur les ressources. Les principaux peuvent inclure des comptes, des utilisateurs, des rôles, des utilisateurs fédérés ou. Services AWS

Pour permettre un accès intercompte, vous pouvez spécifier un compte entier ou des entités IAM dans un autre compte en tant que principal dans une politique basée sur les ressources. L’ajout d’un principal entre comptes à une politique basée sur les ressources ne représente qu’une partie de l’instauration de la relation d’approbation. Lorsque le principal et la ressource sont différents Comptes AWS, un administrateur IAM du compte sécurisé doit également accorder à l'entité principale (utilisateur ou rôle) l'autorisation d'accéder à la ressource. Pour ce faire, il attache une politique basée sur une identité à l’entité. Toutefois, si une politique basée sur des ressources accorde l’accès à un principal dans le même compte, aucune autre politique basée sur l’identité n’est requise. Pour plus d’informations, consultez Différence entre les rôles IAM et les politiques basées sur une ressource dans le Guide de l’utilisateur IAM.

AWS WAF utilise des politiques basées sur les ressources pour favoriser le partage de groupes de règles entre les comptes. Vous partagez un groupe de règles que vous possédez avec un autre AWS compte en fournissant les paramètres de politique basés sur les ressources à l'appel d' AWS WAF API PutPermissionPolicy ou à un appel de CLI ou de SDK équivalent. Pour plus d'informations, notamment des exemples et des liens vers la documentation des autres langues disponibles, consultez PutPermissionPolicyla référence de l' AWS WAF API. Cette fonctionnalité n'est pas disponible par d'autres moyens, tels que la console ou AWS CloudFormation.

Actions politiques pour AWS WAF

Prend en charge les actions de politique

Oui

Les administrateurs peuvent utiliser les politiques AWS JSON pour spécifier qui a accès à quoi. C’est-à-dire, quel principal peut effectuer des actions sur quelles ressources et dans quelles conditions.

L’élément Action d’une politique JSON décrit les actions que vous pouvez utiliser pour autoriser ou refuser l’accès à une politique. Les actions de stratégie portent généralement le même nom que l'opération AWS d'API associée. Il existe quelques exceptions, telles que les actions avec autorisations uniquement qui n’ont pas d’opération API correspondante. Certaines opérations nécessitent également plusieurs actions dans une politique. Ces actions supplémentaires sont nommées actions dépendantes.

Intégration d’actions dans une stratégie afin d’accorder l’autorisation d’exécuter les opérations associées.

Pour consulter la liste des AWS WAF actions et des autorisations associées à chacune d'elles, reportez-vous à la section Actions définies par la AWS WAF V2 dans la référence d'autorisation de service.

Les actions de politique en AWS WAF cours utilisent le préfixe suivant avant l'action :

wafv2

Pour indiquer plusieurs actions dans une seule déclaration, séparez-les par des virgules.

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

Vous pouvez aussi spécifier plusieurs actions à l’aide de caractères génériques (*). Par exemple, pour spécifier toutes AWS WAF les actions commençant parList, incluez l'action suivante :

"Action": "wafv2:List*"

Pour consulter des exemples de politiques AWS WAF basées sur l'identité, consultez. Exemples de politiques basées sur l’identité pour AWS WAF

Actions nécessitant des paramètres d'autorisation supplémentaires

Certaines actions nécessitent des autorisations qui ne peuvent pas être complètement décrites dans la section Actions définies par la AWS WAF version 2 dans la référence d'autorisation de service. Cette section fournit des informations supplémentaires sur les autorisations.

Autorisations pour AssociateWebACL

Cette section répertorie les autorisations requises pour associer une ACL Web à une ressource à l'aide de l' AWS WAF actionAssociateWebACL.

Pour les CloudFront distributions Amazon, utilisez l'action au lieu de cette CloudFront actionUpdateDistribution. Pour plus d'informations, consultez UpdateDistributionle manuel Amazon CloudFront API Reference.

API REST Amazon API Gateway

Nécessite l'autorisation d'appeler API Gateway SetWebACL sur le type de ressource d'API REST et pour appeler AWS WAF AssociateWebACL une ACL Web.

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

Nécessite l'autorisation elasticloadbalancing:SetWebACL d'appeler une action sur le type de ressource Application Load Balancer et d'appeler une AWS WAF AssociateWebACL ACL Web.

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

Nécessite l'autorisation d'appeler AWS AppSync SetWebACL le type de ressource d'API GraphQL et d'appeler une AWS WAF AssociateWebACL ACL Web.

{ "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/*" ] }
Groupe d'utilisateurs Amazon Cognito

Nécessite une autorisation pour appeler l'AssociateWebACLaction Amazon Cognito sur le type de ressource du groupe d'utilisateurs et pour appeler une AWS WAF AssociateWebACL ACL Web.

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

Nécessite une autorisation pour appeler l'AssociateWebACLaction App Runner sur le type de ressource de service App Runner et pour appeler AWS WAF AssociateWebACL une ACL Web.

{ "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 Instance d'accès vérifié

Nécessite une autorisation pour appeler l'ec2:AssociateVerifiedAccessInstanceWebAclaction sur le type de ressource d'instance Verified Access et pour appeler AWS WAF AssociateWebACL une ACL Web.

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

Autorisations pour DisassociateWebACL

Cette section répertorie les autorisations requises pour dissocier une ACL Web d'une ressource à l'aide de l' AWS WAF actionDisassociateWebACL.

Pour les CloudFront distributions Amazon, au lieu de cette action, utilisez l' CloudFront action UpdateDistribution avec un ID ACL Web vide. Pour plus d'informations, consultez UpdateDistributionle manuel Amazon CloudFront API Reference.

API REST Amazon API Gateway

Nécessite l'autorisation d'appeler API Gateway SetWebACL sur le type de ressource d'API REST. Aucune autorisation n'est requise pour appeler AWS WAF DisassociateWebACL.

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

Nécessite l'autorisation d'appeler l'elasticloadbalancing:SetWebACLaction sur le type de ressource Application Load Balancer. Aucune autorisation n'est requise pour appeler AWS WAF DisassociateWebACL.

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

Nécessite l'autorisation d'appeler AWS AppSync SetWebACL le type de ressource de l'API GraphQL. Aucune autorisation n'est requise pour appeler AWS WAF DisassociateWebACL.

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

Nécessite l'autorisation d'appeler l'DisassociateWebACLaction Amazon Cognito sur le type de ressource du groupe d'utilisateurs et d'appeler. 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 service

Nécessite une autorisation pour appeler l'DisassociateWebACLaction App Runner sur le type de ressource de service App Runner et pour appeler 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 Instance d'accès vérifié

Nécessite une autorisation pour appeler l'ec2:DisassociateVerifiedAccessInstanceWebAclaction sur le type de ressource d'instance Verified Access et pour appeler 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/*" ] }

Autorisations pour GetWebACLForResource

Cette section répertorie les autorisations requises pour obtenir l'ACL Web pour une ressource protégée à l'aide de l' AWS WAF actionGetWebACLForResource.

Pour les CloudFront distributions Amazon, utilisez l'action au lieu de cette CloudFront actionGetDistributionConfig. Pour plus d'informations, consultez GetDistributionConfigle manuel Amazon CloudFront API Reference.

Note

GetWebACLForResourcenécessite l'autorisation d'appelerGetWebACL. Dans ce contexte, il GetWebACL est AWS WAF utilisé uniquement pour vérifier que votre compte dispose de l'autorisation nécessaire pour accéder à l'ACL Web qui GetWebACLForResource renvoie. Lorsque vous appelezGetWebACLForResource, un message d'erreur peut s'afficher indiquant que votre compte n'est pas autorisé à effectuer des opérations wafv2:GetWebACL sur la ressource. AWS WAF n'ajoute pas ce type d'erreur à l'historique des AWS CloudTrail événements.

API REST Amazon API Gateway, Application Load Balancer et API GraphQL AWS AppSync

Nécessite une autorisation pour appeler AWS WAF GetWebACLForResource et GetWebACL pour une ACL Web.

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

Nécessite l'autorisation d'appeler l'GetWebACLForResourceaction Amazon Cognito sur le type de ressource du groupe d'utilisateurs et d'appeler AWS WAF GetWebACLForResource et. 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 service

Nécessite une autorisation pour appeler l'DescribeWebAclForServiceaction App Runner sur le type de ressource de service App Runner et pour appeler AWS WAF GetWebACLForResource etGetWebACL.

{ "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 Instance d'accès vérifié

Nécessite l'autorisation d'appeler l'ec2:GetVerifiedAccessInstanceWebAclaction sur le type de ressource d'instance Verified Access et d'appeler AWS WAF GetWebACLForResource etGetWebACL.

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

Autorisations pour ListResourcesForWebACL

Cette section répertorie les autorisations requises pour récupérer la liste des ressources protégées pour une ACL Web à l'aide de l' AWS WAF actionListResourcesForWebACL.

Pour les CloudFront distributions Amazon, utilisez l'action au lieu de cette CloudFront actionListDistributionsByWebACLId. Pour plus d'informations, consultez ListDistributionsByWebAClid dans le manuel Amazon CloudFront API Reference.

API REST Amazon API Gateway, Application Load Balancer et API GraphQL AWS AppSync

Nécessite une autorisation AWS WAF ListResourcesForWebACL pour appeler une ACL Web.

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

Nécessite l'autorisation d'appeler l'ListResourcesForWebACLaction Amazon Cognito sur le type de ressource du groupe d'utilisateurs et d'appeler. 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 service

Nécessite une autorisation pour appeler l'ListAssociatedServicesForWebAclaction App Runner sur le type de ressource de service App Runner et pour appeler 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 Instance d'accès vérifié

Nécessite une autorisation pour appeler l'ec2:DescribeVerifiedAccessInstanceWebAclAssociationsaction sur le type de ressource d'instance Verified Access et pour appeler 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/*" ] }

Ressources politiques pour AWS WAF

Prend en charge les ressources de politique

Oui

Les administrateurs peuvent utiliser les politiques AWS JSON pour spécifier qui a accès à quoi. C’est-à-dire, quel principal peut effectuer des actions sur quelles ressources et dans quelles conditions.

L’élément de politique JSON Resource indique le ou les objets pour lesquels l’action s’applique. Les instructions doivent inclure un élément Resource ou NotResource. Il est recommandé de définir une ressource à l’aide de son Amazon Resource Name (ARN). Vous pouvez le faire pour des actions qui prennent en charge un type de ressource spécifique, connu sous la dénomination autorisations de niveau ressource.

Pour les actions qui ne sont pas compatibles avec les autorisations de niveau ressource, telles que les opérations de liste, utilisez un caractère générique (*) afin d’indiquer que l’instruction s’applique à toutes les ressources.

"Resource": "*"

Pour consulter la liste des types de AWS WAF ressources et leurs ARN, consultez la section Ressources définies par la AWS WAF V2 dans la référence d'autorisation de service. Pour savoir avec quelles actions vous pouvez spécifier l'ARN de chaque ressource, voir Actions définies par la AWS WAF version 2. Pour autoriser ou refuser l'accès à un sous-ensemble de AWS WAF ressources, incluez l'ARN de la ressource dans l'resourceélément de votre politique.

Les ARN des AWS WAF wafv2 ressources ont le format suivant :

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

Pour obtenir des informations générales sur les spécifications des ARN, consultez Amazon Resource Names (ARN) dans le Référence générale d'Amazon Web Services.

La liste suivante répertorie les exigences spécifiques aux ARN des wafv2 ressources :

  • région : pour les AWS WAF ressources que vous utilisez pour protéger les CloudFront distributions Amazon, définissez cette option surus-east-1. Sinon, définissez ce paramètre sur la région que vous utilisez avec vos ressources régionales protégées.

  • portée : définissez le champ d'application global pour une utilisation avec une CloudFront distribution Amazon ou regional pour une utilisation avec l'une des ressources régionales prises AWS WAF en charge. Les ressources régionales sont une API REST Amazon API Gateway, un Application Load Balancer, une API AWS AppSync GraphQL, un groupe d'utilisateurs Amazon Cognito, un AWS App Runner service et une instance Verified Access. AWS

  • type de ressource : Spécifiez l'une des valeurs suivantes :webacl,, rulegroup ipsetregexpatternset, ou. managedruleset

  • resource-name : Spécifiez le nom que vous avez donné à la AWS WAF ressource ou spécifiez un caractère générique (*) pour indiquer toutes les ressources qui répondent aux autres spécifications de l'ARN. Vous devez soit spécifier le nom et l'ID de la ressource, soit spécifier un caractère générique pour les deux.

  • resource-id : Spécifiez l'ID de la AWS WAF ressource ou spécifiez un caractère générique (*) pour indiquer toutes les ressources qui répondent aux autres spécifications de l'ARN. Vous devez soit spécifier le nom et l'ID de la ressource, soit spécifier un caractère générique pour les deux.

Par exemple, l'ARN suivante spécifie toutes les listes ACL web avec une portée régionale pour le compte 111122223333 dans la région us-west-1 :

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

L'ARN suivant spécifie le groupe de règles nommé MyIPManagementRuleGroup avec une portée globale pour le compte 111122223333 dans Region us-east-1 :

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

Pour consulter des exemples de politiques AWS WAF basées sur l'identité, consultez. Exemples de politiques basées sur l’identité pour AWS WAF

Clés de conditions de politique pour AWS WAF

Prend en charge les clés de condition de politique spécifiques au service

Oui

Les administrateurs peuvent utiliser les politiques AWS JSON pour spécifier qui a accès à quoi. C’est-à-dire, quel principal peut effectuer des actions sur quelles ressources et dans quelles conditions.

L’élément Condition (ou le bloc Condition) vous permet de spécifier des conditions lorsqu’une instruction est appliquée. L’élément Condition est facultatif. Vous pouvez créer des expressions conditionnelles qui utilisent des opérateurs de condition, tels que les signes égal ou inférieur à, pour faire correspondre la condition de la politique aux valeurs de la demande.

Si vous spécifiez plusieurs éléments Condition dans une instruction, ou plusieurs clés dans un seul élément Condition, AWS les évalue à l’aide d’une opération AND logique. Si vous spécifiez plusieurs valeurs pour une seule clé de condition, AWS évalue la condition à l'aide d'une OR opération logique. Toutes les conditions doivent être remplies avant que les autorisations associées à l’instruction ne soient accordées.

Vous pouvez aussi utiliser des variables d’espace réservé quand vous spécifiez des conditions. Par exemple, vous pouvez accorder à un utilisateur IAM l’autorisation d’accéder à une ressource uniquement si elle est balisée avec son nom d’utilisateur IAM. Pour plus d’informations, consultez Éléments d’une politique IAM : variables et identifications dans le Guide de l’utilisateur IAM.

AWS prend en charge les clés de condition globales et les clés de condition spécifiques au service. Pour voir toutes les clés de condition AWS globales, voir les clés de contexte de condition AWS globales dans le guide de l'utilisateur IAM.

En outre, AWS WAF prend en charge les clés de condition suivantes que vous pouvez utiliser pour filtrer avec précision vos politiques IAM :

  • wafv2 : LogDestinationResource

    Cette clé de condition utilise une spécification Amazon Resource Name (ARN) pour la destination de journalisation. Il s'agit de l'ARN que vous fournissez pour la destination de journalisation lorsque vous utilisez l'appel d'API RESTPutLoggingConfiguration.

    Vous pouvez spécifier un ARN de manière explicite et vous pouvez spécifier le filtrage de l'ARN. L'exemple suivant indique comment filtrer les ARN des compartiments Amazon S3 dotés d'un emplacement et d'un préfixe spécifiques.

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

    Cette clé de condition définit la source de la configuration de journalisation dans une chaîne. Actuellement, ce paramètre est toujours défini sur la valeur par défaut deCustomer, ce qui indique que vous détenez et gérez la destination de journalisation.

Pour voir la liste des clés de AWS WAF condition, voir Clés de condition pour la AWS WAF V2 dans la référence d'autorisation de service. Pour savoir avec quelles actions et ressources vous pouvez utiliser une clé de condition, voir Actions définies par la AWS WAF version 2.

Pour consulter des exemples de politiques AWS WAF basées sur l'identité, consultez. Exemples de politiques basées sur l’identité pour AWS WAF

ACL dans AWS WAF

Prend en charge les listes ACL

Non

Les listes de contrôle d’accès (ACL) vérifient quels principaux (membres de compte, utilisateurs ou rôles) ont l’autorisation d’accéder à une ressource. Les listes de contrôle d’accès sont similaires aux politiques basées sur les ressources, bien qu’elles n’utilisent pas le format de document de politique JSON.

ABAC avec AWS WAF

Prise en charge d’ABAC (identifications dans les politiques)

Partielle

Le contrôle d’accès basé sur les attributs (ABAC) est une politique d’autorisation qui définit des autorisations en fonction des attributs. Dans AWS, ces attributs sont appelés balises. Vous pouvez associer des balises aux entités IAM (utilisateurs ou rôles) et à de nombreuses AWS ressources. L’étiquetage des entités et des ressources est la première étape d’ABAC. Vous concevez ensuite des politiques ABAC pour autoriser des opérations quand l’identification du principal correspond à celle de la ressource à laquelle il tente d’accéder.

L’ABAC est utile dans les environnements qui connaissent une croissance rapide et pour les cas où la gestion des politiques devient fastidieuse.

Pour contrôler l’accès basé sur des étiquettes, vous devez fournir les informations d’étiquette dans l’élément de condition d’une politique utilisant les clés de condition aws:ResourceTag/key-name, aws:RequestTag/key-name ou aws:TagKeys.

Si un service prend en charge les trois clés de condition pour tous les types de ressources, alors la valeur pour ce service est Oui. Si un service prend en charge les trois clés de condition pour certains types de ressources uniquement, la valeur est Partielle.

Pour plus d’informations sur l’ABAC, consultez Qu’est-ce que le contrôle d’accès basé sur les attributs (ABAC) ? dans le Guide de l’utilisateur IAM. Pour accéder à un didacticiel décrivant les étapes de configuration de l’ABAC, consultez Utilisation du contrôle d’accès basé sur les attributs (ABAC) dans le Guide de l’utilisateur IAM.

Utilisation d'informations d'identification temporaires avec AWS WAF

Prend en charge les informations d’identification temporaires

Oui

Certains Services AWS ne fonctionnent pas lorsque vous vous connectez à l'aide d'informations d'identification temporaires. Pour plus d'informations, y compris celles qui Services AWS fonctionnent avec des informations d'identification temporaires, consultez Services AWS la section relative à l'utilisation d'IAM dans le guide de l'utilisateur d'IAM.

Vous utilisez des informations d'identification temporaires si vous vous connectez à l' AWS Management Console aide d'une méthode autre qu'un nom d'utilisateur et un mot de passe. Par exemple, lorsque vous accédez à AWS l'aide du lien d'authentification unique (SSO) de votre entreprise, ce processus crée automatiquement des informations d'identification temporaires. Vous créez également automatiquement des informations d’identification temporaires lorsque vous vous connectez à la console en tant qu’utilisateur, puis changez de rôle. Pour plus d’informations sur le changement de rôle, consultez Changement de rôle (console) dans le Guide de l’utilisateur IAM.

Vous pouvez créer manuellement des informations d'identification temporaires à l'aide de l' AWS API AWS CLI or. Vous pouvez ensuite utiliser ces informations d'identification temporaires pour y accéder AWS. AWS recommande de générer dynamiquement des informations d'identification temporaires au lieu d'utiliser des clés d'accès à long terme. Pour plus d’informations, consultez Informations d’identification de sécurité temporaires dans IAM.

Transférer les sessions d'accès pour le service AWS WAF

Prend en charge les transmissions de sessions d’accès (FAS)

Oui

Lorsque vous utilisez un utilisateur ou un rôle IAM pour effectuer des actions AWS, vous êtes considéré comme un mandant. Lorsque vous utilisez certains services, l’action que vous effectuez est susceptible de lancer une autre action dans un autre service. FAS utilise les autorisations du principal appelant et Service AWS, associées Service AWS à la demande, pour adresser des demandes aux services en aval. Les demandes FAS ne sont effectuées que lorsqu'un service reçoit une demande qui nécessite des interactions avec d'autres personnes Services AWS ou des ressources pour être traitée. Dans ce cas, vous devez disposer d’autorisations nécessaires pour effectuer les deux actions. Pour plus de détails sur une politique lors de la formulation de demandes FAS, consultez Transmission des sessions d’accès.

Fonctions du service pour AWS WAF

Prend en charge les fonctions de service

Oui

Une fonction du service est un rôle IAM qu’un service endosse pour accomplir des actions en votre nom. Un administrateur IAM peut créer, modifier et supprimer une fonction du service à partir d’IAM. Pour plus d’informations, consultez Création d’un rôle pour la délégation d’autorisations à un Service AWS dans le Guide de l’utilisateur IAM.

Avertissement

La modification des autorisations associées à un rôle de service peut perturber AWS WAF les fonctionnalités. Modifiez les rôles de service uniquement lorsque AWS WAF vous recevez des instructions à cet effet.

Rôles liés à un service pour AWS WAF

Prend en charge les rôles liés à un service.

Oui

Un rôle lié à un service est un type de rôle de service lié à un. Service AWS Le service peut endosser le rôle afin d’effectuer une action en votre nom. Les rôles liés à un service apparaissent dans votre Compte AWS répertoire et appartiennent au service. Un administrateur IAM peut consulter, mais ne peut pas modifier, les autorisations concernant les rôles liés à un service.

Pour plus de détails sur la création ou la gestion des rôles AWS WAF liés à un service, consultez. Utilisation de rôles liés à un service pour AWS WAF