将IAM用户限制为单个VPC



我的帐户中有两个VPC。一个用于测试,另一个用于Prod环境。

我正在尝试为开发人员设置IAM用户帐户,并设置权限边界,以便开发人员只能在Test VPC中创建/修改资源。

我该怎么做?您可以共享一个示例策略JSON吗?

亚马逊专有网络是一个虚拟网络。

不可能基于"强"来控制对网络的访问;用户"因为网络对用户一无所知。它只能通过IP地址和协议来控制流量。

如果您希望开发人员能够登录到Test环境中的实例,但不能登录到Prod环境中,则需要控制对实例本身的访问(例如,当他们登录到EC2实例时(,或控制对网络的访问(例如,通过控制对VPN连接的访问或让开发人员访问具有已知IP地址范围的网络上的资源(。

这与控制公司网络上的访问完全相同——开发人员可以被安置在可以访问测试资源的网络上,而系统管理员可以被安置到可以访问Prod资源的网络中。这与他们的计算机如何连接到网络有关;谁";确实如此。

相反,如果您的目标是限制开发人员在专有网络中创建/更改资源的能力,则可以通过添加条件IAM策略来实现。例如,授予他们启动EC2实例的能力,但只能在测试VPC中启动。

请参阅:如何帮助将用户的Amazon EC2功能锁定到单个VPC|AWS安全博客

我得到的是,您试图将用户限制在特定VPC下的服务。我做了同样的事情,允许用户更新仅在特定VPC内的Lambda功能。这可以这样做:

{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowAllResources",
"Effect": "Allow",
"Action": "*",
"Resource": "*"
},
{
"Sid": "DenyLambdaUpdatIfNotInsideVPC",
"Effect": "Deny",
"Action": [
"lambda:CreateFunction",
"lambda:UpdateFunctionConfiguration"
],
"Resource": "*",
"Condition": {
"StringNotEquals": {
"lambda:VpcIds": "your vpc id"
}
}
}
]
}

通过这种方式,您可以通过在deny语句中写入服务及其具体操作来限制用户访问专有网络之外的资源。

相关内容

  • 没有找到相关文章

最新更新