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.
Lorsqu’API Gateway évalue la politique de ressources attachée à votre API, le résultat est affecté par le type d’authentification que vous avez défini pour l’API, comme illustré dans les diagrammes présentés dans les sections suivantes.
Rubriques
Politique de ressources API Gateway uniquement
Dans ce flux de travail, une politique de ressources API Gateway est attachée à l’API, mais aucun type d’authentification n’est défini pour l’API. L’évaluation de la politique consiste à obtenir une autorisation explicite en fonction des critères entrants de l’appelant. Un refus implicite ou explicite entraîne le refus de l’appelant.

Voici un exemple de politique de ressources.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "execute-api:Invoke", "Resource": "arn:aws:execute-api:
region
:account-id
:api-id
/", "Condition": { "IpAddress": { "aws:SourceIp": ["192.0.2.0/24
", "198.51.100.0/24
" ] } } } ] }
Mécanisme d’autorisation Lambda et politique de ressources
Dans ce flux de travail, un mécanisme d’autorisation Lambda est configuré pour l’API en plus d’une politique de ressources. La politique de ressources est évaluée en deux phases. Avant d’appeler le mécanisme d’autorisation Lambda, API Gateway évalue la politique et vérifie tout refus explicite. S’il en trouve, l’accès sera immédiatement refusé à l’utilisateur. Sinon, le mécanisme d’autorisation Lambda est appelé et renvoie un document de politique évalué avec la politique de ressources. Le résultat est déterminé sur la base du tableau A.
Dans l’exemple de politique de ressources suivant, les appels sont autorisés uniquement à partir du point de terminaison de VPC dont l’ID est
. Pendant l’évaluation d’authentification préalable, seuls les appels provenant du point de terminaison de VPC indiqué dans l’exemple peuvent continuer et évaluer le mécanisme d’autorisation Lambda. Tous les appels restants sont bloqués.vpce-1a2b3c4d

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Principal": "*", "Action": "execute-api:Invoke", "Resource": [ "arn:aws:execute-api:
region
:account-id
:api-id
/" ], "Condition" : { "StringNotEquals": { "aws:SourceVpce": "vpce-1a2b3c4d
" } } } ] }
Politique de ressources et authentification IAM
Dans ce flux de travail, vous configurez l’authentification IAM pour l’API en plus d’une politique de ressources. Une fois que vous avez authentifié l’utilisateur auprès du service IAM, l’API évalue à la fois les politiques attachées à l’utilisateur et la politique de ressources. Le résultat varie selon que l'appelant est le même que le propriétaire de Compte AWS l'API Compte AWS ou non.
Si l’appelant et le propriétaire de l’API relèvent de comptes distincts, les politiques IAM et la politique de ressources autorisent toutes deux explicitement l’appelant à continuer. Pour plus d’informations, consultez Tableau B.
Cependant, si l’appelant et le propriétaire de l’API relèvent du même Compte AWS, les politiques utilisateur IAM ou la politique de ressources doivent explicitement autoriser l’appelant à continuer. Pour plus d’informations, consultez Tableau A.

Voici un exemple de politique de ressources entre comptes. À supposer que la politique IAM contient un effet Allow (Autoriser), cette politique de ressources autorise uniquement les appels du VPC dont l’ID est
. Pour plus d’informations, consultez Tableau B.vpc-2f09a348
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "execute-api:Invoke", "Resource": [ "arn:aws:execute-api:region:
account-id
:api-id
/" ], "Condition" : { "StringEquals": { "aws:SourceVpc": "vpc-2f09a348
" } } } ] }
Politique de ressources et d’authentification Amazon Cognito
Dans ce flux de travail, un groupe d’utilisateurs Amazon Cognito est configuré pour l’API en plus d’une politique de ressources. API Gateway tente d’abord d’authentifier l’appelant via Amazon Cognito. Ceci est généralement effectué via un jeton JWT fourni par l’appelant. Si l’authentification est réussie, la politique de ressources est évaluée de façon indépendante, et une autorisation explicite est requise. Un refus ou « ni autoriser ni refuser » entraîne un refus. Voici un exemple de politique de ressources pouvant être utilisée avec des groupes d’utilisateurs Amazon Cognito.

Voici un exemple de politique de ressources qui autorise les appels uniquement à partir d'une source spécifiée IPs, en supposant que le jeton d'authentification Amazon Cognito contienne une autorisation. Pour plus d’informations, consultez Tableau B.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "execute-api:Invoke", "Resource": "arn:aws:execute-api:
region
:account-id
:api-id
/", "Condition": { "IpAddress": { "aws:SourceIp": ["192.0.2.0/24
", "198.51.100.0/24
" ] } } } ] }
Tableaux de résultat des évaluations de politiques
Le tableau A répertorie le comportement obtenu lorsque l’accès à une API API Gateway est contrôlé par une politique IAM ou un mécanisme d’autorisation Lambda et une politique de ressources API Gateway, qui se trouvent toutes les deux dans le même Compte AWS.
Politique IAM (ou mécanisme d’autorisation Lambda) |
Politique de ressources API Gateway |
Comportement obtenu |
---|---|---|
Autorisation | Autorisation | Autorisation |
Autorisation | Ni autorisation ni refus | Autorisation |
Autorisation | Refuser | Refus explicite |
Ni autorisation ni refus | Autorisation | Autorisation |
Ni autorisation ni refus | Ni autorisation ni refus | Refus implicite |
Ni autorisation ni refus | Refuser | Refus explicite |
Refuser | Autorisation | Refus explicite |
Refuser | Ni autorisation ni refus | Refus explicite |
Refuser | Refuser | Refus explicite |
Le tableau B répertorie le comportement qui en résulte lorsque l'accès à une API API Gateway est contrôlé par une politique IAM ou un autorisateur de groupes d'utilisateurs Amazon Cognito et une politique de ressources API Gateway, qui sont différentes. Comptes AWS Si l’un des deux est silencieux (pas d’autorisation ni de refus), l’accès entre comptes est refusé. En effet, l’accès intercompte nécessite que la politique de ressources et la politique IAM ou le mécanisme d’autorisation des groupes d’utilisateurs Amazon Cognito accordent explicitement l’accès.
Politique IAM (ou mécanisme d’autorisation des groupes d’utilisateurs Amazon Cognito) |
Politique de ressources API Gateway |
Comportement obtenu |
---|---|---|
Autorisation | Autorisation | Autorisation |
Autorisation | Ni autorisation ni refus | Refus implicite |
Autorisation | Refuser | Refus explicite |
Ni autorisation ni refus | Autorisation | Refus implicite |
Ni autorisation ni refus | Ni autorisation ni refus | Refus implicite |
Ni autorisation ni refus | Refuser | Refus explicite |
Refuser | Autorisation | Refus explicite |
Refuser | Ni autorisation ni refus | Refus explicite |
Refuser | Refuser | Refus explicite |