如何在 AWS 控制台中管理 EC2 用户数据的可见性

How to manage visibility of EC2 userdata in AWS Console

AWS EC2 仪表板允许用户通过

view/change任何给定 EC2 实例的用户数据

Actions -> Instance Settings -> View/Change User Data"

是否有 AWS IAM 操作可以限制控制台用户使用此功能?

A​​mazon EC2 用户数据通过 DescribeInstanceAttribute API 调用检索。您可以创建一个策略来拒绝这样的权限:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "NoAttributes",
            "Effect": "Deny",
            "Action": [
                "ec2:DescribeInstanceAttribute"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}

但是,拒绝此权限可能会产生一些意想不到的副作用,因为它也会阻止对其他属性的访问。所以,一定要测试一下。

还值得指出的是,用户数据仅在 实例首次启动时执行 ("once per instance-id")。所以,即使用户有能力编辑用户数据,它也不会在第一次启动后实际执行。