使用条件EC2的IAM策略:Resourcetag不起作用



我有N X EC2实例,我希望将EC2操作限制为具有相同键/值标签的实例(即平台= dev)。

我正在考虑使用与小组附加的IAM策略进行此操作。

策略:

{
"Version": "2012-10-17",
"Statement": [
    {
        "Effect": "Allow",
        "Action": "ec2:*",
        "Resource": "*",
        "Condition": {
            "StringEquals": {
                "ec2:ResourceTag/tag:platform": "dev"
            }
        }
    }
]}

我按照在线AWS文档进行设置:与AWS CLI或AWS SDK合作的示例政策

我在策略模拟器中检查它,并按预期工作(通过开发,允许,否则被拒绝)。

然后在一个带有标签键/对platform = dev的服务器上,我运行 aws ec2 describe-instances我得到响应:

An error occurred (UnauthorizedOperation) when calling the DescribeInstances operation: You are not authorized to perform this operation.

但是,如果我删除条件,则其有效。我不明白我在做什么错。任何帮助都将得到感激!

问题是不是每个API操作&资源将在条件下接受EC2:Resourcetag/tag。

我认为您可能会授予过度的Broad权限(Action:EC2:*),因此请弄清楚您的实例需要采取哪些操作,然后决定如何限制它们。

可以在Amazon EC2 API操作的支持的资源级权限上找到操作,资源和条件密钥的列表。

我以前曾遇到过这个问题,这与结合通配符和条件有关。为我们解决的问题是在动作(例如["ec2:DescribeInstances"])和资源上更加明确(arn:aws:ec2:region:accountid:instance/*)。

相关内容

  • 没有找到相关文章

最新更新