Quais permissões IAM são necessárias para ec2-create-image?

Quais permissões IAM são necessárias para ec2-create-image?

Eu olhei através dodocumentos oficiaise não consegui encontrar nenhuma referência sobre quais permissões o usuário do IAM precisa para poder usar este comando.

Quero que o usuário IAM só possa criar imagens para esta instância específica, então configurei minha política assim:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "Stmt999",
      "Effect": "Allow",
      "Action": [
        "ec2:CreateImage"
      ],
      "Effect": "Allow",
      "Resource": [
        "arn:aws:ec2:us-east-1:<my account id>:instance/<my instance id>"
      ]
    }
  ]
} 

Mas continuei recebendo erros de acesso negado ao usar a CLI do EC2. Mudei a Resourceparte para just "*"e agora funciona, mas agora meu usuário IAM pode criar AMIs (portanto, causar reinicializações) para qualquer instância do EC2 em minha conta.

Como posso bloquear isso?

Responder1

Infelizmente, você não pode bloquear isso no nível dos recursos no momento. Há ummonte de ações EC2que não oferece suporte a permissões em nível de recurso e ec2:CreateImageé uma delas.

Responder2

A criação de imagem também envolve a criação de instantâneos anexados a essa instância. Abaixo da política IAM deve funcionar.

{     
  "Effect": "Allow",
  "Action": [
    "ec2:Describe*",
    "ec2:CreateSnapshot",
    "ec2:CreateImage"
  ],
  "Resource": [
    "*"
  ]
}

Responder3

Você não pode bloquear/limitar CreateImage no nível do recurso e a resposta do @nkryption estava certa. http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ec2-api-permissions.html

Responder4

CreateImage agora oferece suporte a políticas em nível de recurso. A política a seguir permite a criação de uma imagem, mas apenas para o ID de instância especificado:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "AllowCreateImage",
            "Effect": "Allow",
            "Action": "ec2:CreateImage",
            "Resource": "arn:aws:ec2:*::image/*"
        },
        {
            "Sid": "RestrictCreateImageToInstance",
            "Effect": "Allow",
            "Action": "ec2:CreateImage",
            "Resource": "arn:aws:ec2:*:999999999999:instance/i-999999999",

        }
    ]
}

Atualize o número da conta e o ID da instância para atender às suas necessidades. Você também pode restringir isso com base nas tags da instância:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "AllowCreateImage",
            "Effect": "Allow",
            "Action": "ec2:CreateImage",
            "Resource": "arn:aws:ec2:*::image/*"
        },
        {
            "Sid": "RestrictCreateImageToInstances",
            "Effect": "Allow",
            "Action": "ec2:CreateImage",
            "Resource": "arn:aws:ec2:*:999999999999:instance/*",
            "Condition": {
                "StringEquals": {
                    "ec2:ResourceTag/Name": "Test"
                }
            }
        }
    ]
}
            

informação relacionada