IAM-Sicherheitsrichtlinien mit PartiQL für DynamoDB - Amazon-DynamoDB

IAM-Sicherheitsrichtlinien mit PartiQL für DynamoDB

Die folgenden Berechtigungen sind erforderlich:

  • Um Elemente mit PartiQL für DynamoDB zu lesen, müssen Sie über die dynamodb:PartiQLSelect-Berechtigung für die Tabelle oder den Index verfügen.

  • Um Elemente mit PartiQL für DynamoDB einzufügen, müssen Sie über die dynamodb:PartiQLInsert-Berechtigung für die Tabelle oder den Index verfügen.

  • Um Elemente mit PartiQL für DynamoDB zu aktualisieren, müssen Sie über die dynamodb:PartiQLUpdate-Berechtigung für die Tabelle oder den Index verfügen.

  • Um Elemente mit PartiQL für DynamoDB zu löschen, müssen Sie über die dynamodb:PartiQLDelete-Berechtigung für die Tabelle oder den Index verfügen.

Beispiel: Alle PartiQL für DynamoDB-Anweisungen (Select/Insert/Update/Delete) in einer Tabelle zulassen

Mit der folgenden IAM-Richtlinie werden alle PartiQL für DynamoDB-Anweisungen in einer Tabelle erteilt.

JSON
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "dynamodb:PartiQLInsert", "dynamodb:PartiQLUpdate", "dynamodb:PartiQLDelete", "dynamodb:PartiQLSelect" ], "Resource":[ "arn:aws:dynamodb:us-west-2:123456789012:table/Music" ] } ] }

Beispiel: PartiQL für DynamoDB-Auswahlanweisungen für eine Tabelle zulassen

Mit der folgenden IAM-Richtlinie werden die Berechtigungen zum Ausführen der select-Anweisung für eine bestimmte Tabelle erteilt

JSON
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "dynamodb:PartiQLSelect" ], "Resource":[ "arn:aws:dynamodb:us-west-2:123456789012:table/Music" ] } ] }

Beispiel: PartiQL für DynamoDB-Einfügeanweisungen für einen Index zulassen

Mit der folgenden IAM-Richtlinie werden die Berechtigungen zum Ausführen des insert-Anweisung auf einen bestimmten Index.

JSON
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "dynamodb:PartiQLInsert" ], "Resource":[ "arn:aws:dynamodb:us-west-2:123456789012:table/Music/index/index1" ] } ] }

Beispiel: PartiQL für DynamoDB-Transaktionsanweisungen nur für eine Tabelle zulassen

Mit der folgenden IAM-Richtlinie werden die Berechtigungen nur zum Ausführen transaktionaler Anweisungen für eine bestimmte Tabelle erteilt.

JSON
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "dynamodb:PartiQLInsert", "dynamodb:PartiQLUpdate", "dynamodb:PartiQLDelete", "dynamodb:PartiQLSelect" ], "Resource":[ "arn:aws:dynamodb:us-west-2:123456789012:table/Music" ], "Condition":{ "StringEquals":{ "dynamodb:EnclosingOperation":[ "ExecuteTransaction" ] } } } ] }

Beispiel: Erlauben Sie PartiQL für nicht-transaktionale DynamoDB-Lese- und Schreibvorgänge und blockieren Sie PartiQL-transaktionale Lese- und Schreibvorgänge in einer Tabelle.

Die folgende IAM-Richtlinie gewährt Berechtigungen zum Ausführen von nicht-transaktionalen Lese-/Schreibvorgängen in PartiQL für DynamoDB, während transaktionale Lese-/Schreibvorgänge in PartiQL für DynamoDB blockiert werden.

JSON
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Deny", "Action":[ "dynamodb:PartiQLInsert", "dynamodb:PartiQLUpdate", "dynamodb:PartiQLDelete", "dynamodb:PartiQLSelect" ], "Resource":[ "arn:aws:dynamodb:us-west-2:123456789012:table/Music" ], "Condition":{ "StringEquals":{ "dynamodb:EnclosingOperation":[ "ExecuteTransaction" ] } } }, { "Effect":"Allow", "Action":[ "dynamodb:PartiQLInsert", "dynamodb:PartiQLUpdate", "dynamodb:PartiQLDelete", "dynamodb:PartiQLSelect" ], "Resource":[ "arn:aws:dynamodb:us-west-2:123456789012:table/Music" ] } ] }

Beispiel: In PartiQL für DynamoDB Select-Anweisungen erlauben und vollständige Tabellenscan-Anweisungen verweigern

Mit der folgenden IAM-Richtlinie werden die Berechtigungen zum Ausführen der select-Anweisung für eine bestimmte Tabelle beim Blockieren von select-Anweisungen, die zu einem vollständigen Tabellenscan führen.

JSON
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Deny", "Action":[ "dynamodb:PartiQLSelect" ], "Resource":[ "arn:aws:dynamodb:us-west-2:123456789012:table/WatchList" ], "Condition":{ "Bool":{ "dynamodb:FullTableScan":[ "true" ] } } }, { "Effect":"Allow", "Action":[ "dynamodb:PartiQLSelect" ], "Resource":[ "arn:aws:dynamodb:us-west-2:123456789012:table/WatchList" ] } ] }