Por que preciso de um usuário do IAM quando posso criar uma Instância a partir da conta principal?

3

Eu não entendo porque preciso do usuário do IAM. A documentação diz que há duas maneiras de acessar o EC2. Uma delas é criar chaves de acesso para sua conta da AWS. O outro é usar o IAM. A Amazon recomenda o IAM.

Então eu entrei na conta principal e, na página do IAM, criei um usuário do IAM, criei um grupo do IAM e adicionei o usuário ao grupo do IAM com a política AdministratorAccess. Eu também atribuí uma senha personalizada na guia "Credenciais de segurança".

Quando eu seleciono o usuário, ele navega para uma página de resumo. Na página de resumo, há uma definição "User ARN:", que inclui o ID da conta e o nome de usuário:

arn:aws:iam::account_id:user/username

Com essas informações, posso sair da conta principal da AWS e fazer login como o usuário do IAM, usando o nome de usuário e a senha do IAM que criei para o usuário.

https://account_id.signin.aws.amazon.com/console/

Agora, a documentação diz que as instâncias do Linux não possuem senhas. Você precisa especificar o nome do par de chaves ao iniciar a instância e fornecer uma chave privada ao efetuar login usando o SSH. Assim, como usuário do IAM, eu crio um par de chaves em "Rede e segurança". E eu salvo o arquivo de chave privada em um lugar seguro.

Finalmente, quando eu lanço uma instância, ela me pede um par de chaves, então eu seleciono o par de chaves que eu criei. Quando a instância está em execução, tento conectar-me a partir do ssh:

$ ssh -i ~/.aws/username-key-pair-useast.pem [email protected]

E isso não funciona. Eu tenho que especificar o usuário chamado ubuntu:

$ ssh -i ~/.aws/username-key-pair-useast.pem [email protected]

E então funciona. Mas por que não me permite conectar ao servidor com o usuário do IAM? Eu pensei que todo o propósito do usuário do IAM era para segurança extra da minha instância. Mas se eu estou logando com um superusuário do ubuntu e o usuário do IAM não é adicionado ao sistema operacional da instância, então que segurança extra o IAM oferece?

Além disso, tudo que fiz com o usuário do IAM poderia ter sido feito com a conta principal da AWS. Por exemplo, posso fazer login na conta principal da AWS e criar pares de chaves e iniciar uma instância. Então parece que o IAM é apenas redundante.

Eu não entendo porque preciso do usuário do IAM.

    
por Donato 28.08.2016 / 03:08

1 resposta

5

Os usuários do IAM são para fazer login no próprio AWS.

O usuário do Ubuntu (ou similar) é para fazer login em instâncias do EC2 criadas dentro da AWS.

O usuário do IAM oferece segurança adicional, pois pode e deve ser criado com privilégios reduzidos. A conta raiz, por outro lado, é criada para todas as novas contas da AWS e destina-se apenas a tarefas administrativas raras. A conta do IAM deve ser usada para todas as tarefas do dia a dia. Isso se torna mais importante à medida que você adiciona usuários adicionais à sua conta da AWS.

    
por 28.08.2016 / 03:31