Tags zur Steuerung des Zugriffs auf API Gateway-REST-API-Ressourcen verwenden - 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.

Tags zur Steuerung des Zugriffs auf API Gateway-REST-API-Ressourcen verwenden

Bedingungen in AWS Identity and Access Management Richtlinien sind Teil der Syntax, mit der Sie Berechtigungen für API-Gateway-Ressourcen angeben. Einzelheiten zur Angabe von IAM-Richtlinien finden Sie unter Steuern Sie den Zugriff auf eine REST API mit IAM Berechtigungen. In API Gateway können Ressourcen Tags haben. Einige Aktionen können ebenfalls Tags enthalten. Wenn Sie eine IAM-Richtlinie erstellen, können Sie Tag-Bedingungsschlüssel verwenden, um Folgendes zu kontrollieren:

  • Welche Benutzer auf der Grundlage von Tags, die die Ressource bereits besitzt, Aktionen mit einer API Gateway-Ressource ausführen können.

  • Welche Tags in der Anforderung einer Aktion übergeben werden können.

  • Ob bestimmte Tag-Schlüssel in einer Anforderung verwendet werden können.

Die Verwendung von Tags für die attributbasierte Zugriffskontrolle kann eine feinere Kontrolle als die Kontrolle auf API-Ebene sowie eine dynamischere Kontrolle als die ressourcenbasierte Zugriffskontrolle ermöglichen. IAM-Richtlinien können erstellt werden, die eine Operation basierend auf Tags in der Anforderung (Anforderungs-Tags) oder Tags in der Ressource, mit der gearbeitet wird (Ressourcen-Tags), zulassen oder ablehnen. Im Allgemeinen sind Ressourcen-Tags für Ressourcen vorgesehen, die bereits vorhanden ist. Anforderungs-Tags sind dafür da, wenn Sie neue Ressourcen erstellen.

Die vollständige Syntax und Semantik der Tag-Bedingungsschlüssel finden Sie unter Steuern des Zugriffs mit Tags im IAM-Benutzerhandbuch.

Die folgenden Beispiele zeigen, wie Tag-Bedingungen in Richtlinien für API Gateway-Benutzer angegeben werden können.

Einschränken von Aktionen basierend auf Ressourcen-Tags

Die folgende Beispielrichtlinie erteilt Benutzern die Berechtigung zum Ausführen aller Aktionen für alle Ressourcen, sofern diese Ressourcen nicht über das Tag „Environment“ mit dem Wert „prod“ verfügen.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "apigateway:*", "Resource": "*" }, { "Effect": "Deny", "Action": [ "apigateway:*" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/Environment": "prod" } } } ] }

Zulassen von Aktionen basierend auf Ressourcen-Tags

Die folgende Beispielrichtlinie erlaubt es Benutzern, alle Aktionen für API Gateway-Ressourcen auszuführen, sofern die Ressourcen über das Tag „Environment“ mit dem Wert „Development“ verfügen. Die Deny-Anweisung verhindert, dass der Benutzer den Wert des Environment-Tags ändert.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ConditionallyAllow", "Effect": "Allow", "Action": [ "apigateway:*" ], "Resource": [ "arn:aws:apigateway:*::*" ], "Condition": { "StringEquals": { "aws:ResourceTag/Environment": "Development" } } }, { "Sid": "AllowTagging", "Effect": "Allow", "Action": [ "apigateway:*" ], "Resource": [ "arn:aws:apigateway:*::/tags/*" ] }, { "Sid": "DenyChangingTag", "Effect": "Deny", "Action": [ "apigateway:*" ], "Resource": [ "arn:aws:apigateway:*::/tags/*" ], "Condition": { "ForAnyValue:StringEquals": { "aws:TagKeys": "Environment" } } } ] }

Tagging-Operationen verweigern

Die folgende Beispielrichtlinie erlaubt es Benutzern, alle API Gateway-Aktionen auszuführen, mit Ausnahme des Änderns von Tags.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "apigateway:*" ], "Resource": [ "*" ], }, { "Effect": "Deny", "Action": [ "apigateway:*" ], "Resource": "arn:aws:apigateway:*::/tags*", } ] }

Tagging-Operationen erlauben

Die folgende Beispielrichtlinie erlaubt es Benutzern, alle API Gateway-Ressourcen abzurufen und die Tags für diese Ressourcen zu ändern. Um die Tags für eine Ressource abzurufen, muss der Benutzer über GET-Berechtigungen für diese Ressource verfügen. Um die Tags für eine Ressource zu aktualisieren, muss der Benutzer über PATCH-Berechtigungen für diese Ressource verfügen.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "apigateway:GET", "apigateway:PUT", "apigateway:POST", "apigateway:DELETE" ], "Resource": [ "arn:aws:apigateway:*::/tags/*", ] }, { "Effect": "Allow", "Action": [ "apigateway:GET", "apigateway:PATCH", ], "Resource": [ "arn:aws:apigateway:*::*", ] } ] }