Kontrollieren des Zugriffs für den API-Aufruf - Amazon API Gateway

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Kontrollieren des Zugriffs für den API-Aufruf

In diesem Abschnitt erfahren Sie, wie Sie IAM-Richtlinienanweisungen verfassen, um zu steuern, wer eine bereitgestellte API in API Gateway aufrufen kann. Sie finden hier auch die Richtlinienanweisungsreferenz, einschließlich der Formate für die Action- und Resource-Felder für den API-Ausführungsservice. Sie sollten außerdem den IAM-Abschnitt in So beeinflussen API Gateway-Ressourcenrichtlinien den Autorisierungs-Workflow lesen.

Für private APIs sollten Sie eine Kombination aus einer API Gateway-Ressourcenrichtlinie und einer VPC-Endpunktrichtlinie verwenden. Weitere Informationen finden Sie unter den folgenden Themen:

Mit IAM-Richtlinien steuern, wer eine API Gateway-API-Methode aufrufen kann

Um mit IAM-Berechtigungen zu steuern, wer eine bereitgestellte API aufrufen kann oder nicht, erstellen Sie ein IAM-Richtliniendokument mit den erforderlichen Berechtigungen. Eine Vorlage für ein solches Richtliniendokument sehen Sie im Folgenden.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Permission", "Action": [ "execute-api:Execution-operation" ], "Resource": [ "arn:aws:execute-api:region:account-id:api-id/stage/METHOD_HTTP_VERB/Resource-path" ] } ] }

Hier muss Permission durch Allow oder Deny ersetzt werden, abhängig davon, ob Sie die enthaltenen Berechtigungen erteilen oder entziehen möchten.Execution-operation ist durch die vom API-Ausführungsdienst unterstützten Operationen zu ersetzen.METHOD_HTTP_VERB steht für ein HTTP-Verb, das von den angegebenen Ressourcen unterstützt wird. Resource-path ist der Platzhalter für den URL-Pfad einer bereitgestellten API-Resource-Instance, die das genannte METHOD_HTTP_VERB unterstützt. Weitere Informationen finden Sie unter Anweisungsreferenz für IAM-Richtlinien zur Ausführung der API in API Gateway.

Anmerkung

Damit IAM-Richtlinien wirksam sind, müssen Sie die IAM-Authentifizierung bei API-Methoden aktiviert haben, indem Sie AWS_IAM für die Eigenschaft authorizationType der Methoden festlegen. Andernfalls werden diese API-Methoden öffentlich zugänglich gemacht.

Angenommen, Sie möchten einem Benutzer die Berechtigung erteilen, eine Liste mit Haustieren anzusehen, die von einer bestimmten API zur Verfügung gestellt wird. Der Benutzer darf der Liste aber kein Haustier hinzufügen. Für diesen Fall können Sie die folgende Anweisung in die IAM-Richtlinie einschließen:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "execute-api:Invoke" ], "Resource": [ "arn:aws:execute-api:us-east-1:account-id:api-id/*/GET/pets" ] }, { "Effect": "Deny", "Action": [ "execute-api:Invoke" ], "Resource": [ "arn:aws:execute-api:us-east-1:account-id:api-id/*/POST/pets" ] } ] }

Um einem Benutzer die Berechtigung zum Anzeigen eines bestimmten Haustiers zu erteilen, das von einer API zur Verfügung gestellt wird, die als GET /pets/{petId} konfiguriert ist, können Sie die folgende Anweisung in die IAM-Richtlinie einschließen:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "execute-api:Invoke" ], "Resource": [ "arn:aws:execute-api:us-east-1:account-id:api-id/*/GET/pets/a1b2" ] } ] }

Anweisungsreferenz für IAM-Richtlinien zur Ausführung der API in API Gateway

Im Folgenden werden die "Action"- und "Resource"-Formate von IAM-Richtlinienanweisungen für Zugriffsberechtigungen zur Ausführung einer API beschrieben.

Aktionsformat für Berechtigungen zur Ausführung der API in API Gateway

Der Action-Ausdruck zur API-Ausführung weist das folgende allgemeine Format auf:

execute-api:action

Wobei action eine verfügbare API-Ausführungsaktion ist:

  • *, repräsentiert alle der folgenden Aktionen.

  • Invoke – wird verwendet, um eine API für eine Client-Anforderung aufzurufen.

  • InvalidateCache – wird verwendet, um den API-Cache für eine Client-Anforderung ungültig zu machen.

Ressourcenformat für Berechtigungen zur Ausführung der API in API Gateway

Der Resource-Ausdruck zur API-Ausführung weist das folgende allgemeine Format auf:

arn:aws:execute-api:region:account-id:api-id/stage-name/HTTP-VERB/resource-path-specifier

Wobei:

  • region die AWS-Region ist (z. B. us-east-1 oder * für alle AWS-Regionen), die der bereitgestellten API für die Methode entspricht.

  • account-id die 12-stellige AWS-Konto-ID des REST-API-Eigentümers ist.

  • api-id ist die ID, die API Gateway der API für die Methode zugewiesen hat.

  • stage-name ist der Name der Stufe, die mit der Methode verknüpft ist.

  • HTTP-VERB das HTTP-Verb für die Methode ist. Es kann eines der folgenden Verben sein: GET, POST, PUT, DELETE, PATCH.

  • resource-path-specifier ist der Pfad für die gewünschte Methode.

Anmerkung

Wenn Sie einen Platzhalter (*) angeben, wendet der Resource-Ausdruck den Platzhalter auf den Rest des Ausdrucks an.

Hier einige Ressourcenausdrücke als Beispiel:

  • arn:aws:execute-api:*:*:* für jeden Ressourcenpfad in allen Stufen, für jede API in sämtlichen AWS-Regionen.

  • arn:aws:execute-api:us-east-1:*:* für jeden Ressourcenpfad in allen Stufen, für jede API in AWSus-east-1-Regionen.

  • arn:aws:execute-api:us-east-1:*:api-id/* für jeden Ressourcenpfad in allen Stufen, für die API mit dem Bezeichner api-id in der AWS-Region „us-east-1“.

  • arn:aws:execute-api:us-east-1:*:api-id/test/* für einen Ressourcenpfad in der Stufe test, für die API mit dem Bezeichner api-id in der AWS-Region „us-east-1“.

Weitere Informationen hierzu finden Sie unter Referenz zu API Gateway Amazon-Ressourcenname (ARN).