¿Cómo puedo acceder a una API de Amazon API Gateway desde otra cuenta de AWS?

3 minutos de lectura
0

Quiero acceder a una API de Amazon API Gateway desde otra cuenta de AWS.

Descripción corta

Se puede acceder a los puntos de enlace de la API pública (regionales u optimizados para la periferia) directamente desde la URL de la etapa de punto de enlace público o desde un nombre de dominio personalizado.

Se puede acceder a los puntos de enlace de las API de REST privadas desde una nube privada virtual en Amazon Virtual Private Cloud (Amazon VPC) mediante un punto de enlace de VPC de interfaz.

Se puede acceder a los puntos de enlace de Amazon API Gateway mediante la autenticación de AWS Identity and Access Management (IAM) con acceso entre cuentas.

Resolución

Puntos de enlace públicos de API

Puede acceder a los puntos de enlace públicos de API Gateway directamente desde la URL de la etapa de API. Por ejemplo, https://0123456789.execute-api.{region}.amazonaws.com/{stage-name}.

También puede acceder a los puntos de enlace públicos de API Gateway mediante un nombre de dominio personalizado en una zona alojada pública.

Nota: Las API privadas no admiten nombres de dominio personalizados.

Para obtener más información, consulte ¿Cómo puedo configurar un nombre de dominio personalizado para mi API de API Gateway?

Puntos de enlace privados de API de REST

Puede acceder a las API de REST privadas de API Gateway en otra cuenta de AWS con una Amazon Virtual Private Cloud (Amazon VPC) mediante un punto de enlace de interfaz.

Si su API de REST privada está ubicada en una cuenta de AWS y desea acceder a ella desde otra cuenta, puede editar la política de recursos.

Para obtener más información, consulte ¿Cómo puedo acceder a una API de REST privada de API Gateway en otra cuenta de AWS mediante un punto de conexión de VPC de la interfaz?

API que utilizan la autenticación de IAM

Se requiere una configuración adicional para acceder a una API de API Gateway con acceso entre cuentas que utilice la autenticación de IAM. Se debe permitir el acceso explícito al rol de IAM de la cuenta de origen en la política de recursos, de forma similar a la siguiente:

API de 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}/*/*/*"
      ]
    }
  ]
}

Para obtener más información, consulte ¿Cómo activo la autenticación de IAM para las API de API Gateway?

API HTTP

La opción de usar políticas de recursos para proporcionar autenticación de IAM entre cuentas no está disponible para las API HTTP de API Gateway.

Puede usar la acción de API sts:AssumeRole para asumir un rol para la cuenta de API HTTP. El rol asumido proporciona credenciales de seguridad temporales que se pueden usar para invocar la API HTTP en otra cuenta.

Para obtener más información, consulte ¿Cómo puedo proporcionar una autorización de IAM entre cuentas para las API HTTP de API Gateway?

Información relacionada

Invocación de las API de REST en API Gateway

Ejemplo: Permitir a los usuarios de otra cuenta de AWS utilizar una API

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 4 meses