Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 限制AWS用户仅允许他们将EC2实例启动到特定子网_Amazon Web Services - Fatal编程技术网

Amazon web services 限制AWS用户仅允许他们将EC2实例启动到特定子网

Amazon web services 限制AWS用户仅允许他们将EC2实例启动到特定子网,amazon-web-services,Amazon Web Services,我有一些用户想要限制他们可以在哪些子网中启动EC2,但似乎不知道如何做到这一点。我试着在我身上挖,但在里面找不到。这可以在AWS中实现吗?是的,您可以使用身份和访问管理(IAM)服务实现。 下面的策略授予使用特定子网的权限。此外,它还提供了对用户将需要的额外资源的开放访问,以便将实例正确地启动到子网中:AMI、实例、网络接口、卷、密钥对等 在启动到子网时,默认情况下RunInstances请求需要这些资源,因此用户在启动实例时需要访问这些资源的权限 { "Version": "2012-1

我有一些用户想要限制他们可以在哪些子网中启动EC2,但似乎不知道如何做到这一点。我试着在我身上挖,但在里面找不到。这可以在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"
      ]
    }
   ]
}
注意:该策略还提供对特定安全组的访问。您可以根据需要对其进行修复,或者提供*范围以允许它们指定任何安全组


有关更多信息,请参见

除了Rodrigo的回答之外,我还必须向全局资源添加一些权限,以允许用户通过web控制台启动和管理实例:

    {
        "Effect": "Allow",
        "Action": [
            "ec2:DescribeImages",
            "ec2:DescribeAvailabilityZones",
            "ec2:DescribeSubnets",
            "ec2:DescribeVpc*",
            "ec2:DescribeNetworkInterfaces",
            "ec2:DescribeSpotPriceHistory",
            "ec2:DescribeSecurityGroups",
            "ec2:DescribeKeyPairs",
            "ec2:CreateTags",
            "ec2:DescribeInstances"
        ],
        "Resource": "*"
    }
您可能需要再添加一些,具体取决于您希望允许受限用户执行的操作

您可以找到操作列表,但是当缺少权限时,您必须在浏览器的错误控制台中进行一些挖掘-它们大部分显示为未处理的403


Amazon正在缓慢添加,这将允许您限制“仅显示此子网中的实例”之类的内容,但在他们这样做之前,您可以让他们查看所有实例,也可以不查看任何实例。

请花点时间在您的答案正文中总结链接的内容,如果该链接发生任何变化,那么你的答案的主体将不幸地提供很少的洞察来解决这个问题。