Contrôler l'accès pour invoquer un API - 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.

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, Permission doit être remplacé par Allow ou Deny selon que vous souhaitez accorder ou révoquer les autorisations incluses. Execution-operationdoit être remplacée par les opérations prises en charge par le service API d'exécution. METHOD_HTTP_VERBreprésente un HTTP verbe soutenu par les ressources spécifiées. Resource-pathest l'espace réservé pour le URL chemin d'une API Resource instance déployée supportant ladite METHOD_HTTP_VERB instance. Pour de plus amples informations, veuillez consulter Déclaration faisant référence aux IAM politiques à exécuter API dans API Gateway.

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/{petId}, 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/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'Actionexpression API -executing a le format général suivant :

execute-api:action

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'Resourceexpression 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 que us-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:*:api-id/*pour tout chemin de ressource à n'importe quelle étape, pour le API avec l'identifiant de api-id dans la AWS région de us-east-1.

  • arn:aws:execute-api:us-east-1:*:api-id/test/*pour tout chemin de ressource au stade detest, pour le API avec l'identifiant de api-id dans la AWS région de us-east-1.

Pour en savoir plus, consultez Référence Amazon Resource Name (ARN) API Gateway.