グローバルテーブルを初めて作成する場合は、Amazon DynamoDB によって、AWS Identity and Access Management (IAM) サービスにリンクされたロールが自動的に作成されます。このロールの名前は AWSServiceRoleForDynamoDBReplication
サービスリンクロールの詳細については、「IAM ユーザーガイド」の「サービスリンクロールの使用」を参照してください。
DynamoDB でレプリカテーブルを作成するには、送信元リージョンで、次の許可が必要です。
-
dynamodb:UpdateTable
DynamoDB でレプリカテーブルを作成するには、送信先リージョンで、次の許可が必要です。
-
dynamodb:CreateTable
-
dynamodb:CreateTableReplica
-
dynamodb:Scan
-
dynamodb:Query
-
dynamodb:UpdateItem
-
dynamodb:PutItem
-
dynamodb:GetItem
-
dynamodb:DeleteItem
-
dynamodb:BatchWriteItem
DynamoDB でレプリカテーブルを削除するには、送信先リージョンで、次の許可が必要です。
-
dynamodb:DeleteTable
-
dynamodb:DeleteTableReplica
UpdateTableReplicaAutoScaling
で自動スケーリングポリシーを更新するには、テーブルレプリカが存在するすべてのリージョンで、次のアクセス許可が必要です。
-
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
UpdateTimeToLive
を使用するには、テーブルレプリカが存在するすべてのリージョンで、dynamodb:UpdateTimeToLive
のアクセス許可が必要です。
例: レプリカの追加
次の IAM ポリシーは、グローバルテーブルにレプリカを追加するアクセス許可を付与します。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"dynamodb:CreateTable",
"dynamodb:DescribeTable",
"dynamodb:UpdateTable",
"dynamodb:CreateTableReplica",
"iam:CreateServiceLinkedRole"
],
"Resource": "*"
}
]
}
例: Auto Scaling ポリシーの更新
次の IAM ポリシーは、レプリカの自動スケーリングポリシーを更新するアクセス許可を付与します。
{
"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": "*"
}
]
}
例: 特定のテーブル名およびリージョンのレプリカ作成を許可します
次の IAM ポリシーは、3 つのリージョンで、レプリカを使用して、Customers
テーブルのテーブルおよびレプリカの作成を許可するアクセス許可を付与します。
{
"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"
]
}
]
}