Amazon web services 限制IAM用户使用AMI的EC2权限

Amazon web services 限制IAM用户使用AMI的EC2权限,amazon-web-services,amazon-ec2,amazon-iam,Amazon Web Services,Amazon Ec2,Amazon Iam,我是一个AWS帐户的根所有者,拥有两个私有AMI和卷。我希望作为我帐户一部分的IAM用户不能访问这些,但仍然能够创建自己的AMI、快照和卷。我不知道如何通过web界面实现这一点。我希望能得到一些帮助 有两种基本方法可以做到这一点 限制“允许” 首先,用户没有做任何事情的权限。然后,您可以授予他们可以执行的操作的权限 当您授予他们运行实例的权限时,您可以指定他们不能使用AMI(通过NotResource): 添加拒绝 或者,您可以像当前一样授予他们权限,但是拒绝他们访问AMI。拒绝总是覆盖允许:

我是一个AWS帐户的根所有者,拥有两个私有AMI和卷。我希望作为我帐户一部分的IAM用户不能访问这些,但仍然能够创建自己的AMI、快照和卷。我不知道如何通过web界面实现这一点。我希望能得到一些帮助

有两种基本方法可以做到这一点

限制“允许”

首先,用户没有做任何事情的权限。然后,您可以授予他们可以执行的操作的权限

当您授予他们运行实例的权限时,您可以指定他们不能使用AMI(通过
NotResource
):

添加拒绝

或者,您可以像当前一样授予他们权限,但是拒绝他们访问AMI。拒绝总是覆盖允许:


有两种基本方法可以做到这一点

限制“允许”

首先,用户没有做任何事情的权限。然后,您可以授予他们可以执行的操作的权限

当您授予他们运行实例的权限时,您可以指定他们不能使用AMI(通过
NotResource
):

添加拒绝

或者,您可以像当前一样授予他们权限,但是拒绝他们访问AMI。拒绝总是覆盖允许:


我认为您可以标记那些您希望标记为私有的资源,然后创建一个IAM策略,拒绝对具有该特定标记名和值的资源执行任何操作。将此策略附加到您创建的用户。我认为您可以标记那些要标记为私有的资源,然后创建IAM策略,拒绝对具有该特定标记名称和值的资源执行任何操作。将此策略附加到您创建的用户。
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "Deny running an instance",
            "Effect": "Allow",
            "Action": [
                "ec2:RunInstances"
            ],
            "NotResource": [
                "arn:aws:ec2:us-east-1::image/ami-abcd1234"
            ]
        }
    ]
}
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "Deny running an instance",
            "Effect": "Deny",
            "Action": [
                "ec2:RunInstances"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1::image/ami-abcd1234"
            ]
        }
    ]
}