【问题标题】:assign IAM user to access only one EC2 instance分配 IAM 用户仅访问一个 EC2 实例
【发布时间】:2015-09-14 21:48:13
【问题描述】:

我正在尝试应用策略以允许 IAM 用户仅访问特定的 EC2 实例。这是我正在应用的政策:

{
"Statement": [
    {
        "Action": [
            "ec2:StartInstances",
            "ec2:StopInstances",
            "ec2:RebootInstances",
            "ec2:TerminateInstances"
        ],
        "Resource": [
            "arn:aws:ec2:us-east-1:my_account_id:instance/my_instance_id"
        ],
        "Effect": "Allow"
    }
]
} 

但是,用户无法在仪表板上看到任何 EC2 实例。我做错了什么?

【问题讨论】:

    标签: amazon-web-services amazon-ec2


    【解决方案1】:

    这篇博文解决了您的确切问题:https://blogs.aws.amazon.com/security/post/Tx2KPWZJJ4S26H6/Demystifying-EC2-Resource-Level-Permissions

    它使用此策略作为示例(与您的相同,除了 * 而不是特定的实例 id):

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

    并更新如下解决未授权问题:

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

    【讨论】:

    • 我最终也找到了这个博客,我现在正在使用完全相同的策略。它有效,但我唯一的问题是用户仍然可以在仪表板上看到所有实例(他没有权限在其他实例上执行任何操作)。我希望用户根本看不到其他实例。不确定是否可行。
    • 如何做相反的事情?如果我想限制 IAM 用户的特定区域?我尝试使用“效果”:“拒绝”,但它不起作用。
    【解决方案2】:

    您需要为用户添加描述权限才能查看实例。

    【讨论】:

      猜你喜欢
      • 2014-04-08
      • 2014-01-07
      • 2014-11-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-26
      • 1970-01-01
      相关资源
      最近更新 更多