Políticas de seguridad de IAM con PartiQL para DynamoDB
Los siguientes permisos son necesarios:
-
Para leer elementos que utilizan PartiQL para DynamoDB, debe tener el permiso
dynamodb:PartiQLSelect
en la tabla o índice. -
Para insertar elementos utilizando PartiQL para DynamoDB, debe tener el permiso
dynamodb:PartiQLInsert
en la tabla o índice. -
Para actualizar elementos con PartiQL para DynamoDB, debe tener el permiso
dynamodb:PartiQLUpdate
en la tabla o índice. -
Para eliminar elementos que utilizan PartiQL para DynamoDB, debe tener el permiso
dynamodb:PartiQLDelete
en la tabla o índice.
Ejemplo: Permitir todas las instrucciones PartiQL para DynamoDB (Select/Insert/Update/Delete) en una tabla
La siguiente política de IAM concede permisos para ejecutar todas las instrucciones PartiQL para DynamoDB en una tabla.
{ "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" ] } ] }
Ejemplo: Permitir que PartiQL para DynamoDB seleccione las instrucciones en una tabla
La siguiente política de IAM concede permisos para ejecutar la instrucción select
sobre una tabla específica.
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "dynamodb:PartiQLSelect" ], "Resource":[ "arn:aws:dynamodb:us-west-2:123456789012:table/Music" ] } ] }
Ejemplo: Permitir instrucciones de inserción de PartiQL para DynamoDB en un índice
La siguiente política de IAM concede permisos para ejecutar la instrucción insert
en un índice específico.
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "dynamodb:PartiQLInsert" ], "Resource":[ "arn:aws:dynamodb:us-west-2:123456789012:table/Music/index/index1" ] } ] }
Ejemplo: Permitir las instrucciones transaccionales de PartiQL para DynamoDB sólo en una tabla
La siguiente política de IAM concede permisos para ejecutar solamente instrucciones transaccionales en una tabla determinada.
{ "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" ] } } } ] }
Ejemplo: Permitir lecturas y escrituras no transaccionales de PartiQL para DynamoDB y bloquear lecturas y escrituras transaccionales de PartiQL en una tabla.
La siguiente directiva de IAM otorga permisos para ejecutar lecturas y escrituras no transaccionales de PartiQL para DynamoDB a la vez que bloquea lecturas y escrituras transaccionales de PartiQL para DynamoDB.
{ "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" ] } ] }
Ejemplo: permitir instrucciones Select y denegar instrucciones de análisis de tabla completa en PartiQL para DynamoDB
La siguiente política de IAM concede permisos para ejecutar la instrucción select
en una tabla específica mientras se bloquean las instrucciones select
que dan como resultado un examen completo de toda la tabla.
{ "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" ] } ] }