代码之家  ›  专栏  ›  技术社区  ›  Kyle

AWS IAM政策问题

  •  0
  • Kyle  · 技术社区  · 7 年前

    所以我对aws的iam策略有意见。我有一个很重要的“管理”隔间,可以处理很多事情。我想能够限制用户访问的一切,过滤在vpc上。因此,用户只能在分配给其策略的vpc中执行操作。

    我的IAM政策:

    {
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "Stmt1549549655017",
            "Action": "*",
            "Effect": "Deny",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:SourceVpc": "vpc-########"
                }
            }
        }
    ]
    } 
    

    我将此策略应用于用户,但他们仍然可以启动/停止ec2实例,或为vpc中的某些内容添加安全组。 我想这可能是因为用户是管理员,所以我删除了这个并给了他们特定的访问权限,但这仍然允许他们访问。

    建议?

    2 回复  |  直到 7 年前
        1
  •  1
  •   Ian Jenkins    7 年前

    这个 aws:SourceVpc 条件仅适用于支持VPC终结点上流量的服务。对EC2服务的调用不支持VPC终结点,因此此条件将不适用。参照 https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonec2.html 适用于各种EC2操作和资源的条件。

    我不确定这个用例是什么——但我谦虚地建议,vpc不是隔离管理问题的正确解决方案。您应该在单独的帐户中拥有这个功能,这样您的用户错误爆炸半径就只限于一个问题,即管理或用户应用程序,而不是两者兼而有之。

        2
  •  0
  •   Lijo Abraham    7 年前

    尝试在条件部分替换此代码。应该有用的

     "StringEquals": {
            "ec2:Vpc": "arn:aws:ec2:region:account:vpc/vpc-1a2b3c4d"
            }
    

    在另一部分中,您可以指定需要访问的所有api。这将确保您可以在vpc中访问这些api。

    推荐文章