Utilisation IAM avec des tables globales DynamoDB - Amazon DynamoDB

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utilisation IAM avec des tables globales DynamoDB

Lorsque vous créez une table globale pour la première fois, Amazon DynamoDB crée automatiquement un rôle lié à AWS Identity and Access Management un service IAM () pour vous. Ce rôle nommé AWSServiceRoleForDynamoDBReplication permet à DynamoDB de gérer pour vous la réplication entre régions pour les tables globales. Ne supprimez pas ce rôle lié à un service. Dans ce cas, l'ensemble de vos tables globales ne fonctionneraient plus.

Pour de plus amples informations sur l’utilisation des rôles lié à un service, veuillez consulter Utilisation des rôles liés à un service dans le document Guide de l'utilisateur IAM.

Pour créer des tables de réplique dans DynamoDB, vous devez disposer des autorisations suivantes dans la région source.

  • dynamodb:UpdateTable

Pour créer des tables de réplique dans DynamoDB, vous devez disposer des autorisations suivantes dans les régions de destination.

  • dynamodb:CreateTable

  • dynamodb:CreateTableReplica

  • dynamodb:Scan

  • dynamodb:Query

  • dynamodb:UpdateItem

  • dynamodb:PutItem

  • dynamodb:GetItem

  • dynamodb:DeleteItem

  • dynamodb:BatchWriteItem

Pour supprimer des tables de réplique dans DynamoDB, vous devez disposer des autorisations suivantes dans les régions de destination.

  • dynamodb:DeleteTable

  • dynamodb:DeleteTableReplica

Pour mettre à jour la politique de dimensionnement automatique des répliques viaUpdateTableReplicaAutoScaling, vous devez disposer des autorisations suivantes dans toutes les régions où existent des répliques de tables

  • 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

Pour utiliser UpdateTimeToLive, vous devez disposer d'une autorisation pour dynamodb:UpdateTimeToLive dans toutes les régions où les réplicas de table existent.

Exemple : ajouter un réplica

La stratégie IAM suivante accorde des autorisations pour que vous puissiez ajouter des réplicas à une table globale.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "dynamodb:CreateTable", "dynamodb:DescribeTable", "dynamodb:UpdateTable", "dynamodb:CreateTableReplica", "iam:CreateServiceLinkedRole" ], "Resource": "*" } ] }

Exemple : AutoScaling politique de mise à jour

La IAM politique suivante accorde des autorisations vous permettant de mettre à jour la politique de dimensionnement automatique des répliques.

{ "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": "*" } ] }

Exemple : autoriser les créations de réplicas pour un nom et des régions de table spécifiques

La IAM politique suivante accorde des autorisations pour autoriser la création de tables et de répliques pour des Customers tables contenant des répliques dans trois régions.

{ "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" ] } ] }