【问题标题】:AWS deny access to VPCAWS 拒绝访问 VPC
【发布时间】:2018-02-14 09:32:02
【问题描述】:

我们有几个用户基本上可以使用以下策略访问所有内容:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "*",
            "Resource": "*"
        }
    ]
}

有没有办法限制对选定 VPC 的访问?

我已尝试创建以下策略并将其附加到用户(通过组):

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "Stmt1504660000000",
            "Effect": "Deny",
            "Action": [
                "ec2:*"
            ],
            "Resource": [
                "arn:aws:ec2:<REGION>:<ACCOUNT-ID>:vpc/<VPC-ID>"
            ]
        }
    ]
}

我已经替换了 "。

策略模拟器正确拒绝访问(StartInstances、StopInstances 等)。尽管如此,附加此策略的用户仍然可以在 vpc 中创建 EC2 实例。

  1. 为什么我的策略不拒绝访问 VPC?据我所知,“拒绝”会覆盖“允许”。

  2. 实现此目的的正确方法是什么?我已经阅读了thisthis,但不明白它会如何限制访问。

【问题讨论】:

标签: amazon-web-services amazon-ec2 amazon-iam amazon-vpc


【解决方案1】:

这是一个棘手的问题。您必须引用并包括所有操作,包括支持 ec2:Vpc 条件的资源并拒绝 API 操作。对于其他操作,您必须找到 API 操作中常见的条件,并将这些操作包含在单独的语句块中,并通过其他方式拒绝这些操作,例如使用标签或其他东西。

此外,由于用户拥有 AdministratorAccess,您必须确保用户无法分离此拒绝策略并提升权限。

对于使用 VPC 的其他服务,例如RDS,这是不可能的。

[1]http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-supported-iam-actions-resources.html

【讨论】:

    【解决方案2】:

    在这里,您不想将权限授予一个 VPC 内的 ec2。因此,您应该将 vpc 视为条件,将资源视为 ec2。

    看下面的代码——

    {
      "Effect": "Deny",
      "Action": "ec2:*",
      "Resource": "arn:aws:ec2:region:account:subnet/*",
        "Condition": {
         "StringEquals": {
            "ec2:Vpc": "arn:aws:ec2:region:account:vpc/vpc-1a2b3c4d"
            }
       }
    }
    

    解释 - 在这里我们拒绝对特定 vpc 下的 ec2 的权限。这里我在 ec2 中添加了子网,它是可选的。如果需要,您可以添加。

    【讨论】:

    • ty,这确实阻止了用户创建新实例,但不幸的是他仍然能够关闭和终止实例。
    • 当我们提到ec2.*时,它如何启用终止和关闭权限?
    • 我希望用户能够在该 VPC 中执行任何操作
    • @kev 你的意思是所有的资源。不仅是 EC2?
    • StopInstances 、 RebootInstances 和 TerminateInstances 不支持 "ec2:Vpc" 条件(并且只能接受实例 ID 作为资源)。所以条件块在这里不起作用。
    猜你喜欢
    • 2021-02-16
    • 1970-01-01
    • 2017-12-24
    • 2021-11-06
    • 2020-05-19
    • 1970-01-01
    • 2020-12-22
    • 2020-09-30
    • 1970-01-01
    相关资源
    最近更新 更多