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.
Contrôler l’accès pour l’appel d’une API
Dans cette section, vous allez découvrir le modèle d’autorisation permettant de contrôler l’accès à votre API avec des autorisations IAM. Nous présentons un modèle de déclaration de politique IAM et la référence de cette déclaration. La référence de la déclaration de politique inclut les formats des champs Action
et Resource
liés au service d’exécution des API. Utilisez ces références pour créer votre déclaration de politique IAM. Lorsque vous créez votre déclaration de politique IAM, tenez compte de la façon dont les politiques de ressources API Gateway affectent le flux d’autorisation. Pour de plus amples informations, veuillez consulter Comment les politiques de ressources API Gateway affectent le flux de travail d’autorisation.
Pour le mode privé APIs, vous devez utiliser une combinaison d'une politique de ressources API Gateway et d'une politique de point de terminaison VPC. Pour plus d’informations, consultez les rubriques suivantes :
Contrôle des personnes habilitées à appeler une méthode d’API API Gateway avec les politiques IAM
Pour contrôler qui peut ou non appeler une API déployée avec les autorisations IAM, créez un document de politique IAM avec les autorisations requises. Un modèle pour un tel document de politique est affiché comme suit.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "
Permission
", "Action": [ "execute-api:Execution-operation
" ], "Resource": [ "arn:aws:execute-api:region
:account-id
:api-id
/stage
/METHOD_HTTP_VERB
/Resource-path
" ] } ] }
Ici,
doit être remplacé par Permission
Allow
ou Deny
, selon que vous voulez accorder ou révoquer les autorisations incluses.
doit être remplacé par les opérations prises en charge par le service d’exécution des API. Execution-operation
représente un verbe HTTP pris en charge par les ressources spécifiées. METHOD_HTTP_VERB
est l’espace réservé du chemin d’URL d’une instance Resource-path
Resource
d’API déployée prenant en charge ledit verbe
. Pour de plus amples informations, veuillez consulter Référence de déclaration de politique IAM pour l’exécution des API dans API Gateway. METHOD_HTTP_VERB
Note
Pour que les politiques IAM soient efficaces, vous devez avoir activé l’authentification IAM sur les méthodes de l’API en définissant AWS_IAM
pour la propriété authorizationType
de la méthode. Faute de quoi ces méthodes d’API seront accessibles au public.
Par exemple, pour accorder à un utilisateur l’autorisation d’afficher la liste des « pets » exposés par une API spécifiée, mais lui refuser l’autorisation d’ajouter un « pet » à la liste, vous pouvez inclure la déclaration suivante dans la politique IAM :
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "execute-api:Invoke" ], "Resource": [ "arn:aws:execute-api:us-east-1:
account-id
:api-id
/*
/GET/pets
" ] }, { "Effect": "Deny", "Action": [ "execute-api:Invoke" ], "Resource": [ "arn:aws:execute-api:us-east-1:account-id
:api-id
/*
/POST/pets
" ] } ] }
Pour accorder à un utilisateur l’autorisation d’afficher un « pet » exposé spécifique par une API configurée en tant que GET /pets/
, vous pouvez inclure la déclaration suivante dans la politique IAM :{petId}
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "execute-api:Invoke" ], "Resource": [ "arn:aws:execute-api:us-east-1:
account-id
:api-id
/*/GET/pets
/a1b2
" ] } ] }
Référence de déclaration de politique IAM pour l’exécution des API dans API Gateway
Les informations suivantes décrivent le format des expressions Action et Resource des déclarations de politique IAM d’autorisation d’accès pour l’exécution d’une API.
Format de l’expression Action des autorisations d’exécution d’API dans API Gateway
L’expression Action
des autorisations d’exécution d’API a le format général suivant :
execute-api:
action
où se action
trouve une action d'exécution d'API disponible :
-
*, qui représente l’ensemble des actions suivantes.
-
Invoke, utilisée pour appeler une API sur demande d’un client.
-
InvalidateCache, utilisée pour invalider le cache API sur demande d'un client.
Format de l’expression Resource des autorisations d’exécution d’API dans API Gateway
L’expression Resource
des autorisations d’exécution d’API a le format général suivant :
arn:aws:execute-api:
region
:account-id:api-id
/stage-name
/HTTP-VERB
/resource-path-specifier
où :
-
region
est la AWS région (telle queus-east-1
ou*
pour toutes les AWS régions) qui correspond à l'API déployée pour la méthode. -
account-id
est l'identifiant de AWS compte à 12 chiffres du propriétaire de l'API REST. -
api-id
est l'identifiant qu'API Gateway a attribué à l'API pour la méthode. -
stage-name
est le nom de l'étape associée à la méthode. -
HTTP-VERB
est le verbe HTTP de la méthode. Les valeurs possibles sont GET, POST, PUT, DELETE, PATCH. -
resource-path-specifier
est le chemin d'accès à la méthode souhaitée.
Note
Si vous spécifiez un caractère générique (*
), l’expression Resource
applique le caractère générique au reste de l’expression.
Voici quelques exemples d’expression Resource :
-
arn:aws:execute-api:*:*:*
pour n'importe quel chemin de ressource à n'importe quelle étape, pour n'importe quelle API dans n'importe quelle AWS région. -
arn:aws:execute-api:us-east-1:*:*
pour tout chemin de ressource à n'importe quelle étape, pour toute API de la AWS région deus-east-1
. -
arn:aws:execute-api:us-east-1:*:
pour tout chemin de ressource à n'importe quelle étape, pour l'API dont l'identifiant estapi-id
/*api-id
dans la AWS région de us-east-1. -
arn:aws:execute-api:us-east-1:*:
pour tout chemin de ressource au stade deapi-id
/test
/*test
, pour l'API dont l'identifiant est situéapi-id
dans la AWS région us-east-1.
Pour en savoir plus, consultez Référence Amazon Resource Name (ARN) API Gateway.