我有一些用户想要限制他们可以在其中启动EC2的子网,但似乎无法弄清楚该如何做。我尝试在IAM中进行挖掘,但在其中找不到它。在AWS中可以做到这一点吗?

最佳答案

是的,您可以使用身份和访问管理(IAM)服务来做到这一点。
以下策略授予使用特定子网的权限。此外,它还提供了对其他资源的开放访问权限,用户可以将实例正确启动到子网中所需的其他资源:AMI,实例,网络接口,卷,密钥对等。

当启动到子网中时,默认情况下,RunInstances请求需要这些资源,因此用户在启动实例时需要访问这些资源的权限。

{
   "Version": "2012-10-17",
   "Statement": [{
      "Effect": "Allow",
      "Action": "ec2:RunInstances",
      "Resource": [
        "arn:aws:ec2:region::image/ami-*",
        "arn:aws:ec2:region:account:instance/*",
        "arn:aws:ec2:region:account:subnet/subnet-1a2b3c4d",
        "arn:aws:ec2:region:account:network-interface/*",
        "arn:aws:ec2:region:account:volume/*",
        "arn:aws:ec2:region:account:key-pair/*",
        "arn:aws:ec2:region:account:security-group/sg-123abc123"
      ]
    }
   ]
}


请注意,该策略还提供对特定安全组的访问。您可以根据需要对其进行修复,或者提供*作用域以允许它们指定任何安全组。

有关更多信息,请参见Launching instances into a specific subnet

关于amazon-web-services - 限制AWS用户仅允许他们将EC2实例启动到特定子网中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34752571/

10-11 10:21