AWS::DynamoDB::Table ResourcePolicy - AWS CloudFormation

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

AWS::DynamoDB::Table ResourcePolicy

Crea o actualiza un documento de política basado en recursos que contiene los permisos de los DynamoDB recursos, como una tabla, sus índices y su transmisión. Las políticas basadas en recursos permiten definir los permisos de acceso especificando quién tiene acceso a cada recurso y las acciones que puede realizar en cada recurso.

En una CloudFormation plantilla, puedes proporcionar la política en formato JSON o YAML, ya que CloudFormation convierte YAML en JSON antes de enviarla. DynamoDBPara obtener más información sobre las políticas basadas en recursos, consulta Uso de políticas basadas en recursos y ejemplos de políticas basadas en recursos. DynamoDB

Al definir las políticas basadas en los recursos en las plantillas, se deben tener en cuenta las siguientes consideraciones: CloudFormation

  • El tamaño máximo admitido para un documento de política basado en recursos en formato JSON es de 20 KB. DynamoDB cuenta los espacios en blanco al calcular el tamaño de una política con respecto a este límite.

  • Las políticas basadas en recursos no admiten la detección de desviaciones. Si actualizas una política fuera de la plantilla de CloudFormation pila, tendrás que actualizar la CloudFormation pila con los cambios.

  • Las políticas basadas en recursos no admiten out-of-band cambios. Si agregas, actualizas o eliminas una política fuera de la CloudFormation plantilla, el cambio no se sobrescribirá si no hay cambios en la política de la plantilla.

    Por ejemplo, supongamos que la plantilla contiene una política basada en recursos, que luego se actualiza fuera de la plantilla. Si no realizas ningún cambio en la política de la plantilla, la política actualizada DynamoDB no se sincronizará con la política de la plantilla.

    Por el contrario, supongamos que tu plantilla no contiene una política basada en recursos, pero agregas una política externa a la plantilla. Esta política no se eliminará DynamoDB mientras no la agregues a la plantilla. Al añadir una política a la plantilla y actualizar la pila, la política existente se DynamoDB actualizará para que coincida con la definida en la plantilla.

Para obtener una lista completa de todas las consideraciones, consulte Consideraciones sobre las políticas basadas en los recursos.

Sintaxis

Para declarar esta entidad en la AWS CloudFormation plantilla, utilice la siguiente sintaxis:

JSON

{ "PolicyDocument" : Json }

YAML

PolicyDocument: Json

Propiedades

PolicyDocument

Documento de política basado en recursos que contiene permisos para añadirlos a la DynamoDB tabla o al índice especificados, o a ambos. En una CloudFormation plantilla, puedes proporcionar la política en formato JSON o YAML, ya que CloudFormation convierte YAML en JSON antes de enviarla a ella. DynamoDBPara obtener más información sobre las políticas basadas en recursos, consulta Uso de políticas basadas en recursos y ejemplos de políticas basadas en recursos. DynamoDB

Obligatorio: sí

Tipo: JSON

Requisitos de actualización: sin interrupción

Ejemplos

Adjuntar una política basada en recursos a una tabla y su flujo DynamoDB

La siguiente CloudFormation plantilla crea una tabla denominada MusicCollectionTable y adjunta una política basada en recursos a esta tabla. Esta política permite al usuario foobar realizar la GetItemoperación en la tabla. Además, la siguiente plantilla habilita una transmisión y, a continuación, adjunta una política basada en recursos a la transmisión. La política basada en los recursos de la transmisión permite foobar al usuario realizar las operaciones GetRecordsGetShardIterator, y DescribeStreamen la transmisión.

importante

Si habilita una transmisión dentro de una CloudFormation plantilla y también define una política para la transmisión, la política se adjunta a la transmisión solo después de que la transmisión esté habilitada, pero antes de que se complete la actualización de la pila.

JSON

{ "AWSTemplateFormatVersion": "2010-09-09", "Resources": { "MusicCollectionTable": { "Type": "AWS::DynamoDB::Table", "Properties": { "AttributeDefinitions": [ { "AttributeName": "Artist", "AttributeType": "S" } ], "KeySchema": [ { "AttributeName": "Artist", "KeyType": "HASH" } ], "BillingMode": "PROVISIONED", "ProvisionedThroughput": { "ReadCapacityUnits": 5, "WriteCapacityUnits": 5 }, "StreamSpecification": { "StreamViewType": "OLD_IMAGE", "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": "*" } ] } } }, "TableName": "MusicCollection", "ResourcePolicy": { "PolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Principal": { "AWS": [ "arn:aws:iam::111122223333:user/foobar" ] }, "Effect": "Allow", "Action": "dynamodb:GetItem", "Resource": "*" } ] } } } } } }