Como desabilitar políticas dentro do Google Workspace
De algum tempo para cá o Google Workspace aplicou algumas políticas que restringem a criação de contas de serviço ou chaves JSON dentro do ambiente para efetuar migrações de dados de E-mail ou Google Drive.
Se você seguiu o nosso guia sobre como criar a configuração de uma migração de e-mails do Google Workspace para a Skymail, e no momento da criação da chave JSON se deparou com este erro:
Fique tranquilo, há uma forma de resolvê-lo.
O Google dá uma documentação bem completa sobre como resolver o problema, aqui vamos resumir. Documentação do Google.
Primeiro é necessário uma máquina Linux com Ubuntu ou Debian, em suas versões mais recentes, dentro dela rode este comando para instalar o SDK em Python do Google Cloud Compute, CLI do próprio Google que vamos usar:
apt install apt-transport-https ca-certificates gnupg curl
Depois importe a chave pública do Google Cloud:
curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo gpg --dearmor -o /usr/share/keyrings/cloud.google.gpg
Agora adicione a URI de distribuição da CLI gcloud como uma origem de pacote:
echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] https://packages.cloud.google.com/apt cloud-sdk main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list
Atualize e instale a gcloud CLI:
apt update && sudo apt-get install google-cloud-cli -y
A máquina agora está pronta para se conectar com o gcloud CLI.
Agora vamos nos conectar, execute o comando a seguir para começar:
gcloud init --skip-diagnostics
Ao entrar no gcloud ele define como default a configuração atual, coloque Y e dê Enter.
O shell vai te dar uma URL, copie ela e autentique com sua conta master do Google Workspace no navegador:
Continue:
Depois permita:
O navegador vai te retornar dois itens, o primeiro é uma opção para se logar fora do navegador, e o segundo é a sua chave, salve ela e feche a aba:
Volte ao shell na máquina Linux e cole a chave, dê Enter, o shell vai te trazer a conta que foi usada para a autenticação e os projetos existentes dentro dela, digite o número do seu projeto e dê Enter:
O shell vai te retornar a seguinte tela, fique tranquilo:
Agora vamos rodar os comandos para dar ao nosso usuário a permissão, para que ele tenha permissão para desabilitar aquela política que impede a criação da chave JSON.
Rode o comando a seguir para buscar o ID da organização do Google Workspace, vamos usar o ID:
gcloud organizations list
Agora rode o seguinte comando para dar a permissão de Administrador de Políticas da Organização ao nosso usuário, essa é a permissão necessária para que o usuário consiga desabilitar a política atual que impede a criação da chave:
gcloud organizations add-iam-policy-binding 9488***** --member=user:user@dominio.com.br --role=roles/orgpolicy.policyAdmin
Obs: Ajustar ali o ID coletado acima e o usuário master.
Permissões concedidas:
Agora vamos rodar dois comandos para desabilitar as políticas ligadas a criação e upload da chave JSON:
~# gcloud org-policies delete iam.disableServiceAccountKeyCreation --organization=2806******
~# gcloud org-policies delete iam.disableServiceAccountKeyUpload --organization=2806******
Pronto, com as políticas removidas, basta agora voltar ao painel do Google Workspace e criar a chave JSON e seguir com a migração em nosso painel: