Comment accéder à une API Amazon API Gateway à partir d'un autre compte AWS ?

Lecture de 3 minute(s)
0

Je veux accéder à une API Amazon API Gateway à partir d'un autre compte AWS. Comment procéder ?

Brève description

Les points de terminaison d'API publics (régionaux ou optimisés pour la périphérie) sont accessibles directement à partir de l'URL de l'étape du point de terminaison public ou d'un nom de domaine personnalisé.

Les points de terminaison des API REST privés sont accessibles depuis un cloud privé virtuel dans Amazon Virtual Private Cloud (Amazon VPC) à l'aide d'une interface de point de terminaison d'un VPC.

Les points de terminaison Amazon API Gateway sont accessibles à l'aide de l'authentification AWS Identity and Access Management (IAM) avec accès intercompte.

Solution

Points de terminaison d'API publics

Vous pouvez accéder aux points de terminaison publics API Gateway directement depuis l'URL de l'étape d'API. Par exemple, https://0123456789.execute-api.{région}.amazonaws.com/{nom-étape}.

Vous pouvez également accéder aux points de terminaison publics API Gateway à l'aide d'un nom de domaine personnalisé dans une zone hébergée publique.

Remarque : les noms de domaine personnalisés ne sont pas pris en charge pour les API privées.

Pour plus d'informations, veuillez consulter la section Comment configurer un nom de domaine personnalisé pour mon API API Gateway ?

Points de terminaison d'API REST privés

Vous pouvez accéder aux API REST privées API Gateway d'un autre compte AWS avec un Amazon Virtual Private Cloud (Amazon VPC) à l'aide d'un point de terminaison d'interface.

Si votre API REST privée se trouve dans un compte AWS et que vous voulez y accéder depuis un autre compte, vous pouvez modifier la politique de ressources.

Pour plus d'informations, veuillez consulter la section Comment puis-je accéder à une API REST privée d'API Gateway située dans un autre compte AWS à l'aide d'un point de terminaison d'un VPC d'interface ?

API utilisant l'authentification IAM

Une configuration supplémentaire est requise afin d'accéder à une API API Gateway avec accès intercompte utilisant l'authentification IAM. Le rôle IAM du compte source doit bénéficier d'un accès explicite dans la politique de ressources similaire à ce qui suit :

API REST

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": [
          "arn:aws:iam::account-id-2:user/Alice",
          "account-id-2"
        ]
      },
      "Action": "execute-api:Invoke",
      "Resource": [
        "arn:aws:execute-api:us-east-1:{account-id}:{api-id}/*/*/*"
      ]
    }
  ]
}

Pour plus d'informations, veuillez consulter la section Comment activer l'authentification IAM pour les API REST API Gateway ?

API HTTP

L'option permettant d'utiliser des politiques de ressources afin de fournir une authentification IAM pour les intercomptes n'est pas disponible pour les API HTTP API Gateway.

Vous pouvez utiliser l'action d'API sts:AssumeRole afin d'assumer un rôle pour le compte d'API HTTP. Le rôle assumé fournit des informations d'identification de sécurité temporaires pouvant être utilisées afin d'appeler l'API HTTP d'un autre compte.

Pour plus d'informations, veuillez consulter la section Comment puis-je fournir une autorisation IAM intercompte pour les API HTTP API Gateway ?


Informations connexes

Création d'une API privée dans Amazon API Gateway

Exemple : autoriser les utilisateurs d'un autre compte AWS à utiliser une API

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a un an