Sincronizando o Azure AD com o Unity Catalog do Databricks

Anselmo Borges
Rescue Point
Published in
4 min readNov 21, 2022
Aproveitem que estou inspirado

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.

Entre e já comece a trabalhar cara! kkk

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.

Usuários do meu domínio Azure AD

Agora segue abaixo 2 grupos que criei, data analysts e data engineers.

os 2 grupos lá desconsidera o Rescue Point pois não vamos usar.

Quando inicio o Unity Catalog somente o user super admin que criou o ambiente Databricks vai estar no catalogo de usuários.

Unity padrão depois do primeiro acesso.

Assim como os grupos

Account users é um grupo default

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.

Criação do Azure Databricks SCIM Provisioning Connector

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:

Configuração preenchendo os dados do Unity no Azure Databricks SCIM Provisioning Connector

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.

Alterando o escopo de sincronismo

Agora basta startar o processo de replicação.

Iniciando o processo de replicação dos users do AD para o Unity Catalog

Porém o tempo de replicação demora 40 min, esperei a replicação do AD e esse é o primeiro resultado.

Dados dos usuários

Seguem agora os grupos:

Dados dos grupos

Informação importante

Você sabia que o nome do Chaves é Rodolfo Pietro Filiberto Raffaelo Guglielm?

Fiquei sabendo ontem, rs

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.

Frederiko in tha house!
"Cheguei nessa porra!"

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.

--

--

Anselmo Borges
Rescue Point

Bigdata Engineer, Cloud Architect, Nerd, Alcoholic, Brazilian Jiujitsu Black belt and hide and seek World champion.