Direkt zum Inhalt

Wie greife ich von einem anderen AWS-Konto aus auf eine Amazon API Gateway-API zu?

Lesedauer: 2 Minute
0

Ich möchte von einem anderen AWS-Konto aus auf eine Amazon API Gateway-API zugreifen.

Lösung

Öffentliche API-Endpunkte

Du kannst direkt über die URL der API-Stufe auf öffentliche API Gateway-Endpunkte (regional oder Edge-optimiert) zugreifen. Zum Beispiel https://0123456789.execute-api.{region}.amazonaws.com/{stage-name}.

Du kannst auch mit einem benutzerdefinierten Domain-Namen in einer öffentlich gehosteten Zone auf öffentliche API Gateway-Endpunkte zugreifen.

Weitere Informationen findest du unter Wie kann ich einen benutzerdefinierten Domain-Namen für meine API Gateway-API einrichten?

Private REST-API-Endpunkte

Du kannst einen Schnittstellen-VPC-Endpunkt verwenden, um von der Amazon Virtual Private Cloud (Amazon VPC) aus auf private REST-API-Endpunkte zuzugreifen.

Um auf eine private REST-API zuzugreifen, die sich in einem anderen Konto befindet, bearbeite die Ressourcenrichtlinie, um kontoübergreifende Berechtigungen zu gewähren. Du kannst auch einen privaten benutzerdefinierten Domainnamen verwenden, um denVPC-Endpunkt einem anderen Konto zuzuordnen.

Weitere Informationen findest du unter Wie verwende ich einen Schnittstellen-VPC-Endpunkt, um auf eine private REST-API bei API Gateway in einem anderen Konto zuzugreifen?

IAM-Authentifizierung verwenden

Für den Zugriff auf eine API Gateway-API mit kontoübergreifendem Zugriff, die die AWS Identity and Access Management (IAM)-Authentifizierung verwendet, ist eine zusätzliche Konfiguration erforderlich. Stelle sicher, dass die IAM-Entität im Verbraucherkonto über die Berechtigungen zum Aufrufen der API über eine identitätsbasierte Richtlinie verfügt.

Der IAM-Rolle des Quellkontos muss expliziter Zugriff in der Ressourcenrichtlinie gewährt werden, wie z.  B. der Folgenden:

REST-APIs

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::CONSUMER-ACCOUNT-ID:user/USERNAME",
                    "CONSUMER-ACCOUNT-ID"
                ]
            },
            "Action": "execute-api:Invoke",
            "Resource": [
                "arn:aws:execute-api:YOUR-REGION:API-OWNER-ACCOUNT-ID:API-ID///*"
            ]
        }
    ]
}

Hinweis: Ersetze CONSUMER-ACCOUNT-ID, USERNAME, YOUR-REGION, API-OWNER-ACCOUNT-ID und API-ID durch deine Variablen.

Weitere Informationen findest du unter Wie aktiviere ich die IAM-Authentifizierung für API Gateway-REST-APIs?

HTTP-APIs

Die Option, Ressourcenrichtlinien zu verwenden, um kontoübergreifende IAM-Authentifizierung bereitzustellen, ist für API Gateway-HTTP-APIs nicht verfügbar.

Du kannst die API-Aktion sts:AssumeRole verwenden, um eine Rolle für das HTTP-API-Konto zu übernehmen. Die übernommene Rolle stellt temporäre Sicherheitsanmeldeinformationen bereit, die du verwenden kannst, um die HTTP-API in einem anderen Konto aufzurufen.

Weitere Informationen findest du unter Wie kann ich eine kontoübergreifende IAM-Autorisierung für API Gateway-HTTP-APIs bereitstellen?

Ähnliche Informationen

Private REST-APIs in API Gateway

Beispiel: Rollen in einem anderen AWS-Konto die Verwendung einer API ermöglichen