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

6

Analisei os documentos oficiais e não consegui para encontrar qualquer referência sobre quais permissões o usuário do IAM precisa para poder usar este comando.

Eu quero que o usuário do IAM só possa criar imagens para essa instância específica, por isso, minha política foi configurada 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 o EC2 CLI. Mudei a parte Resource para apenas "*" e agora funciona, mas agora meu usuário do IAM pode criar AMIs (portanto, causar reinicializações) para qualquer instância do EC2 na minha conta.

Como posso bloquear isso?

    
por wwarren 03.03.2015 / 21:40

4 respostas

6

Infelizmente, não é possível bloquear isso em um nível de recurso no momento. Há um grupo de ações do EC2 / a> que não suporta permissões de nível de recurso e ec2:CreateImage é uma delas.

    
por 03.03.2015 / 21:58
7

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

{     
  "Effect": "Allow",
  "Action": [
    "ec2:Describe*",
    "ec2:CreateSnapshot",
    "ec2:CreateImage"
  ],
  "Resource": [
    "*"
  ]
}
    
por 06.06.2015 / 07:30
0

Você não pode bloquear / limitar o CreateImage no nível do recurso e a resposta do @nkryption estava correta. link

    
por 28.07.2016 / 10:52
0

Use o papel do IAM como indicado Tente definir o sinalizador "--no-reboot" ao usar a criação de imagem. Isso impedirá que seu servidor seja reinicializado ao criar AMIs, por exemplo:

 ## Take the actual ami backup, and store the ami id in "AMI"
 AMI=$(aws ec2 create-image --instance-id ${instance-id} --name ${Random-Name}.AutoScript.${DATE} --description 'This is created by amibackup.sh' --no-reboot | ${GREP} -i ami)
    
por 12.01.2017 / 06:11