Como alterar senhas em lote via API Bruc

Neste artigo, explicaremos como realizar a troca de senha de várias contas em lote, utilizando a API da Bruc. Antes de iniciar, é importante que o usuário que executará as ações deste guia atenda aos seguintes pré-requisitos:

  • Possuir uma conta ativa no painel de controle da Bruc.
  • Ter conhecimento em PowerShell.
  • Ter conhecimento em Excel.

Antes de começar, faça o download do arquivo .zip disponível ao final deste guia. Esse arquivo contém dois scripts em PowerShell, que podem ser executados em qualquer máquina Windows, além de dois arquivos Excel em formato .csv com exemplos de como a lista de contas a serem alteradas deve ser estruturada.

Alterando politica de execução do Powershell

Agora, vamos ao processo. Primeiro, abra o PowerShell como Administrador e execute o comando Get-ExecutionPolicy. Este comando verifica qual é a política de execução de scripts definida no seu PowerShell:



No meu caso, a política de execução está configurada como RemoteSigned. Vamos alterá-la para Bypass para permitir a execução dos scripts. Para isso, execute o comando Set-ExecutionPolicy Bypass e, quando o PowerShell solicitar uma confirmação, escolha a opção A (Sim para Todos) e pressione Enter:

PS C:Windowssystem32> Set-ExecutionPolicy Bypass

Alteração da Política de Execução
A política de execução ajuda a proteger contra scripts não confiáveis. A alteração da política de execução pode
implicar exposição aos riscos de segurança descritos no tópico da ajuda about_Execution_Policies em
https://go.microsoft.com/fwlink/?LinkID=135170. Deseja alterar a política de execução?
[S] Sim [A] Sim para Todos [N] Não [T] Não para Todos [U] Suspender [?] Ajuda (o padrão é "N"):

PS C:Windowssystem32>

Pronto, a política foi alterada. Agora, vamos prosseguir.

Gerando Token JWT

O próximo passo é criar o token privado do usuário no painel. Para isso, utilizaremos o script generate_bruc_api_token.ps1. No PowerShell, executado como Administrador, navegue até o diretório onde o script está localizado e execute-o com o comando: .generate_bruc_api_token.ps1.

PS V:API> .generate_bruc_api_token.ps1

O script solicitará seu nome de usuário e senha do painel de controle da bruc. Esses dados serão utilizados para autenticar e gerar o token privado.

Digite seu nome de usuário e senha quando solicitado. O script retornará o primeiro token privado JTI. Copie esse token e armazene-o em um local seguro.

PS V:API> .generate_bruc_api_token.ps1
Digite seu usuario: SeuUsuarioDoPainelAqui
Digite sua senha: ********
Seu Token JTI: d2d98068b03f36267624eefad79167b20
PS V:API>

Agora, acesse o painel de controle da bruc. Em seguida, clique em Minha Conta e selecione Configurações da Conta, localizado no canto superior direito da tela.

30464819222164



Em seguida, clique em  Interface API
 e copie a chave privada da sua organização. Certifique-se de armazená-la em um local seguro.



O próximo passo é gerar o token de autorização, este passo só deve ser efetuado apenas uma vez, este mesmo token pode ser utilizado sempre que necessário, está atrelado ao usuário do painel que foi utilizado para criá-lo, vai funcionar para sempre desde que o usuário esteja ativo.

Com a chave privada e o primeiro token privado em mãos, baixe o arquivo token-generator.ps1 e execute como administrador no Powershell.
Após a execução ele irá solicitar o "JTI" juntamente com a "SECRET KEY" (Chave privada) que coletamos nos passos anteriores:


39810074270612


Conforme a imagem acima o TOKEN será gerado com sucesso!

Este é o token principal de autorização que utilizaremos para as chamadas da API. Copie-o e armazene-o em um local seguro.

Antes de prosseguir, é importante entender as três opções de execução disponíveis no script:

  1. trocarsenha: O script solicitará uma senha e aplicará essa senha a todas as contas listadas no arquivo.
  2. trocarsenhadiferente: Para usar esta opção, configure o arquivo como um .csv, com contas na coluna A e senhas na coluna B.
  3. forcartrocasenha: Esta opção não altera a senha, mas força as contas a trocar a senha no próximo login via Webmail.

Escolha a opção que melhor atende às suas necessidades.

Se optar por trocarsenha, o arquivo .csv deve ser formatado conforme o exemplo a seguir:

30466245502612

Caso a opção trocarsenhadiferente for utilizada, o arquivo .csv deve ser criado seguindo este exemplo:

30467129452308


Se você escolher a opção forcartrocasenha, o arquivo .csv pode ser formatado da mesma forma que o da primeira opção, contendo apenas as contas na coluna A.

Agora, com o token principal de autorização e o arquivo contendo as contas em mãos, vamos prosseguir com a execução.

 

Realizando a chamada de API

No PowerShell, navegue até o diretório onde o script está localizado e execute o comando: .powershell_bruc_api.ps1.

PS V:API> .powershell_bruc_api.ps1

O script solicitará o token de autorização principal e o caminho para o arquivo .csv. O caminho deverá ser absoluto inclusive com a extensão do arquivo, nesse caso .csv.

PS V:API> .powershell_bruc_api.ps1
Digite seu token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJkMmQ5ODA2OGIwM2YzNjI2NzYyNGVlZmFkNzkxNjdiMjBh
Digite o caminho do CSV: V:APItrocarsenha.csv

Em seguida, o script perguntará qual opção você deseja utilizar. No exemplo abaixo, vou selecionar a opção trocarsenha.

Qual opcao voce precisa?
[] trocarsenha [] trocarsenhadiferente [] forcartrocasenha [?] Ajuda (o padrão é "trocarsenha"): trocarsenha

Em seguida, o script solicitará a senha que será aplicada a todas as contas. Após inserir a senha e pressionar Enter, o script executará as chamadas na API para alterar as senhas das contas.

Digite a senha que sera setada nas contas: suasenha@12345
Senha alterada para a conta aappii@vini.bruc.com.br: OK
Senha alterada para a conta bbaa@vini.bruc.com.br: OK
Senha alterada para a conta eexxtt@vini.bruc.com.br: OK
Senha alterada para a conta iimm@vini.bruc.com.br: OK
Senha alterada para a conta sskk@vini.bruc.com.br: OK
Senha alterada para a conta ppsstt@vini.bruc.com.br: OK
Solicitacao Finalizada!
PS V:API>

A senha foi alterada para as 6 contas.

Para garantir a segurança, recomendamos que você reverta a política de execução de scripts do PowerShell para seu valor anterior, que geralmente é Restricted ou RemoteSigned. Para isso, execute o comando: Set-ExecutionPolicy SuaPoliticaAqui.

PS C:Windowssystem32> Set-ExecutionPolicy Restricted

Alteração da Política de Execução
A política de execução ajuda a proteger contra scripts não confiáveis. A alteração da política de execução pode
implicar exposição aos riscos de segurança descritos no tópico da ajuda about_Execution_Policies em
https://go.microsoft.com/fwlink/?LinkID=135170. Deseja alterar a política de execução?
[S] Sim [A] Sim para Todos [N] Não [T] Não para Todos [U] Suspender [?] Ajuda (o padrão é "N"): A
PS C:Windowssystem32>





Nós confiamos em Deus!