Políticas de segurança do IAM com PartiQL para DynamoDB - Amazon DynamoDB

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" ] } ] }