Como operar o AWS Manager
O AWS Manager roda no seu ambiente, usa Postgres para persistir os dados e separa o acesso por usuario, credencial AWS e authority. A ideia e simples: primeiro voce cadastra uma credencial, depois escolhe quais usuarios podem usar aquela credencial e quais recursos cada usuario pode operar dentro dela.
Instalacao rapida
A imagem all-in-one sobe Web, API, Nginx, Postgres e aplica as migracoes automaticamente quando voce reutiliza o mesmo volume.
docker volume create aws_manager_data
docker run -d \
--name aws-manager \
-p 4501:80 \
-v aws_manager_data:/var/lib/postgresql/data \
alefepdias/aws-manager:latest
Depois acesse http://localhost:4501.
Primeiro acesso
- Suba o container e abra o Web em http://localhost:4501.
- No primeiro uso, defina a senha do usuario administrador.
- Entre com o usuario admin.
- O admin e do tipo ROOT, por isso acessa a Admin Area.
Criar uma credencial AWS
A credencial guarda o access key usado pelo AWS Manager para consultar a conta AWS. O cadastro fica restrito ao admin ROOT.
- Acesse Admin Area > Credentials.
- Clique em Add credential.
- Informe nome, Access Key ID e Secret Access Key.
- Use a descricao para identificar conta, ambiente ou time responsavel.
- Mantenha a credencial ativa para ela aparecer no seletor do topo.
Depois de criada, a credencial pode ser vinculada a usuarios. Sem esse vinculo, o usuario nao consegue operar recursos dessa conta.
Dar acesso a um usuario
O acesso final tem duas camadas: primeiro a credencial, depois as authorities daquela credencial.
- Acesse Admin Area > Users.
- Abra o usuario em View user.
- Em Credential access, selecione uma credencial e clique em Add.
- Na mesma area, selecione a credencial do usuario e escolha uma authority.
- Clique em Add para liberar aquela permissao.
- Use Update user para salvar os dados do usuario.
Tambem da para fazer o caminho inverso em Admin Area > Credentials: abra uma credencial, adicione usuarios nela e depois adicione authorities para cada usuario.
Selecionar credencial e regiao
O topo da aplicacao mostra as credenciais liberadas para o usuario logado. Antes de usar EC2, Security Groups, S3 ou Billing, selecione a credencial e a regiao AWS desejada.
- EC2 usa credencial + regiao para listar instancias.
- Security Groups usa credencial + regiao para listar grupos e regras.
- S3 usa a credencial para operar buckets e objetos.
- Billing usa a credencial para consultar custos da conta.
Authorities disponiveis
Todas as authorities abaixo sao de escopo CREDENTIAL. Isso significa que a permissao vale apenas para a credencial em que foi vinculada ao usuario.
Modelo mental
Pense em tres perguntas: qual usuario, qual credencial AWS e quais operacoes. O usuario so ve e executa aquilo que foi liberado na credencial dele.
Para dar acesso minimo a EC2, por exemplo, vincule o usuario a uma credencial e adicione apenas AWS_EC2_LIST. Para permitir que ele altere regras de rede, adicione tambem AWS_SECURITY_GROUP_LIST e somente as permissoes de regra necessarias.