Requisitos
Para utilizar a ferramenta, que está disponível no GitHub, precisamos instalar duas ferramentas, o HTTPIE e a Veracode-Api-Signing.
Uma forma fácil de fazer isso é por meio do PIP:
pip install httpie
pip install veracode-api-signing
Como a ferramenta foi escrita em Powershell, é possível utiliza-la em Windows, Linux e Mac. Caso esteja fora do Windows, basta fazer a instalação do Powershell.
Para facilitar a autenticação, recomendo que crie um arquivo de credenciais e utilize um usuário com as roles de Administrador ou de Team Admin.
Objetivos e estruturas
Essa ferramenta foi desenhada para automatizar o processo de criação e administração de usuários:
- Permite a criação com base num arquivo CSV
- Alterar conjunto de roles
- Bloquear e deletar usuários
Utiliza um sistema de LOGs simples e templates JSON.
Para os conjuntos de roles, pensamos em alguns tipos de usuários:
- Desenvolvedor - Plugin na IDE e visualizar resultados
- QA - Visualizar resultados
- SOC - Visualizar resultados, manipular politicas e recursos
- DEVOPS - Visualizar resultados, manipular politicas e recursos
- BLUETEAM - Visualizar resultados
Criando um usuário
Começamos pela edição do template, disponível em Templates/template.csv, onde vamos criar um novo conforme o padrão:
Nome;Sobrenome;Email;Cargo;Time;NovoTime
Joao;Silva;m@mail.com;Desenvolvedor;DEVs;Sim
Para utilizar o script precisamos, depois de ter feito a configuração inicial, chamar o script na linha de comando:
./newUser.ps1 ./template.csv
Basicamente, apenas chamamos o script e passamos como parâmetro o caminho do nosso CSV.
O script vai verificar se foi solicitada a criação de um novo time e se o que está na lista já existe. Depois dessa validação, vai fazer a criação do usuário conforme as informações.
Atualizando as roles
Como identificador do usuário, vamos utilizar seu email.
Conforme nosso template de roles, podemos mover o usuário de um padrão para o outro. Em nosso exemplo, criamos um desenvolvedor, mas agora vamos altera-lo para SOC:
./updateRoles.ps1 "m@mail.com" "SOC"
Precisamos apenas chamar o script, passando primeiro o email e depois qual o conjunto que queremos.
Bloquear ou Deletar
O processo para as duas ações é basicamente o mesmo, então vamos tratar numa única seção. Precisamos apenas passar como parâmetro o email do usuário:
./blockuser.ps1 "m@mail.com"
./deleteUser.ps1 "m@mail.com"
Scripts isolados
Caso queira pegar a lista de todos os times disponíveis em seu ambiente (ou os que seu usuário administra, no caso de ter a role de Team Admin) pode utilizar o script listTeams:
./listTeams.ps1
Caso tenha alguma demanda especifica ou alguma dificuldade com o script, entre em contato com a equipe da M3Corp ou reporte pelo GitHub.
Top comments (0)