Ivo Dias
Posted on June 21, 2023
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.
Posted on June 21, 2023
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.