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.
Pour améliorer la sécurité de votre API privée, vous pouvez créer une politique de point de terminaison de VPC. La politique de point de terminaison de VPC est une politique de ressources IAM qui est jointe au point de terminaison d’un VPC. Pour plus d’informations, consultez Contrôle de l'accès aux services avec des points de terminaison de VPC.
Vous pouvez créer une politique de point de terminaison de VPC pour exécuter les tâches suivantes.
Autoriser uniquement certaines organisations ou ressources à accéder à votre point de terminaison de VPC et à invoquer votre API.
Utiliser une seule politique et éviter les politiques basées sur les sessions ou les rôles pour contrôler le trafic à destination de votre API.
Resserrez le périmètre de sécurité de votre application lors de la migration d'une application sur site vers AWS.
Considérations d’une politique de point de terminaison de VPC
Tenez compte des points suivants pour votre politique de point de terminaison de VPC.
-
L’identité de l’invocateur est évaluée en fonction de la valeur de l’en-tête
Authorization
. Selon votreauthorizationType
, cela peut entraîner une erreur403 IncompleteSignatureException
ou une erreur403 InvalidSignatureException
. Le tableau suivant affiche les valeurs d’en-têteAuthorization
pour chaqueauthorizationType
.authorizationType
En-tête
Authorization
évalué ?Valeurs d’en-tête
Authorization
autoriséesNONE
avec la stratégie d’accès complet par défautNon Non validé NONE
avec une stratégie d’accès personnaliséeOui Doit être une valeur SigV4 valide IAM
Oui Doit être une valeur SigV4 valide CUSTOM
ouCOGNITO_USER_POOLS
Non Non validé Si une politique restreint l’accès à un principal IAM spécifique, par exemple
arn:aws:iam::account-id:role/developer
, vous devez définirauthorizationType
de la méthode de votre API surAWS_IAM
ouNONE
. Pour plus d’instructions sur la définition d’authorizationType
pour une méthode, consultez Méthodes pour REST APIs dans API Gateway.-
Les politiques de point de terminaison de VPC peuvent être utilisées conjointement avec des politiques de ressources API Gateway. La politique de ressources API Gateway spécifie les principaux pouvant accéder à l’API. La politique de point de terminaison spécifie qui peut accéder au VPC et qui APIs peut être appelé depuis le point de terminaison du VPC. Votre API privée a besoin d’une politique de ressources, mais il n’est pas nécessaire de créer une politique de point de terminaison de VPC personnalisée.
Exemples de politique de point de terminaison de VPC
Vous pouvez créer des politiques pour les points de terminaison Amazon Virtual Private Cloud pour Amazon API Gateway dans lesquelles vous pouvez spécifier :
-
Le principal qui peut exécuter des actions.
-
Les actions qui peuvent être effectuées.
-
Les ressources qui peuvent avoir des actions exécutées sur elles.
Pour attacher la politique au point de terminaison de VPC, vous devez utiliser la console VPC. Pour plus d’informations, consultez Contrôle de l'accès aux services avec des points de terminaison de VPC.
Exemple 1 : politique de point de terminaison VPC accordant l'accès à deux APIs
L'exemple de politique suivant n'accorde l'accès qu'à deux points spécifiques APIs via le point de terminaison VPC auquel la politique est attachée.
{ "Statement": [ { "Principal": "*", "Action": [ "execute-api:Invoke" ], "Effect": "Allow", "Resource": [ "arn:aws:execute-api:
us-east-1
:123412341234
:a1b2c3d4e5
/*", "arn:aws:execute-api:us-east-1
:123412341234
:aaaaa11111
/*" ] } ] }
Exemple 2 : politique de point de terminaison de VPC accordant l’accès aux méthodes GET
L’exemple de politique suivant accorde aux utilisateurs l’accès aux méthodes GET
pour une API spécifique via le point de terminaison de VPC auquel la politique est attachée.
{ "Statement": [ { "Principal": "*", "Action": [ "execute-api:Invoke" ], "Effect": "Allow", "Resource": [ "arn:aws:execute-api:
us-east-1
:123412341234
:a1b2c3d4e5
/stageName
/GET/*" ] } ] }
Exemple 3 : politique de point de terminaison de VPC accordant à un utilisateur spécifique l’accès à une API spécifique
L’exemple de politique suivant accorde à un utilisateur spécifique l’accès à une API spécifique via le point de terminaison de VPC auquel la politique est attachée.
Dans ce cas, étant donné que la politique restreint l’accès à des principaux IAM spécifiques, vous devez définir authorizationType
sur AWS_IAM
ou NONE
.
{ "Statement": [ { "Principal": { "AWS": [ "arn:aws:iam::123412341234:user/
MyUser
" ] }, "Action": [ "execute-api:Invoke" ], "Effect": "Allow", "Resource": [ "arn:aws:execute-api:us-east-1
:123412341234
:a1b2c3d4e5
/*" ] } ] }
Exemple 4 : politique de point de terminaison de VPC autorisant les utilisateurs à accéder à un nom de domaine personnalisé spécifique et à chaque API mappée à ce domaine
L'exemple de politique suivant accorde aux utilisateurs l'accès à un nom de domaine personnalisé spécifique pour le mode privé APIs via le point de terminaison VPC auquel la politique est attachée. Avec cette politique, tant qu'un utilisateur a créé une association d'accès au nom de domaine entre le point de terminaison VPC et le nom de domaine personnalisé et qu'il est autorisé à invoquer le nom de domaine personnalisé et toute API privée mappée au nom de domaine personnalisé, l'utilisateur peut invoquer n'importe quelle API APIs mappée à ce nom de domaine personnalisé. Pour de plus amples informations, veuillez consulter Noms de domaine personnalisés pour le privé APIs dans API Gateway.
{ "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": "execute-api:Invoke", "Resource": [ "*" ], "Condition": { "ArnEquals": { "execute-api:viaDomainArn": "arn:aws:execute-api:us-west-2:111122223333:/domainnames/private.test.com+f4g5h6", } } } ] }
Exemple 5 : politique de point de terminaison VPC accordant ou refusant l'accès à des ressources spécifiques APIs et à des ressources de domaine
L'exemple de politique suivant accorde aux utilisateurs l'accès à des ressources spécifiques APIs et à des domaines. Avec cette politique, tant qu'un utilisateur a créé une association d'accès au nom de domaine entre le point de terminaison VPC et le nom de domaine personnalisé et qu'il est autorisé à invoquer le nom de domaine personnalisé et toute API privée mappée au nom de domaine personnalisé, l'utilisateur peut invoquer les ressources privées APIs et de domaine autorisées. Pour de plus amples informations, veuillez consulter Noms de domaine personnalisés pour le privé APIs dans API Gateway.
{ "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": "execute-api:Invoke", "Resource": [ "arn:aws:execute-api:us-west-2:111122223333:/domainnames/private.test.com+f4g5h6", "arn:aws:execute-api:us-west-2:111122223333:a1b2c3d4e5/*" ] }, { "Effect": "Deny", "Principal": { "AWS": "*" }, "Action": "execute-api:Invoke", "Resource": [ "arn:aws:execute-api:us-west-2:111122223333:a1b2c3d4e5/admin/*", "arn:aws:execute-api:us-west-2:111122223333:bcd123455/*" ] } ] }