DynamoDB 需要的权限
本文介绍 DynamoDB 作为源端或对端数据源迁移或同步数据时,CloudCanal 所需的账号权限。
作为源端
全量迁移:需要对 DynamoDB 表执行 Scan / Query / GetItem / BatchGetItem 权限,以及 ListTables / DescribeTable 来发现表。
示例:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "DynamoDBTableReadAndList",
"Effect": "Allow",
"Action": [
"dynamodb:ListTables",
"dynamodb:DescribeTable",
"dynamodb:Scan",
"dynamodb:Query",
"dynamodb:GetItem",
"dynamodb:BatchGetItem"
],
"Resource": "*"
}
]
}增量同步:需要读取 DynamoDB Streams,包括 ListStreams / DescribeStream / GetShardIterator / GetRecords。
示例:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "DynamoDBStreamReadAll",
"Effect": "Allow",
"Action": [
"dynamodb:ListStreams",
"dynamodb:DescribeStream",
"dynamodb:GetShardIterator",
"dynamodb:GetRecords"
],
"Resource": "*"
}
]
}
作为目标端
全量迁移 / 增量同步:需要向 DynamoDB 表写入数据的权限,包括 PutItem / UpdateItem / DeleteItem / BatchWriteItem。
示例:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "DynamoDBTableWrite",
"Effect": "Allow",
"Action": [
"dynamodb:PutItem",
"dynamodb:UpdateItem",
"dynamodb:DeleteItem",
"dynamodb:BatchWriteItem"
],
"Resource": "*"
}
]
}