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.
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 al especificar quién tiene acceso a cada recurso y las acciones que puede realizar en cada recurso.
En una CloudFormation plantilla, puede proporcionar la política en un YAML formato JSON o formato YAML para convertirla CloudFormation JSON antes de enviarla. DynamoDBPara obtener más información sobre las políticas basadas en recursos, consulte Uso de políticas basadas en recursos DynamoDB y ejemplos de políticas basadas en recursos.
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íticas basado en recursos en JSON formato 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 la plantilla no contiene una política basada en recursos y se añade una política fuera de 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.
-
En una política basada en recursos, si se deniega la acción de un rol DynamoDB vinculado a un servicio (SLR) para replicar los datos de una tabla global, no se podrá añadir o eliminar una réplica y se generará un error.
-
El GlobalTable recurso AWS: :DynamoDB:: no admite la creación de una réplica en la misma actualización de pila en regiones distintas de la región en la que se implementa la actualización de pila.
Para obtener una lista completa de todas las consideraciones, consulte Consideraciones 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ñadir elementos a la DynamoDB tabla especificada, sus índices y su flujo. En una CloudFormation plantilla, puede proporcionar la política en un YAML formato JSON o formato para convertirla JSON antes de CloudFormation enviarla YAML a ella. DynamoDBPara obtener más información sobre las políticas basadas en recursos, consulte Uso de políticas basadas en recursos DynamoDB y ejemplos de políticas basadas en recursos.
Obligatorio: sí
Tipo: JSON
Requisitos de actualización: sin interrupción
Ejemplos
Adjuntar una política basada en recursos a una tabla creada con el recurso. DynamoDB AWS::DynamoDB::GlobalTable
La siguiente CloudFormation plantilla crea una tabla con el GlobalTable recurso AWS: :DynamoDB:: y adjunta una política basada en recursos a la tabla y a su transmisión. Esta política permite al usuario realizar la operación en foobar
la tabla. GetItem 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": {
"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": "*" }] } } } } ] } } } }