Funktionsweise von Amazon API Gateway mit IAM - APIAmazon-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.

Funktionsweise von Amazon API Gateway mit IAM

Bevor Sie mit IAM den Zugriff auf API Gateway verwalten können, sollten Sie sich darüber informieren, welche IAM-Funktionen Sie mit API Gateway verwenden können. Einen allgemeinen Überblick darüber, wie API Gateway und andere AWS Dienste mit IAM funktionieren, finden Sie unter AWS Services That Work with IAM im IAM-Benutzerhandbuch.

Identitätsbasierte API-Gateway-Richtlinien

Mit identitätsbasierten IAM-Richtlinien können Sie angeben, welche Aktionen und Ressourcen zugelassen oder abgelehnt werden. Darüber hinaus können Sie die Bedingungen festlegen, unter denen Aktionen zugelassen oder abgelehnt werden. API Gateway unterstützt bestimmte Aktionen, Ressourcen und Bedingungsschlüssel. Weitere Informationen zu den API-Gateway-spezifischen Aktionen, Ressourcen und Bedingungsschlüsseln finden Sie im Abschnitt Aktionen, Ressourcen und Bedingungsschlüssel für Amazon-API-Gateway-Management und Aktionen, Ressourcen und Bedingungsschlüssel für Amazon-API-Gateway-Management V2. Informationen zu allen Elementen, die Sie in einer JSON-Richtlinie verwenden, finden Sie in der IAM-Referenz für JSON-Richtlinienelemente im IAM-Benutzerhandbuch.

Das folgende Beispiel zeigt eine identitätsbasierte Richtlinie, die es einem Benutzer ermöglicht, nur private REST-APIs zu erstellen oder zu aktualisieren. Weitere Beispiele finden Sie unter Beispiele für identitätsbasierte Amazon API Gateway-Richtlinien.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ScopeToPrivateApis", "Effect": "Allow", "Action": [ "apigateway:PATCH", "apigateway:POST", "apigateway:PUT" ], "Resource": [ "arn:aws:apigateway:us-east-1::/restapis", "arn:aws:apigateway:us-east-1::/restapis/??????????" ], "Condition": { "ForAllValues:StringEqualsIfExists": { "apigateway:Request/EndpointType": "PRIVATE", "apigateway:Resource/EndpointType": "PRIVATE" } } }, { "Sid": "AllowResourcePolicyUpdates", "Effect": "Allow", "Action": [ "apigateway:UpdateRestApiPolicy" ], "Resource": [ "arn:aws:apigateway:us-east-1::/restapis/*" ] } ] }

Aktionen

Das Element Action einer JSON-Richtlinie beschreibt die Aktionen, mit denen Sie in einer Richtlinie den Zugriff erlauben oder verweigern können.

Richtlinienaktionen in API Gateway verwenden das folgende Präfix vor der Aktion: apigateway:. Richtlinienanweisungen müssen entweder ein Action- oder ein NotAction-Element enthalten. API Gateway definiert eine eigene Gruppe von Aktionen, die Aufgaben beschreiben, die Sie mit diesem Service durchführen können.

Der API-verwaltende Action-Ausdruck hat das Format apigateway:action, wobei action eine der folgenden API-Gateway-Aktionen ist: GET, POST, PUT, DELETE, PATCH (zur Aktualisierung von Ressourcen) oder * für alle vorherigen Aktionen.

Einige Beispiele für den Action-Ausdruck sind:

  • apigateway:* für alle API Gateway-Aktionen.

  • apigateway:GET nur für die GET-Aktion in API Gateway.

Um mehrere Aktionen in einer einzigen Anweisung anzugeben, trennen Sie sie wie folgt durch Kommata:

"Action": [ "apigateway:action1", "apigateway:action2"

Informationen zu HTTP-Verben, die für bestimmte API Gateway-Operationen verwendet werden können, finden Sie unter Amazon API Gateway Version 1 API-Referenz (REST-APIs) und Amazon API Gateway Version 2 API-Referenz (WebSocket und HTTP-APIs).

Weitere Informationen finden Sie unter Beispiele für identitätsbasierte Amazon API Gateway-Richtlinien.

Ressourcen

Administratoren können mithilfe von AWS JSON-Richtlinien angeben, wer Zugriff auf was hat. Das bedeutet die Festlegung, welcher Prinzipal Aktionen für welche Ressourcen unter welchen Bedingungen ausführen kann.

Das JSON-Richtlinienelement Resource gibt die Objekte an, auf welche die Aktion angewendet wird. Anweisungen müssen entweder ein – Resourceoder ein NotResource-Element enthalten. Als bewährte Methode geben Sie eine Ressource mit dem zugehörigen Amazon-Ressourcennamen (ARN) an. Sie können dies für Aktionen tun, die einen bestimmten Ressourcentyp unterstützen, der als Berechtigungen auf Ressourcenebene bezeichnet wird.

Verwenden Sie für Aktionen, die keine Berechtigungen auf Ressourcenebene unterstützen, z. B. Auflistungsoperationen, einen Platzhalter (*), um anzugeben, dass die Anweisung für alle Ressourcen gilt.

"Resource": "*"

API Gateway-Ressourcen verfügen über das folgende ARN-Format:

arn:aws:apigateway:region::resource-path-specifier

Um beispielsweise eine REST-API mit der ID api-id und ihren Unterressourcen, wie Autorisierern in Ihrer Anweisung, anzugeben, verwenden Sie den folgenden ARN:

"Resource": "arn:aws:apigateway:us-east-2::/restapis/api-id/*"

Um alle REST-APIs und Unterressourcen anzugeben, die zu einem bestimmten Konto gehören, verwenden Sie den Platzhalter (*):

"Resource": "arn:aws:apigateway:us-east-2::/restapis/*"

Eine Liste der API Gateway-Ressourcentypen und ihrer ARNs finden Sie unter Referenz zu API Gateway Amazon-Ressourcenname (ARN).

Bedingungsschlüssel

Administratoren können mithilfe von AWS JSON-Richtlinien angeben, wer auf was Zugriff hat. Das heißt, welcher Prinzipal kann Aktionen für welche Ressourcen und unter welchen Bedingungen ausführen.

Das Element Condition (oder Condition block) ermöglicht Ihnen die Angabe der Bedingungen, unter denen eine Anweisung wirksam ist. Das Element Condition ist optional. Sie können bedingte Ausdrücke erstellen, die Bedingungsoperatoren verwenden, z. B. ist gleich oder kleiner als, damit die Bedingung in der Richtlinie mit Werten in der Anforderung übereinstimmt.

Wenn Sie mehrere Condition-Elemente in einer Anweisung oder mehrere Schlüssel in einem einzelnen Condition-Element angeben, wertet AWS diese mittels einer logischen AND-Operation aus. Wenn Sie mehrere Werte für einen einzelnen Bedingungsschlüssel angeben, AWS wertet die Bedingung mithilfe einer logischen OR Operation aus. Alle Bedingungen müssen erfüllt werden, bevor die Berechtigungen der Anweisung gewährt werden.

Sie können auch Platzhaltervariablen verwenden, wenn Sie Bedingungen angeben. Beispielsweise können Sie einem IAM-Benutzer die Berechtigung für den Zugriff auf eine Ressource nur dann gewähren, wenn sie mit dessen IAM-Benutzernamen gekennzeichnet ist. Weitere Informationen finden Sie unter IAM-Richtlinienelemente: Variablen und Tags im IAM-Benutzerhandbuch.

AWS unterstützt globale Bedingungsschlüssel und dienstspezifische Bedingungsschlüssel. Eine Übersicht aller AWS globalen Bedingungsschlüssel finden Sie unter Kontextschlüssel für AWS globale Bedingungen im IAM-Benutzerhandbuch.

API Gateway definiert einen eigenen Satz von Bedingungsschlüsseln und unterstützt auch einige globale Bedingungsschlüssel. Eine Liste der API Gateway-Bedingungsschlüssel finden Sie unter Bedingungsschlüssel für Amazon API Gateway im IAM-Benutzerhandbuch. Informationen zu den Aktionen und Ressourcen, die Sie mit einem Bedingungsschlüssel verwenden können, finden Sie unter Von Amazon API Gateway definierte Aktionen.

Informationen zur Markierung, einschließlich attributbasierter Zugriffskontrolle, finden Sie unter API Gateway-Ressourcen taggen.

Beispiele

Beispiele für identitätsbasierte API Gateway-Richtlinien finden Sie unter Beispiele für identitätsbasierte Amazon API Gateway-Richtlinien.

Ressourcenbasierte API Gateway-Richtlinien

Ressourcenbasierte Richtlinien sind JSON-Richtliniendokumente, die angeben, welche Aktionen ein bestimmter Prinzipal unter welchen Bedingungen für die API Gateway-Ressource ausführen kann. API Gateway unterstützt ressourcenbasierte Berechtigungsrichtlinien für REST-APIs. Sie verwenden Ressourcenrichtlinien, um zu steuern, wer eine REST-API aufrufen kann. Weitere Informationen finden Sie unter Steuern Sie den Zugriff auf eine REST API mit API Gateway-Ressourcenrichtlinien.

Beispiele

Beispiele für ressourcenbasierte API Gateway-Richtlinien finden Sie unter APIBeispiele für Gateway-Ressourcenrichtlinien.

Autorisierung basierend auf API Gateway-Tags

Sie können Tags an API Gateway-Ressourcen anfügen oder Tags in einer Anforderung an API Gateway übergeben. Um den Zugriff basierend auf Tags zu steuern, stellen Sie Tag-Informationen im Bedingungselement einer Richtlinie unter Verwendung der Bedingungsschlüssel apigateway:ResourceTag/key-name, aws:RequestTag/key-name oder aws:TagKeys bereit. Weitere Informationen über das Markieren mit Tags von API Gateway-Ressourcen finden Sie unter Tags zur Steuerung des Zugriffs auf API Gateway-REST-API-Ressourcen verwenden.

Beispiele für identitätsbasierte Richtlinien zur Einschränkung des Zugriffs auf eine Ressource auf der Grundlage der Tags dieser Ressource finden Sie unter Tags zur Steuerung des Zugriffs auf API Gateway-REST-API-Ressourcen verwenden.

API Gateway-IAM-Rollen

Eine IAM-Rolle ist eine Entität in Ihrem AWS Konto, die über bestimmte Berechtigungen verfügt.

Verwenden temporärer Anmeldeinformationen mit API Gateway

Sie können temporäre Anmeldeinformationen verwenden, um sich über einen Verbund anzumelden, eine IAM-Rolle anzunehmen oder eine kontenübergreifende Rolle anzunehmen. Sie erhalten temporäre Sicherheitsanmeldedaten, indem Sie AWS STS API-Operationen wie AssumeRoleoder GetFederationTokenaufrufen.

API Gateway unterstützt die Verwendung temporärer Anmeldeinformationen.

Service-verknüpfte Rollen

Mit dienstbezogenen Rollen können AWS Dienste auf Ressourcen in anderen Diensten zugreifen, um eine Aktion in Ihrem Namen auszuführen. Serviceverknüpfte Rollen werden in Ihrem IAM-Konto angezeigt und gehören zum Service. Ein IAM-Administrator kann die Berechtigungen für serviceverknüpfte Rollen anzeigen, aber nicht bearbeiten.

API Gateway unterstützt serviceverknüpfte Rollen. Informationen zum Erstellen oder Verwalten von serviceverknüpften API Gateway-Rollen finden Sie unter Verwenden von serviceverknüpften Rollen für API Gateway.

Servicerollen

Ein Service kann in Ihrem Namen eine Service-Rolle annehmen. Eine Service-Rolle gewährt dem Service Zugriff auf Ressourcen in anderen Services, um eine Aktion in Ihrem Namen auszuführen. Service-Rollen werden in Ihrem IAM-Konto angezeigt und gehören dem Konto, sodass ein Administrator die Berechtigungen für diese Rolle ändern kann. Dies kann jedoch die Funktionalität des Dienstes beeinträchtigen.

API Gateway unterstützt Servicerollen.