Como posso armazenar com segurança credenciais da AWS em máquinas pessoais?
Em detalhe:
Todo mundo em nossa equipe exige credenciais de segurança da AWS para executar tarefas administrativas (as credenciais são separadas por função). Essas credenciais geralmente são armazenadas em texto sem formatação em alguns arquivos de configuração no disco. Eu acho isso muito inseguro, especialmente considerando que as credenciais são distribuídas pelos membros da equipe, acabam no backup etc.
Eu preferiria armazenar essas credenciais na forma criptografada (semelhante às chaves ssh, por exemplo). Existe alguma maneira automatizada de fazer isso? Ou preciso hackear algum script bash que usa, por exemplo, openssl para criptografar dados?
Há muita informação na web sobre como proteger credenciais em uma instância do EC2. Há até essa funcionalidade de funções do Amazon IAM , mas também se aplica apenas ao EC2.
fonte
Respostas:
Vale a pena investigar https://github.com/realestate-com-au/credulous . Na descrição do projeto:
Há um artigo introdutório do blog em http://techblog.realestate.com.au/protecting-your-aws-keys-with-credulous/ .
fonte
Ótima pergunta - e, dependendo da pessoa que responder, você provavelmente terá algumas rotas a seguir. Vou dar um exemplo do que usamos:
Exemplo: permita todas as ações ec2 para o administrador. Ou permita apenas o acesso com base em uma tag ou sub-rede para um desenvolvedor, etc.
Inicie instâncias do ec2 Linux usando funções específicas do IAM. Inicie uma instância para cada função ou usuário específico (ajuste o tamanho / tipo da instância de acordo com a necessidade, orçamento, etc.)
Configure o grupo de segurança para cada instância para permitir apenas sub-redes específicas ou IPs individuais, para que você possa bloquear a entrada de tráfego no SSH.
Defina um usuário / senha personalizados para SSH ou ingresse no domínio.
Faça com que cada usuário efetue logon ou SSH na instância do Linux atribuído à sua função ou acesso ao usuário.
As chaves e o acesso da API agora são herdados da própria função do IAM da instância, tornando irrelevante a necessidade de armazenar as chaves do usuário. Apenas certifique-se de bloquear o grupo de segurança, conceda apenas acesso a usuários específicos na caixa Linux. O usuário deve poder escrever scripts usando a API da AWS / usar a funcionalidade de ferramentas da API normalmente.
Estamos usando esse método há cerca de um ano - com ajustes de segurança adicionais, como tempo de acesso concedido, adquiridos no AWS HSM e ele funciona muito bem.
Espero que isso ajude você ou alguém por aí.
fonte