AWS IAM 用户对特定区域和特定服务器的权限



我想为新创建的 IAM 用户设置权限,以便该用户只能访问给定区域中的特定 ec2 实例。

例如。我有 3 个 ec2 实例在 aws us-east(即弗吉尼亚北部)中运行我希望将用户重新启动、启动和停止限制为仅 1 台 ec2 服务器

我写了如下政策,但它不起作用。我不确定我在这里错过了什么。

{

"Version": "2012-10-17",
"Statement": [
    {
        "Sid": "TheseActionsSupportResourceLevelPermissions",
        "Effect": "Allow",
        "Action": [
            "ec2:StopInstances",
            "ec2:StartInstances",
            "ec2:RebootInstances",
            "ec2:Describe*"
        ],
        "Resource": "arn:aws:ec2:us-east-1:accountid:instance/i-d4f1b83a"
    }
]

}

提前感谢您的帮助。

您的策略有效。我测试了它并成功地使用它来启动特定实例。

需要注意的一些事项:

  • "资源"部分中,请务必将accountid替换为您自己的 12 位帐户 ID(可在"帐单/帐户"页面中找到)
  • IAM 仅支持有限数量的特定于资源的 API 调用。包括停止、启动和重新启动,但描述调用不是特定于资源的。

IAM 策略可以通过策略定义旁边的模拟策略链接进行测试,该链接链接到策略模拟器。这是调试权限问题的好工具。

我做了这样的事情,这对我有帮助。但是所有资源仍然对那个IAM用户可见,我实际上不想要。任何进一步的答案都将是一个很大的帮助。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "ec2:Describe*",
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ec2:StartInstances",
                "ec2:StopInstances",
                "ec2:RebootInstances"
            ],
            "Resource": "arn:aws:ec2:us-west-1:accountid:instance/instance-id",
            "Condition": {
                "StringEquals": {
                    "ec2:ResourceTag/Name": "Test"
                }
            }
        }
    ]
}

相关内容

  • 没有找到相关文章

最新更新