Beispiele für Richtlinien mit einwertigen Kontextschlüsseln - AWS Identitäts- und Zugriffsverwaltung

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.

Beispiele für Richtlinien mit einwertigen Kontextschlüsseln

Die folgenden Richtlinienbeispiele veranschaulichen, wie Richtlinienbedingungen mit einwertigen Kontextschlüsseln erstellt werden.

Beispiel: Mehrere Bedingungsblöcke mit einwertigen Kontextschlüsseln

Wenn ein Bedingungsblock mehrere Bedingungen mit jeweils einem einzelnen Kontextschlüssel enthält, müssen alle Kontextschlüssel zu „wahr“ aufgelöst werden, damit der gewünschte Allow- oder Deny-Effekt aufgerufen wird. Wenn Sie negierte übereinstimmende Bedingungsoperatoren verwenden, wird die Auswertungslogik des Bedingungswerts umgedreht.

Im folgenden Beispiel können Benutzer EC2 Volumen erstellen und während der Volumenerstellung Tags auf die Volumes anwenden. Der Anforderungskontext muss einen Wert für den Kontextschlüssel aws:RequestTag/project enthalten. Der Wert für den Kontextschlüssel aws:ResourceTag/environment kann ein beliebiger Wert außer „Produktion“ sein.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ec2:CreateVolume", "Resource": "*" }, { "Effect": "Allow", "Action": "ec2:CreateTags", "Resource": "arn:aws:ec2:::volume/*", "Condition": { "StringLike": { "aws:RequestTag/project": "*" } } }, { "Effect": "Allow", "Action": "ec2:CreateTags", "Resource": "arn:aws:ec2:region:account:*/*", "Condition": { "StringNotEquals": { "aws:ResourceTag/environment": "production" } } } ] }

Der Anforderungskontext muss einen Projekt-Tag-Wert enthalten und kann nicht für eine Produktionsressource zum Aufrufen des Allow-Effekts erstellt werden. Das folgende EC2 Volume wurde erfolgreich erstellt, da der Projektname Feature3 mit einem QA Ressourcen-Tag versehen ist.

aws ec2 create-volume \ --availability-zone us-east-1a \ --volume-type gp2 \ --size 80 \ --tag-specifications 'ResourceType=volume,Tags=[{Key=project,Value=Feature3},{Key=environment,Value=QA}]'

Beispiel: Ein Bedingungsblock mit mehreren einwertigen Kontextschlüsseln und -werten

Wenn ein Bedingungsblock mehrere Kontextschlüssel enthält und jeder Kontextschlüssel über mehrere Werte verfügt, muss jeder Kontextschlüssel zu „wahr“ aufgelöst werden, damit mindestens ein Schlüsselwert für den gewünschten Allow- oder Deny-Effekt aufgerufen wird. Wenn Sie negierte übereinstimmende Bedingungsoperatoren verwenden, wird die Auswertungslogik des Wertes des Bedingungsschlüssels umgedreht.

Mit dem folgenden Beispiel können Benutzer Aufgaben in Clustern in Amazon Elastic Container Service starten und ausführen.

  • Der Anforderungskontext muss production OR prod-backup für den aws:RequestTag/environment Kontextschlüssel enthalten AND.

  • Der ecs:cluster Kontextschlüssel stellt sicher, dass Aufgaben entweder auf den default1 default2 ARN ECS OR-Clustern ausgeführt werden.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ecs:RunTask", "ecs:StartTask" ], "Resource": [ "*" ], "Condition": { "StringEquals": { "aws:RequestTag/environment": [ "production", "prod-backup" ] }, "ArnEquals": { "ecs:cluster": [ "arn:aws:ecs:us-east-1:111122223333:cluster/default1", "arn:aws:ecs:us-east-1:111122223333:cluster/default2" ] } } } ] }