DEV Community 👩‍💻👨‍💻

Hernani Almeida
Hernani Almeida

Posted on • Updated on

Automatizando criação de IAM Users na AWS utilizando ShellScript e AWSCLI

Ferramentas necessarias:

A Amazon Web Services (AWS) é a plataforma de nuvem escalável mais abrangente e amplamente adotada do mundo. A AWS oferece mais de 200 serviços totalmente caracterizados de data centers globalmente e muitas empresas tem migrado seus sistemas On Premise para a cloud da AWS e nesse post vamos abordar uma maneira de automatizar a criação de usuários já cadastrados no sistema On Premise para o sistema de cloud da AWS por meio do serviço IAM(AWS Identity and Access) da AWS definindo a qual tipo de serviços estes usuários possuem acesso.

Passos para automatizar a transferência de usuários cadastrados On Premise para a cloud da AWS

  • Passo 1 - Criar um usuário IAM com acesso de admin e grupos de acesso no ambiente AWS para usuários específicos. Através do console da AWS pesquise pelo serviço IAM da aws Serviço IAM - AWS

Dentro do serviço será necessário definirmos grupos de acesso para cada atividade exercida pelos usuários. Neste post vamos criar, como exemplo, um grupo para usuários com a permissão de administradores e outro onde os usuários só terão permissão para conhecer o ambiente da AWS não podendo realizar nenhum tipo de modificação nele.

Dentro do serviço IAM da AWS no menu a esquerda clique em User groups

User Groups

Na próxima tela clique no botão create group e você ira entrar nesta tela
Create group

Em User group name vamos definir o nome dos grupos e seus acessos concedidos aos usuários que pertencerem a este grupo, vamos definir CloudAdmin para usuários com permissão de administradores e Estagiarios para usuários que possuem permissão apenas para acessar o ambiente AWS sem poder realizar nenhuma atividade.

Na mesma tela, logo mais abaixo, em Attach permissions policies - Optional vamos definir a politica de acesso para cada grupo.
Para o grupo CloudAdmin vamos definir a politica AdministratorAccess, que permite aos usuários deste grupo ter acesso total ao ambiente AWS
IPolici Administrador

Para o grupo Estagiario vamos definir a politica ReadOnlyAccess, que permite aos usuários deste grupo ter acesso apenas de leitura ao ambiente AWS
Policy Estagiario

Feito isso crie o grupo de acesso clicando no botão create group no final da pagina
create group

Agora vamos criar o usuário IAM aws-automation-1 que iremos utilizar para criar os outros usuários de maneira automatizada, dentro da pagina do recurso IAM clique em users
Image description

Logo após cliquem no botão Add Users no canto superior direito e chegara na tela abaixo, preencha conforme a imagem e clique em next Permissions
Image description

Nosso usuário terá permissão de admin na conta AWS por isso selecione o grupo CloudAdmin que criamos antes e clique em next tags

Image description
Agora clique em next review e depois create user ate chegar na tela abaixo, será informado o ACCESS KEY ID e o SECRET ACCESS KEY de seu usuário, marque eles em algum lugar pois iremos utilizar mais a frente
Image description

  • Passo 2 - Crie um diretório com o nome aws que ira armazenar os arquivos necessários para criar os usuários IAM no ambiente AWS. Vamos criar um documento no notepad++ com o nome do usuários e qual tipo de acesso ele possui através dos grupos que criamos. Obs: No campo grupo o nome tem que estar idêntico ao grupo que criamos dentro do console da AWS no serviço IAM. dados usuario

Após criarmos este documento e necessário que a salvamos dentro do diretório aws com o nome usuários no formato .csv.

  • Passo 3 - Agora crie um arquivo .sh dentro do diretório aws com o nome aws-iam-cria-usuario.sh e cole o script abaixo
#!/bin/bash
#Proposito: Automatiza a criação de usuários na AWS
#Utilização: ./aws-iam-cria-usuario.sh <arquivo entrada .csv>
#Autor: Hernani Almeida

INPUT=$1
OLDIFS=$IFS
IFS=','

[ ! -f $INPUT ] && { echo "$INPUT arquivo nao encontrado"; exit 99;}

command -v dos2unix >/dev/null && continue || { echo "utilitario dos2unix nao encontrado. Insira utilitario valido"; exit 99;}

dos2unix $INPUT

while read -r usuario grupo senha || [ -n "$usuario" ]
do
    if [ "$usuario" != "usuarios" ]; then
        aws iam create-user --user-name $usuario
        aws iam create-login-profile --password-reset-required --user-name $usuario --password $senha
        aws iam add-user-to-group --group-name $grupo --user-name $usuario
    fi

done < $INPUT

IFS=$OLDIFS
Enter fullscreen mode Exit fullscreen mode
  • Passo 4 - Abra o diretório aws dentro do terminal do gitbash e rode o seguinte comando aws configure para configurar seu acesso ao AWS console passando o ACCESS KEY YD e o SECRET ACCESS ID do usuário aws-automation-1 que criamos antes , Região da AWS onde sua conta se enquadre e o formato de output. configurar conta aws

Feito isso, verifique no gitbash se esta dentro do diretorio aws e rode o comando ./aws-iam-cria-usuario.sh usuarios.csv

Dentro do gitbash podemos acompanhar os usuários IAM sendo criado, conforme imagem abaixo.

usuarios IAM criados

Podemos confirmar os usuários criados no console da AWS em seus respectivos grupos conforme imagem abaixo

login usuario

Usuários criados podendo acessar o console da conta AWS e utiliza-lo conforme suas permissões, e na primeira vez que fizerem login será solicitado a alteração de senha conforme as imagens

login usuarios

login usuarios

login usuarios

Usuário logado
usuario logado

Valew galera este e meu primeiro post aqui para a comunidade e espero compartilhar e aprender cada vez mais com vocês.

Para quem quiser será um prazer te-los no github, adicionem ai
Deixo aqui meus contatos:
linkedin
github

Top comments (0)

Super Useful CSS Resources

>> Check out this classic DEV post <<