As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
AWS::DynamoDB::GlobalTable ResourcePolicy
Cria ou atualiza um documento de política baseado em recursos que contém as permissões para DynamoDB recursos, como uma tabela, seus índices e fluxo. Com as políticas baseadas em recursos, é possível definir as permissões de acesso especificando quem tem acesso a cada recurso e as ações que podem ser realizadas em cada recurso.
Em um CloudFormation modelo, você pode fornecer a política no YAML formato JSON ou no formato porque YAML a CloudFormation converte em JSON antes de enviá-la. DynamoDBPara obter mais informações sobre políticas baseadas em recursos, consulte Usando políticas baseadas em recursos DynamoDB e Exemplos de políticas baseadas em recursos.
Ao definir políticas baseadas em recursos em seus CloudFormation modelos, as seguintes considerações se aplicam:
-
O tamanho máximo suportado para um documento de política baseado em recursos no JSON formato é de 20 KB. DynamoDB conta os espaços em branco ao calcular o tamanho de uma política em relação a esse limite.
-
As políticas baseadas em recursos não aceitam a detecção de oscilação. Se você atualizar uma política fora do modelo de CloudFormation pilha, precisará atualizar a CloudFormation pilha com as alterações.
-
As políticas baseadas em recursos não oferecem suporte out-of-band a mudanças. Se você adicionar, atualizar ou excluir uma política fora do CloudFormation modelo, a alteração não será substituída se não houver alterações na política dentro do modelo.
Por exemplo, digamos que seu modelo contenha uma política baseada em recursos, que você atualiza posteriormente fora do modelo. Se você não fizer nenhuma alteração na política no modelo, a política atualizada DynamoDB não será sincronizada com a política no modelo.
Por outro lado, digamos que seu modelo não contenha uma política baseada em recursos, mas você adiciona uma política fora do modelo. Essa política não será removida DynamoDB desde que você não a adicione ao modelo. Quando você adiciona uma política ao modelo e atualiza a pilha, a política existente DynamoDB será atualizada para corresponder à definida no modelo.
-
Em uma política baseada em recursos, se a ação de uma função DynamoDB vinculada ao serviço (SLR) replicar dados para uma tabela global for negada, a adição ou exclusão de uma réplica falhará com um erro.
-
O GlobalTable recurso AWS: :DynamoDB:: não oferece suporte à criação de uma réplica na mesma atualização da pilha em regiões diferentes da região em que você implanta a atualização da pilha.
Para obter uma lista completa de todas as considerações, consulte Considerações sobre políticas baseadas em recursos.
Sintaxe
Para declarar essa entidade em seu AWS CloudFormation modelo, use a seguinte sintaxe:
JSON
{ "PolicyDocument" :
Json
}
YAML
PolicyDocument:
Json
Propriedades
PolicyDocument
-
Um documento de política baseado em recursos que contém permissões para adicionar à DynamoDB tabela especificada, seus índices e fluxo. Em um CloudFormation modelo, você pode fornecer a política no YAML formato JSON ou no formato porque YAML a CloudFormation converte em JSON antes de enviá-la. DynamoDBPara obter mais informações sobre políticas baseadas em recursos, consulte Usando políticas baseadas em recursos DynamoDB e Exemplos de políticas baseadas em recursos.
Obrigatório: Sim
Tipo: Json
Requisitos da atualização: sem interrupção
Exemplos
Anexar uma política baseada em recursos a uma DynamoDB tabela criada usando o recurso. AWS::DynamoDB::GlobalTable
O CloudFormation modelo a seguir cria uma tabela com o GlobalTable recurso AWS: :DynamoDB:: e anexa uma política baseada em recursos à tabela e ao seu stream. Essa política permite que foobar
o usuário execute a GetItemoperação na mesa. Além disso, o modelo a seguir ativa um fluxo e, em seguida, anexa uma política baseada em recursos ao fluxo. A política baseada em recursos para o fluxo permite que foobar
o usuário execute as DescribeStreamoperações GetRecordsGetShardIterator, e no fluxo.
Importante
Se você habilitar um stream em um CloudFormation modelo e também definir uma política para o stream, a política será anexada ao stream somente depois que o stream for habilitado, mas antes que a atualização da pilha seja concluída.
JSON
{ "AWSTemplateFormatVersion": "2010-09-09", "Resources": { "GlobalMusicCollection": { "Type": "AWS::DynamoDB::GlobalTable", "Properties": { "TableName": "MusicCollection", "AttributeDefinitions": [{ "AttributeName": "Artist", "AttributeType": "S" }], "KeySchema": [{ "AttributeName": "Artist", "KeyType": "HASH" }], "BillingMode": "PAY_PER_REQUEST", "StreamSpecification": { "StreamViewType": "NEW_AND_OLD_IMAGES" }, "Replicas": [ { "Region": "us-east-1", "ResourcePolicy": { "PolicyDocument": { "Version": "2012-10-17", "Statement": [{ "Principal": { "AWS": [ "arn:aws:iam::111122223333:user/foobar" ] }, "Effect": "Allow", "Action": "dynamodb:GetItem", "Resource": "*" }] } }, "ReplicaStreamSpecification": { "ResourcePolicy": { "PolicyDocument": { "Version": "2012-10-17", "Statement": [{ "Principal": { "AWS": "arn:aws:iam::111122223333:user/foobar" }, "Effect": "Allow", "Action": [ "dynamodb:GetRecords", "dynamodb:GetShardIterator", "dynamodb:DescribeStream" ], "Resource": "*" }] } } } } ] } } } }