Como configurar o acesso à linha de comando com permissões limitadas para o EC2?

2

Eu adicionei um usuário "Snapshotter" à minha conta da AWS (via IAM) com permissão apenas para ebs:CreateSnapshot .

Em uma das minhas instâncias, quero ter um script que periodicamente crie um instantâneo, mas sem armazenar nessa instância nenhuma credencial ou certificado que permita acesso mais permissivo à conta ou a outros comandos do EC2.

Como faço para isso?

No IAM, posso obter a "chave de acesso secreto" e a "ID da chave de acesso" para o usuário do Snapshotter, mas parece que a chave privada e os certificados X509 são válidos apenas para a conta inteira e, portanto, têm acesso total.

$ ec2-create-snapshot -h
  SYNOPSIS
     ec2addsnap ([ec2-create-snapshot])
     ec2addsnap [GENERAL OPTIONS] -d DESCRIPTION VOLUME
...

  GENERAL OPTIONS

     -K, --private-key KEY
          Specify KEY as the private key to use. Defaults to the value of the
          EC2_PRIVATE_KEY environment variable (if set). Overrides the default.

     -C, --cert CERT
          Specify CERT as the X509 certificate to use. Defaults to the value 
          of the EC2_CERT environment variable (if set). Overrides the default.
    
por GJ. 01.09.2011 / 12:13

1 resposta

3

Uma opção é invocar a chamada da API ec2-create-snapshot usando a interface REST em vez da interface SOAP. Isso permite usar o "ID da chave de acesso" e a "chave de acesso secreto" em vez do certificado x509 / pk.

Eu escrevi um programa de linha de comando chamado ec2-consistent-snapshot que usa a API REST ec2-create-snapshot.

http://alestic.com/2009/09/ec2-consistent-snapshot

Se você não usar nenhuma das opções de linha de comando que acionam o aspecto "consistente" da criação da captura instantânea, ela será basicamente igual à linha de comando ec2-create-snapshot (exceto que ela é executada dez vezes mais rápido ).

Este é um artigo que eu escrevi com instruções passo a passo para usar o IAM com o instantâneo consistente ec2 para fazer exatamente o que você está tentando fazer:

Improving Security on EC2 With AWS Identity and Access Management (IAM)
http://alestic.com/2010/09/aws-iam

Eu configurei um PPA do Ubuntu para facilitar a instalação do snapshot consistente do ec2 e suas dependências. Outras distros exigirão um pouco mais de trabalho, mas é apenas um script escrito em Perl, então é altamente portátil.

Eu também estou no processo de mover a fonte mestra do instantâneo ec2-consistente do bazar para o github, para facilitar a revisão e o detalhamento das pessoas.

    
por 12.09.2011 / 23:48