View a markdown version of this page

Verwenden von IAM-Bedingungsschlüsseln mit Amazon Aurora DSQL - Amazon Aurora DSQL

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.

Verwenden von IAM-Bedingungsschlüsseln mit Amazon Aurora DSQL

Das Condition Element (oder der Condition Block) gibt die Bedingungen an, unter denen eine Richtlinienerklärung in Kraft tritt. Sie erstellen bedingte Ausdrücke mithilfe von Bedingungsoperatoren wie StringEquals oderStringLike, um Schlüssel in der Richtlinie mit Werten in der Anforderung abzugleichen. Bedingungsschlüssel unterscheiden sich vom ARN-Bereich für Ressourcen, bei dem Aktionen mithilfe des Elements auf bestimmte Ressourcen beschränkt werden. Resource

Amazon Aurora DSQL unterstützt sowohl dienstspezifische Bedingungsschlüssel als auch globale Bedingungsschlüssel. AWS Sie können diese Schlüssel verwenden, um die Bedingungen zu verfeinern, unter denen Ihre IAM-Richtlinienerklärungen gelten. Weitere Informationen zu AWS globalen Bedingungsschlüsseln finden Sie unter AWS Globale Bedingungskontextschlüssel im IAM-Benutzerhandbuch.

Verfügbare Bedingungsschlüssel für Amazon Aurora DSQL

Amazon Aurora DSQL unterstützt die dienstspezifischen Bedingungsschlüssel dsql:WitnessRegiondsql:FisActionId, und. dsql:FisTargetArns Sie können auch AWS globale Bedingungsschlüssel wie aws:RequestTagaws:ResourceTag, und verwenden. aws:TagKeys Eine vollständige Liste der Amazon Aurora DSQL-Aktionen, Bedingungsschlüssel und Ressourcen, die Sie in Richtlinien angeben können, finden Sie unter Aktionen, Ressourcen und Bedingungsschlüssel für Amazon Aurora DSQL in der Service Authorization Reference.

Beispiel: Beschränken Sie die Witness-Region für Cluster mit mehreren Regionen

Die folgende Richtlinie verwendet den dsql:WitnessRegion Bedingungsschlüssel, um die Clustererstellung mit mehreren Regionen auf Fälle zu beschränken, in denen als Zeuge die Region USA West (Oregon) angegeben ist. Ohne diese Bedingung können Sie eine beliebige Region als Zeugen-Region angeben.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "AllowCreateWithSpecificWitness", "Effect": "Allow", "Action": [ "dsql:CreateCluster", "dsql:PutWitnessRegion" ], "Resource": "arn:aws:dsql:*:123456789012:cluster/*", "Condition": { "StringEquals": { "dsql:WitnessRegion": "us-west-2" } } }, { "Sid": "AllowMultiRegionSetup", "Effect": "Allow", "Action": [ "dsql:PutMultiRegionProperties", "dsql:AddPeerCluster" ], "Resource": "arn:aws:dsql:*:123456789012:cluster/*" } ] }

Die erste Anweisung wendet die dsql:WitnessRegion Bedingung auf die Aktionen an, die sie unterstützen (dsql:CreateClusterunddsql:PutWitnessRegion). Die zweite Anweisung gewährt dsql:PutMultiRegionProperties und dsql:AddPeerCluster ohne die Bedingung, weil der dsql:WitnessRegion Bedingungsschlüssel nur für dsql:CreateCluster und giltdsql:PutWitnessRegion.

Beispiel: Beim Erstellen von Clustern sind Tags erforderlich

Die folgende Richtlinie verwendet die aws:TagKeys Bedingungsschlüssel aws:RequestTag und, um beim Erstellen von Clustern ein Environment Tag erforderlich zu machen.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "AllowCreateWithRequiredTag", "Effect": "Allow", "Action": "dsql:CreateCluster", "Resource": "arn:aws:dsql:*:123456789012:cluster/*", "Condition": { "StringEquals": { "aws:RequestTag/Environment": [ "production", "staging", "development" ] }, "ForAllValues:StringEquals": { "aws:TagKeys": [ "Environment", "Owner" ] } } } ] }

Diese Richtlinie verwendet zwei Bedingungsschlüssel zusammen. Die aws:RequestTag/Environment Bedingung erfordert, dass das Environment Tag einen der zulässigen Werte hat. Die aws:TagKeys Bedingung mit dem ForAllValues Set-Operator stellt sicher, dass die Anforderung nur die Owner Tag-Schlüssel Environment und enthält.

Beispiel: Beschränken Sie die Fehlerinjektion auf bestimmte Cluster

Die folgende Richtlinie verwendet die dsql:FisTargetArns Bedingungstasten dsql:FisActionId und, um die AWS FIS Fehlerinjektion auf eine bestimmte Aktion und einen bestimmten Zielcluster zu beschränken.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "AllowSpecificFaultInjection", "Effect": "Allow", "Action": "dsql:InjectError", "Resource": "*", "Condition": { "StringEquals": { "dsql:FisActionId": "aws:dsql:cluster-connection-failure" }, "ForAllValues:ArnLike": { "dsql:FisTargetArns": "arn:aws:dsql:us-east-1:123456789012:cluster/*" } } } ] }

Die dsql:FisActionId Bedingung schränkt die Fault-Injection-Aktionen ein, die Sie ausführen können. Die dsql:FisTargetArns Bedingung verwendet den ForAllValues Set-Operator und den ArnLike Operator. Zusammen stellen sie sicher, dass jeder Cluster-ARN in der Anforderung dem zulässigen Muster entspricht. Dadurch werden alle Anfragen blockiert, die Cluster-ARNs außerhalb des vorgesehenen Bereichs enthalten.