Sincronizando o Azure AD com o Unity Catalog do Databricks
Esse é rapidinho!
Por padrão o Unity Catalog usa uma base de usuários própria pra gerenciar os acessos e esse não é o cenário de grandes corporações. O ideal é que quando um analista ou um engenheiro de dados chega na empresa ele já tenha a maioria dos acessos necessários para que seu onboarding seja rápido e ele produza o quanto antes.
Imagine o cenário da pessoa que entrou na empresa o RH mandou o login dele pro suporte e ele cria o user no AD, atribui a pessoa ao grupo de engenharia de dados. Automaticamente ela já teria acessos aos workspaces e clusters necessários pra começar. Esse é um lance muito fino de se configurar mas é possível.
Vou mostrar nesse post o seguinte cenário, os meus usuários e grupos do meu AD, criei uns usuários fictícios de personagens do chaves.
Agora segue abaixo 2 grupos que criei, data analysts e data engineers.
Quando inicio o Unity Catalog somente o user super admin que criou o ambiente Databricks vai estar no catalogo de usuários.
Assim como os grupos
Vamos fazer o sincronismo do nosso domínio AD com o Unity Catalog, pra isso precisamos do seguinte:
- Que nossos workspaces sejam Premium (tem essa)
- De um Enterprise application na Azure chamado: Azure Databricks SCIM Provisioning Connector
Criando o Azure Databricks SCIM Provisioning Connector
É bem simples o processo, segue como fazer no Gif abaixo, vá no AD, clique em Enterprise Application e clique em New Application.
Configurando no Unity Catalog
Agora voltamos para o Unity Catalog e vamos em settings e set up user provisioning, o resto é só seguir o gif abaixo:
Você viu que peguei os dados gerados no Unity Catalog e coloquei lá no Enterprise Application criado, cliquei em provisioning e colei a URL e chave gerada, optei pelo sincronismo de usuários automáticos.
Uma observação para esse Lab: vamos sincronizar qualquer user e group criado no AD, então vamos em "Edit provisioning" > "Settings" e vamos alterar a replicação para "Sync all users and groups". O padrão só replica os usuários que atenderem um critério que você vai definir ainda, ai na sua empresa, pro lab ficar mais simples vamos sincronizar todos.
Agora basta startar o processo de replicação.
Porém o tempo de replicação demora 40 min, esperei a replicação do AD e esse é o primeiro resultado.
Seguem agora os grupos:
Informação importante
Você sabia que o nome do Chaves é Rodolfo Pietro Filiberto Raffaelo Guglielm?
Voltando a programação normal
Agora só pra uma ultima validação, vou criar no AD o user Frederico (Kiko) e aguardar o tempo de replicação do AD para o Unity Catalog.
Vamos supor que eu não queira aguardar os 40 min de intervalo e queira replicar agora, eu tenho essa opção usando o "provision on demand", o gif abaixo mostra isso.
Bom, funciona!
Os ajustes agora de grupos e acessos você cria como achar melhor, minha dica de quem já fez isso no Cloudera, crie as roles sempre pros grupos, quem é admin do servidor, quem visualiza o que, no Unity Catalog, assim conforme o user for atribuído a um grupo ele já nasce com os acessos.
Espero ter ajudado com mais esse!
Deixa a palminha e compartilha com o coleguinha que tá precisando disso.
Anselmo Borges.