AWS IAM策略问题

时间:2019-02-07 14:52:00

标签: amazon-ec2 amazon-iam aws-iam

所以我对AWS的IAM策略有疑问。我必不可少的是有一个“管理”隔间,可以容纳多种物品。我希望能够限制用户访问在VPC上过滤的所有内容。因此,用户只能在分配给其策略的VPC中执行操作。

我的IAM政策:

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

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

建议?

2 个答案:

答案 0 :(得分:1)

aws:SourceVpc条件仅适用于支持通过VPC终结点的流量的服务。对EC2服务的调用不支持VPC端点,因此该条件将不适用。有关可能适用于各种ec2动作和资源的条件,请参见https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonec2.html

我不确定用例是什么-但我会谦虚地建议VPC不是隔离管理问题的正确解决方案。您应该将其放在单独的帐户中,以便将因用户错误而造成的爆炸半径限制为一个问题,即管理或用户应用程序都不能同时存在。

答案 1 :(得分:0)

请尝试在条件部分替换此代码。它应该可以工作

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

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