Infrastructure description:我在一个AWS帐户(例如A1)中有一个dynamo表,在另一个帐户(比如A2) /VPC-私有子网中有一个托管在EC2中的应用程序。这个应用程序(在account A2中)在account A1中读/写这个dynamo表。两个帐户都在同一个组织下,表和应用程序位于相同的AWS区域。我在应用程序的帐户(A2)中为dynamo创建了一个VPC端点(例如VPC-E1),并且路由表被正确地填充到VPC端点目标中。该应用程序使用AssumeRole方法对自己进行授权。我创建了一个角色策略到相同的IAM帐户,EC2使用该帐户只在源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"
}
}
}
]
}Reachability分析器表示,从Ec2到VPC端点的通信将正常工作。
The problem:策略拒绝流量,因为要么流量不是通过VPC端点发生的,要么是我假设流量是通过Nat网关/internet发生的。当我删除此策略时,它可以正常工作;因为流量可能通过NAT网关发生。
有人成功地配置了这样的设置吗?即通过AWS专用网络(VPC端点)跨帐户访问DynamoDb。我的目标是通过AWS专用网络将流量从一个帐户/VPC发送到dyanamo表所属的另一个帐户。
发布于 2021-12-23 04:08:39
是。DynamoDb是一个SaaS,不托管在VPC中。我取消了IAM政策中的条件。我在account上创建了一个cloudtrail日志( dynamodb所属的A2),以从特定的dynamodb表中捕获数据事件。在使用者帐户(A2)中创建的VPC端点出现在目标DynamoDb帐户(A1)中的cloudtrail日志(来自特定DynamoDb表/索引的数据事件)中。因此,这是可行的。
https://stackoverflow.com/questions/70305123
复制相似问题