Uso de IAM con tablas globales de DynamoDB
Cuando se crea una tabla global por primera vez, Amazon DynamoDB crea automáticamente un rol vinculado al servicio AWS Identity and Access Management (IAM). Este rol se denomina AWSServiceRoleForDynamoDBReplication
Para obtener más información acerca los roles vinculados a servicios, consulte Uso de roles vinculados a servicios en la Guía del usuario de IAM.
Para crear réplicas de tabla en DynamoDB, debe tener los siguientes permisos en la región de origen.
-
dynamodb:UpdateTable
Para crear réplicas de tablas en DynamoDB, debe tener los siguientes permisos en las regiones de destino.
-
dynamodb:CreateTable
-
dynamodb:CreateTableReplica
-
dynamodb:Scan
-
dynamodb:Query
-
dynamodb:UpdateItem
-
dynamodb:PutItem
-
dynamodb:GetItem
-
dynamodb:DeleteItem
-
dynamodb:BatchWriteItem
Para eliminar réplicas de tabla en DynamoDB, debe tener los siguientes permisos en las regiones de destino.
-
dynamodb:DeleteTable
-
dynamodb:DeleteTableReplica
Para actualizar la política de escalado automático de réplicas mediante UpdateTableReplicaAutoScaling
, debe tener los siguientes permisos en todas las regiones donde haya tablas de réplica.
-
application-autoscaling:DeleteScalingPolicy
-
application-autoscaling:DeleteScheduledAction
-
application-autoscaling:DeregisterScalableTarget
-
application-autoscaling:DescribeScalableTargets
-
application-autoscaling:DescribeScalingActivities
-
application-autoscaling:DescribeScalingPolicies
-
application-autoscaling:DescribeScheduledActions
-
application-autoscaling:PutScalingPolicy
-
application-autoscaling:PutScheduledAction
-
application-autoscaling:RegisterScalableTarget
Para usar UpdateTimeToLive
, debe tener permisos para dynamodb:UpdateTimeToLive
en todas las regiones donde haya réplicas.
Ejemplo: adición de réplica
La siguiente política de IAM concede permisos para permitirle añadir réplicas a una tabla global.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "dynamodb:CreateTable", "dynamodb:DescribeTable", "dynamodb:UpdateTable", "dynamodb:CreateTableReplica", "iam:CreateServiceLinkedRole" ], "Resource": "*" } ] }
Ejemplo: Actualización de la política de escalado automático
La siguiente política de IAM concede permisos para permitirle actualizar la política de escalado automático de réplicas.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "application-autoscaling:RegisterScalableTarget", "application-autoscaling:DeleteScheduledAction", "application-autoscaling:DescribeScalableTargets", "application-autoscaling:DescribeScalingActivities", "application-autoscaling:DescribeScalingPolicies", "application-autoscaling:PutScalingPolicy", "application-autoscaling:DescribeScheduledActions", "application-autoscaling:DeleteScalingPolicy", "application-autoscaling:PutScheduledAction", "application-autoscaling:DeregisterScalableTarget" ], "Resource": "*" } ] }
Ejemplo: permitir creaciones de réplicas para un nombre de tabla específico y determinadas regiones
La siguiente política de IAM concede permisos para permitir la creación de tablas y réplicas para la tabla Customers
con réplicas en tres regiones.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "dynamodb:CreateTable", "dynamodb:DescribeTable", "dynamodb:UpdateTable" ], "Resource": [ "arn:aws:dynamodb:us-east-1:123456789012:table/Customers", "arn:aws:dynamodb:us-west-1:123456789012:table/Customers", "arn:aws:dynamodb:eu-east-2:123456789012:table/Customers" ] } ] }