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 invoquer un API
Dans cette section, vous découvrirez le modèle d'autorisations permettant de contrôler l'accès à vos IAM autorisations API d'utilisation. Nous montrons un modèle de déclaration IAM de politique et la référence de la déclaration de politique. La référence à la déclaration de politique inclut les formats Action
et Resource
les champs associés au service API d'exécution. Utilisez ces références pour créer votre déclaration IAM de politique. Lorsque vous créez votre déclaration de IAM politique, vous devrez peut-être prendre en compte la manière dont les politiques de ressources de API passerelle affectent le flux de travail d'autorisation. Pour de plus amples informations, veuillez consulter Comment les politiques de ressources de API Gateway affectent le flux de travail d'autorisation.
Pour le mode privéAPIs, vous devez utiliser une combinaison d'une politique de ressources de API passerelle et d'une politique de point de VPC terminaison. Pour plus d’informations, consultez les rubriques suivantes :
Contrôlez qui peut appeler une API méthode API Gateway avec des IAM politiques
Pour contrôler qui peut ou ne peut pas appeler une personne déployée API avec IAM des autorisations, créez un document de IAM politique avec les autorisations requises. Un modèle pour un tel document de stratégie 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 souhaitez accorder ou révoquer les autorisations incluses.
doit être remplacée par les opérations prises en charge par le service API d'exécution. Execution-operation
représente un HTTP verbe soutenu par les ressources spécifiées. METHOD_HTTP_VERB
est l'espace réservé pour le URL chemin d'une API Resource-path
Resource
instance déployée supportant ladite
instance. Pour de plus amples informations, veuillez consulter Déclaration faisant référence aux IAM politiques à exécuter API dans API Gateway. METHOD_HTTP_VERB
Note
Pour que IAM les politiques soient efficaces, vous devez avoir activé IAM l'authentification sur API les méthodes en définissant AWS_IAM
la authorizationType
propriété des méthodes. Si vous ne le faites pas, ces API méthodes seront accessibles au public.
Par exemple, pour autoriser un utilisateur à consulter la liste des animaux de compagnie exposés par un animal spécifiqueAPI, mais pour lui refuser l'autorisation d'ajouter un animal de compagnie à la liste, vous pouvez inclure la déclaration suivante dans la IAM politique :
{ "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 autoriser un utilisateur à voir un animal de compagnie spécifique exposé par un API animal configuré comme telGET /pets/
, vous pouvez inclure la déclaration suivante dans la IAM politique :{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
" ] } ] }
Déclaration faisant référence aux IAM politiques à exécuter API dans API Gateway
Les informations suivantes décrivent le format Action et Resource des déclarations de IAM politique relatives aux autorisations d'accès pour l'exécution d'unAPI.
Format d'action des autorisations d'exécution API dans API Gateway
L'Action
expression API -executing a le format général suivant :
execute-api:
action
où action
est une action d'APIexécution disponible :
-
*, qui représente l'ensemble des actions suivantes.
-
Invoke, utilisé pour API invoquer une demande du client.
-
InvalidateCache, utilisé pour invalider le API cache à la demande d'un client.
Format de ressource des autorisations pour l'exécution API dans API Gateway
L'Resource
expression API -executing 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 à la région déployée API pour la méthode. -
account-id
est l'identifiant de AWS compte à 12 chiffres du REST API propriétaire. -
api-id
est l'identifiant que API Gateway a attribué API à la méthode. -
stage-name
est le nom de l'étape associée à la méthode. -
HTTP-VERB
est le HTTP verbe désignant la méthode. Il peut s'agir de l'une des options suivantes : GETPOST,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 API étape, pour n'importe quelle AWS région. -
arn:aws:execute-api:us-east-1:*:*
pour n'importe quel chemin de ressource à n'importe quelle étape, pour tout ce qui API se trouve dans la AWS région deus-east-1
. -
arn:aws:execute-api:us-east-1:*:
pour tout chemin de ressource à n'importe quelle étape, pour le API avec l'identifiant deapi-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 le API avec l'identifiant deapi-id
dans la AWS région de us-east-1.
Pour en savoir plus, consultez Référence Amazon Resource Name (ARN) API Gateway.