Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

Usar o ABAC com tabelas e índices do DynamoDB

Modo de foco
Usar o ABAC com tabelas e índices do DynamoDB - Amazon DynamoDB

As etapas a seguir demonstram como configurar permissões usando o ABAC. Neste cenário de exemplo, você adicionará tags a uma tabela do DynamoDB e criará um perfil do IAM com uma política que inclui condições baseadas em tags. Depois, você testará as permissões permitidas na tabela do DynamoDB combinando as condições da tag.

Etapa 1: adicionar tags a uma tabela do DynamoDB

É possível adicionar tags a tabelas novas ou existentes do DynamoDB usando o AWS Management Console, a API da AWS, a AWS Command Line Interface (AWS CLI), o SDK da AWS ou o AWS CloudFormation. Por exemplo, o comando da CLI tag-resource a seguir adiciona uma tag a uma tabela chamada MusicTable.

aws dynamodb tag-resource —resource-arn arn:aws:dynamodb:us-east-1:123456789012:table/MusicTable —tags Key=environment,Value=staging

Etapa 2: criar um perfil do IAM com uma política que inclui condições baseadas em tags

Crie uma política do IAM usando a chave de condição aws:ResourceTag/tag-key para comparar o par de chave-valor da tag especificado na política do IAM com o par de chave-valor anexado à tabela. O exemplo de política a seguir permite que os usuários coloquem ou atualizem itens em tabelas caso essas tabelas contenham o par de chave-valor de tag: "environment": "staging". Se uma tabela não tiver o par de chave-valor de tag especificado, essas ações serão negadas.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "dynamodb:PutItem", "dynamodb:UpdateItem" ], "Resource": "arn:aws:dynamodb:*:*:table/*", "Condition": { "StringEquals": { "aws:ResourceTag/environment": "staging" } } } ] }

Etapa 3: testar permissões

  1. Anexe a política do IAM a um usuário ou um perfil de teste à sua Conta da AWS. Assegure-se de que a entidade principal do IAM utilizada não tenha acesso à tabela do DynamoDB por meio de uma política diferente.

  2. Assegure-se de que sua tabela do DynamoDB contenha a chave de tag "environment" com um valor de "staging".

  3. Realize as ações dynamodb:PutItem e dynamodb:UpdateItem na tabela marcada. Essas ações devem ser bem-sucedidas caso o par de chave-valor de tag "environment": "staging" esteja presente.

    Se você realizar essas ações em uma tabela que não tenha o par de chave-valor de tag "environment": "staging", sua solicitação falhará com uma AccessDeniedException.

Você também pode analisar os outros exemplos de casos de uso descritos na seção a seguir para implementar o ABAC e realizar mais testes.

PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.