APIExemples de politiques relatives aux ressources de passerelle - APIPasserelle Amazon

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.

APIExemples de politiques relatives aux ressources de passerelle

Cette page présente quelques exemples de cas d'utilisation typiques des politiques de ressources de API Gateway.

Les exemples de politiques suivants utilisent une syntaxe simplifiée pour spécifier la API ressource. Cette syntaxe simplifiée est une manière abrégée de faire référence à une API ressource, au lieu de spécifier le nom complet de la ressource Amazon ()ARN. APIGateway convertit la syntaxe abrégée en syntaxe complète ARN lorsque vous enregistrez la politique. Par exemple, vous pouvez spécifier la ressource execute-api:/stage-name/GET/pets dans une stratégie de ressources. APIGateway convertit la ressource au arn:aws:execute-api:us-east-2:123456789012:aabbccddee/stage-name/GET/pets moment où vous enregistrez la politique de ressources. APIGateway crée l'intégralité en ARN utilisant la région actuelle, votre identifiant de AWS compte et l'identifiant REST API auquel la politique de ressources est associée. Vous pouvez l'utiliser execute-api:/* pour représenter toutes les étapes, méthodes et chemins du courantAPI. Pour en savoir plus sur le langage d'access policy, consultez Présentation du langage de la politique d'accès pour Amazon API Gateway.

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

L'exemple de politique de ressources suivant accorde l'APIaccès 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 API trafic en fonction de l'adresse IP source ou de la plage

L'exemple de politique de ressources suivant refuse (bloque) le trafic entrant vers et API provenant 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 API trafic en fonction de l'adresse IP source ou de la plage d'adresses IP lors de l'utilisation d'une adresse privée API

L'exemple de politique de ressources suivant refuse (bloque) le trafic entrant vers une adresse privée à API partir de deux blocs d'adresses IP source spécifiés. Lorsque vous utilisez privateAPIs, le VPC point de terminaison 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 API trafic privé en fonction de la source VPC ou du point de VPC terminaison

Les exemples de politiques de ressources suivants autorisent le trafic entrant vers un réseau privé API uniquement à partir d'un cloud privé virtuel (VPC) ou d'un point de VPC terminaison spécifié.

Cet exemple de politique de ressources indique une source VPC :

{ "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 politique de ressources spécifie un point de VPC terminaison 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" } } } ] }