Exemples de stratégies de ressources API Gateway - Amazon API Gateway

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.

Exemples de stratégies de ressources API Gateway

Cette page présente quelques exemples de cas d'utilisation standard des stratégies de ressources API Gateway.

Les exemples de stratégie suivants utilisent une syntaxe simplifiée pour spécifier la ressource d'API. Cette syntaxe simplifiée est une façon abrégée qui vous permet de faire référence à une ressource d'API plutôt que de spécifier l'Amazon Resource Name (ARN) complet. API Gateway convertit la syntaxe abrégée en ARN complet lorsque vous enregistrez la stratégie. Par exemple, vous pouvez spécifier la ressource execute-api:/stage-name/GET/pets dans une stratégie de ressources. API Gateway convertit la ressource arn:aws:execute-api:us-east-2:123456789012:aabbccddee/stage-name/GET/pets lorsque vous enregistrez la stratégie de ressources. API Gateway crée l'ARN complet en utilisant la région actuelle, votre ID de AWS compte et l'ID de l'API REST à laquelle la politique de ressources est associée. Vous pouvez utiliser execute-api:/* pour représenter toutes les étapes, méthodes et chemins dans l'API actuelle. Pour en savoir plus sur le langage d'access policy, consultez Présentation du langage d'access policy pour Amazon API Gateway.

Exemple : autoriser les rôles d'un autre AWS compte à utiliser une API

L'exemple de politique de ressources suivant accorde l'accès à l'API dans un AWS compte à deux rôles dans un AWS compte différent via les protocoles Signature Version 4 (SigV4). Plus précisément, le rôle de développeur et d'administrateur du AWS compte identifié par account-id-2 est autorisé à exécuter l'GETaction sur la pets ressource (API) de votre AWS compte. execute-api:Invoke

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::account-id-2:role/developer", "arn:aws:iam::account-id-2:role/Admin" ] }, "Action": "execute-api:Invoke", "Resource": [ "execute-api:/stage/GET/pets" ] } ] }

Exemple : Refuser le trafic API en fonction de l'adresse IP source ou de la plage

L'exemple de stratégie de ressources suivant refuse (bloque) le trafic entrant vers une API à partir de deux blocs d'adresses IP source spécifiés.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "execute-api:Invoke", "Resource": [ "execute-api:/*" ] }, { "Effect": "Deny", "Principal": "*", "Action": "execute-api:Invoke", "Resource": [ "execute-api:/*" ], "Condition" : { "IpAddress": { "aws:SourceIp": ["192.0.2.0/24", "198.51.100.0/24" ] } } } ] }

Exemple : Refuser le trafic API en fonction de l'adresse IP source ou de la plage lors de l'utilisation d'une API privée

L'exemple de stratégie de ressources suivant refuse (bloque) le trafic entrant vers une API privée à partir de deux blocs d'adresses IP source spécifiés. Lors de l'utilisation d'API privées, le point de terminaison VPC pour execute-api réécrit l'adresse IP source d'origine. La condition aws:VpcSourceIp filtre la demande par rapport à l'adresse IP du demandeur d'origine.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "execute-api:Invoke", "Resource": [ "execute-api:/*" ] }, { "Effect": "Deny", "Principal": "*", "Action": "execute-api:Invoke", "Resource": [ "execute-api:/*" ], "Condition" : { "IpAddress": { "aws:VpcSourceIp": ["192.0.2.0/24", "198.51.100.0/24"] } } } ] }

Exemple : Autoriser le trafic de l'API privée en fonction du point de terminaison d'un VPC ou d'un VPC source

L'exemple de stratégies de ressources suivant autorise le trafic entrant vers une API privée uniquement à partir d'un VPC (Virtual Private Cloud) spécifié ou d'un point de terminaison d'un VPC.

Cet exemple de stratégie de ressources spécifie un VPC source :

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "execute-api:Invoke", "Resource": [ "execute-api:/*" ] }, { "Effect": "Deny", "Principal": "*", "Action": "execute-api:Invoke", "Resource": [ "execute-api:/*" ], "Condition" : { "StringNotEquals": { "aws:SourceVpc": "vpc-1a2b3c4d" } } } ] }

Cet exemple de stratégie de ressources spécifie un point de terminaison d'un VPC source :

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "execute-api:Invoke", "Resource": [ "execute-api:/*" ] }, { "Effect": "Deny", "Principal": "*", "Action": "execute-api:Invoke", "Resource": [ "execute-api:/*" ], "Condition" : { "StringNotEquals": { "aws:SourceVpce": "vpce-1a2b3c4d" } } } ] }