Wie kann ich von einem anderen AWS-Konto aus auf eine Amazon API Gateway API zugreifen?

Lesedauer: 2 Minute
0

Ich möchte von einem anderen AWS-Konto aus auf eine Amazon API Gateway API zugreifen. Wie kann ich vorgehen?

Kurzbeschreibung

Auf öffentliche API-Endpunkte (regional oder Edge-optimiert) kann direkt über die öffentliche Endpoint-Staging-URL oder einen benutzerdefinierten Domänennamen zugegriffen werden.

Auf private REST-API-Endpunkte kann von einer Virtual Private Cloud in Amazon Virtual Private Cloud (Amazon VPC) über einen VPC-Schnittstellen-Endpunkt zugegriffen werden.

Auf Amazon API Gateway-Endpunkte kann mithilfe der AWS Identity and Access Management (IAM) -Authentifizierung mit kontoübergreifendem Zugriff zugegriffen werden.

Auflösung

Öffentliche API-Endpunkte

Sie können direkt über die API Staging-URL auf öffentliche API-Gateway-Endpunkte zugreifen. Zum Beispiel https://0123456789.execute-api.{region}.amazonaws.com/{stage-name}.

Sie können auch über einen benutzerdefinierten Domänennamen in einer öffentlich gehosteten Zone auf öffentliche API-Gateway-Endpunkte zugreifen.

Hinweis: Benutzerdefinierte Domainnamen werden für private APIs nicht unterstützt.

Weitere Informationen finden Sie unter Wie kann ich einen benutzerdefinierten Domänennamen für meine API Gateway API einrichten?

Private REST-API-Endpunkte

Sie können auf private API Gateway-REST-APIs in einem anderen AWS-Konto mit einer Amazon Virtual Private Cloud (Amazon VPC) über einen Schnittstellenendpunkt zugreifen.

Wenn sich Ihre private REST-API in einem AWS-Konto befindet und Sie von einem anderen Konto aus darauf zugreifen möchten, können Sie die Ressourcenrichtlinie bearbeiten.

Wie kann ich über einen Schnittstellen-VPC-Endpunkt auf eine private REST-API eines API-Gateways in einem anderen AWS-Konto zugreifen?

APIs, die IAM-Authentifizierung verwenden

Für den Zugriff auf eine API Gateway-API mit kontoübergreifenden Zugriff, die IAM-Authentifizierung verwendet, ist eine zusätzliche Konfiguration erforderlich. Der IAM-Rolle des Quellkontos muss in der Ressourcenrichtlinie expliziter Zugriff gewährt werden, ähnlich der folgenden:

REST-APIs

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

Wie aktiviere ich die IAM-Authentifizierung für API-Gateway-REST-APIs?

HTTP-APIs

Die Option zur Verwendung von Ressourcenrichtlinien zur Bereitstellung der IAM-Authentifizierung für kontenübergreifende Konten ist für API Gateway-HTTP-APIs nicht verfügbar.

Sie können die API-Aktion sts:AssumeRole verwenden, um eine Rolle für das HTTP-API-Konto anzunehmen. Die übernommene Rolle stellt temporäre Sicherheitsnachweise bereit, die zum Aufrufen der HTTP-API in einem anderen Konto verwendet werden können.

Wie kann ich kontoübergreifende IAM-Autorisierung für API-Gateway-HTTP-APIs bereitstellen?


Relevante Informationen

Erstellen einer privaten API in Amazon API Gateway

Beispiel: Benutzern in einem anderen AWS-Konto erlauben, eine API zu verwenden

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 2 Jahren