跨AWS账户配置Matillion连接DynamoDB至Snowflake的方法咨询
跨AWS账户配置Matillion DynamoDB Query组件连接
一、AWS账户侧权限准备
1. 在DynamoDB所在的账户ABC中创建跨账户访问角色
- 登录AWS账户ABC的IAM控制台,新建IAM角色
- 信任实体类型选择「AWS账户」,输入Matillion所在的账户ID(XYZ)
- 附加DynamoDB权限策略,至少包含
dynamodb:Query、dynamodb:Scan(按需调整),并指定目标DynamoDB表的ARN - 记录该角色的完整ARN(例如
arn:aws:iam::ABC_ACCOUNT_ID:role/MatillionCrossAccountDynamoDBRole)
2. 在Matillion所在的账户XYZ中配置角色扮演权限
- 找到Matillion运行时使用的IAM角色(EC2实例角色、ECS任务角色等),为其添加以下IAM策略,允许它扮演ABC账户中的上述角色:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::ABC_ACCOUNT_ID:role/MatillionCrossAccountDynamoDBRole" } ] }
二、Matillion DynamoDB Query组件配置
针对截图中高亮的IAM角色相关设置项,按以下步骤配置:
- 选择「Assume Role」模式(组件默认提供该选项)
- 在「Role ARN」输入框中填写ABC账户中创建的跨账户角色ARN
- (可选)如果在ABC账户的角色信任策略中设置了外部ID,在此处填写对应的外部ID值
- 确认组件的区域设置与目标DynamoDB表所在区域一致,其余查询参数按业务需求配置
三、验证连接
配置完成后,点击组件的「Test Connection」按钮,确认跨账户连接正常,无权限报错。
内容的提问来源于stack exchange,提问作者Raghu
相关产品推荐
相关产品推荐

