Associar uma política baseada em recurso a um fluxo do DynamoDB
É possível associar uma política baseada em recursos ao fluxo de uma tabela existente ou modificar uma política existente usando o console do DynamoDB, a API PutResourcePolicy, a AWS CLI, o SDK da AWS ou um modelo do AWS CloudFormation.
nota
Não é possível associar uma política a um fluxo ao criá-lo usando as APIs CreateTable ou UpdateTable. No entanto, é possível modificar ou excluir uma política após a exclusão de uma tabela. Também é possível modificar ou excluir a política de um fluxo desabilitado.
O exemplo de política do IAM a seguir usa o comando put-resource-policy
da AWS CLI para associar uma política baseada em recursos ao fluxo de uma tabela denominada MusicCollection
. Este exemplo possibilita que o usuário John
realize as ações da API GetRecords, GetShardIterator e DescribeStream no fluxo.
Lembre-se de substituir o texto em itálico
pelas informações específicas do recurso.
aws dynamodb put-resource-policy \ --resource-arn arn:aws:dynamodb:us-west-2:
123456789012
:table/MusicCollection
/stream/2024-02-12T18:57:26.492
\ --policy \ "{ \"Version\": \"2012-10-17\", \"Statement\": [ { \"Effect\": \"Allow\", \"Principal\": { \"AWS\": \"arn:aws:iam::111122223333
:user/John
\" }, \"Action\": [ \"dynamodb:GetRecords\", \"dynamodb:GetShardIterator\", \"dynamodb:DescribeStream\" ], \"Resource\": \"arn:aws:dynamodb:us-west-2:123456789012
:table/MusicCollection
/stream/2024-02-12T18:57:26.492
\" } ] }"
Faça login no AWS Management Console e abra o console do DynamoDB em https://console.aws.amazon.com/dynamodb/
. -
No painel do console do DynamoDB, selecione Tabelas e, depois, uma tabela existente.
Verifique se a tabela selecionada tem fluxos ativados. Para ter informações sobre como ativar fluxos para uma tabela, consulte Habilitar um fluxo.
-
Escolha a aba Permissões.
-
Em Política baseada em recursos para fluxo ativo, selecione Criar política de fluxo.
-
No editor Política baseada em recursos, adicione uma política para definir as permissões de acesso para o fluxo. Nessa política, você deve especificar quem tem acesso ao fluxo e as ações que podem realizar no fluxo. Para adicionar uma política, siga um destes procedimentos:
-
Digite ou cole um documento de política JSON. Para ter detalhes sobre a linguagem de política do IAM, consulte Criar políticas usando o editor de JSON no Guia do usuário do IAM.
dica
Para ver exemplos de políticas baseadas em recursos no Guia do desenvolvedor do Amazon DynamoDB, selecione Exemplos de políticas.
-
Selecione Adicionar nova declaração para adicionar uma nova declaração e insira as informações nos campos fornecidos. Repita esta etapa para todas as instruções que deseja adicionar.
Importante
Solucione avisos de segurança, erros ou sugestões antes de salvar a política.
-
-
(Opcional) Escolha Preview external access (Pré-visualizar o acesso externo) na canto inferior direito para pré-visualizar a forma como sua nova política afetará o acesso público e entre contas ao seu recurso. Antes de salvar sua política, você pode verificar se ela introduz novas descobertas do IAM Access Analyzer ou resolve as descobertas existentes. Se você não vir um analisador ativo, escolha Go to Access Analyzer (Acessar o Access Analyzer) para criar um analisador de contas no IAM Access Analyzer. Para ter mais informações, consulte Acesso de visualização.
-
Escolha Criar política.
O exemplo de política do IAM a seguir associa uma política baseada em recursos ao fluxo de uma tabela denominada MusicCollection
. Este exemplo possibilita que o usuário John
realize as ações da API GetRecords, GetShardIterator e DescribeStream no fluxo.
Lembre-se de substituir o texto em itálico
pelas informações específicas do recurso.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::
111122223333
:user/John
" }, "Action": [ "dynamodb:GetRecords", "dynamodb:GetShardIterator", "dynamodb:DescribeStream" ], "Resource": [ "arn:aws:dynamodb:us-west-2:123456789012
:table/MusicCollection
/stream/2024-02-12T18:57:26.492
" ] } ] }