Políticas de segurança do IAM com PartiQL para DynamoDB
As seguintes permissões são necessárias:
-
Para ler itens usando PartiQL para DynamoDB, é necessário ter a permissão
dynamodb:PartiQLSelect
na tabela ou no índice. -
Para inserir itens usando PartiQL para DynamoDB, é necessário ter a permissão
dynamodb:PartiQLInsert
na tabela ou no índice. -
Para atualizar itens usando PartiQL para DynamoDB, é necessário ter a permissão
dynamodb:PartiQLUpdate
na tabela ou no índice. -
Para excluir itens usando PartiQL para DynamoDB, é necessário ter a permissão
dynamodb:PartiQLDelete
na tabela ou no índice.
Exemplo: permitir todas as instruções PartiQL para DynamoDB (Select/Insert/Update/Delete) em uma tabela
A política do IAM a seguir concede permissões para executar todas as instruções PartiQL para DynamoDB em uma tabela.
{ "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" ] } ] }
Exemplo: permitir instruções Select PartiQL para DynamoDB em uma tabela
A política do IAM a seguir concede permissões para executar a instrução select
em uma tabela específica.
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "dynamodb:PartiQLSelect" ], "Resource":[ "arn:aws:dynamodb:us-west-2:123456789012:table/Music" ] } ] }
Exemplo: permitir instruções Insert PartiQL para DynamoDB em um índice
A política do IAM a seguir concede permissões para executar a instrução insert
em um í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" ] } ] }
Exemplo: permitir instruções transacionais PartiQL para DynamoDB somente em uma tabela
A política do IAM a seguir concede permissões para executar somente instruções transacionais em uma tabela específica.
{ "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" ] } } } ] }
Exemplo: permitir leituras e gravações não transacionais PartiQL para DynamoDB e bloquear leituras e gravações transacionais PartiQL em uma tabela.
A política do IAM a seguir concede permissões para executar leituras e gravações não transacionais PartiQL para DynamoDB ao mesmo tempo que bloqueia leituras e gravações transacionais 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" ] } ] }
Exemplo: permitir instruções Select e negar instruções de verificação de tabela completa em PartiQL para DynamoDB
A política do IAM a seguir concede permissões para executar a instrução select
em uma tabela específica ao mesmo tempo que bloqueia instruções select
que resultam em uma verificação de tabela completa.
{ "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" ] } ] }