基础设施描述:我在一个 AWS 账户(比如 A1)中有一个 dynamo db 表,在另一个账户(比如 A2)/VPC-private 子网中托管在 EC2 中的应用程序。此应用程序(在帐户 A2 中)读取/写入帐户 A1 中的 dynamo db 表。两个账户都在同一个组织下,表和应用程序在同一个 AWS 区域。我为应用程序帐户 (A2) 中的 dynamo db 创建了一个 VPC 端点(例如 VPC-E1),并且路由表正确填充了 VPC 端点目标。应用程序使用 AssumeRole 方法授权自己。我为 EC2 使用的同一 IAM 账户创建了一个角色策略,仅当源 VPC 终端节点是我创建的终端节点 (VPC-E1) 时才允许连接到 DynamoDB。注意:EC2 通过 NAT 网关连接互联网。
IAM 政策:
{
"Version": "2012-10-17",
"Statement": [
{
"Action": "dynamodb:*",
"Effect": "Deny",
"Resource": [
"My DynamoDb table ARN"
],
"Condition": {
"StringNotEquals": {
"aws:SourceVpce": "VPC-E1"
}
}
}
]
}
可达性分析器说从 Ec2 到 VPC 端点的流量可以正常工作。
问题:流量被策略拒绝,因为 1. 流量不是通过该 VPC 端点发生的,或者我假设流量是通过 Nat 网关/互联网发生的。当我删除此策略时,它可以正常工作;因为流量可能通过 NAT 网关发生。
有没有人成功配置过这样的设置?即通过 AWS 私有网络(VPC 端点)跨账户访问 DynamoDb。我的目标是通过 AWS 私有网络将流量从一个账户/VPC 发送到 dyanamo db 表所属的另一个账户。