Parte I - Conceitos gerais
Este artigo irá explorar os principais conceitos do catálogo de dados Databricks conhecido como Unity Catalog (UC) e trazer uma checklist de implantação mostrando os envolvidos, papéis e responsabilidades bem como cada atividade envolvida no processo de adoção. É composto de duas partes: Conceitos gerais e Guia prático. Boa leitura!
Introdução
Uma grande preocupação de qualquer plataforma de dados é com relação ao gerenciamento de dados e usuários, equilibrando a necessidade de colaboração sem comprometer a segurança.
Unity catalog é a solução de governança de dados do Databricks para o Lakehouse que permite:
- Gestão de metadados e usuários de forma centralizada
- Controle de acesso aos dados centralizado
- Data lineage (rastreabilidade e interdependências)
- Auditoria de acesso aos Dados
- Pesquisa de Dados (Data search) Public Preview
- Compartilhamento seguro de dados com Delta Sharing
Ele é o elemento de ligação entre o Workspace e o lakehouse.
Figura 1 - Arquitetura Unity Catalog
Databricks pode ser usado sem Unity Catalog mas quando ativado, acrescenta a capadiade gestão de usuários e metadados centralizada reduzindo esforços dos administradores.
Figura 2 - Comparação da gestão tradicional sem UC versus centralizada com UC
Um workspace combina colaboração e isolamento e pode ser criado para atender uma linha de negócios (LOB) ou unidade de negócios (BU), caso de uso ou até mesmo times de dados (engenheiros, cientistas e analistas). Unity Catalog vai gerenciar os acessos e permissões através de um metastore (repositório de metadados) de cada um dos workspaces criados, ou seja, de maneira centralizada. Graças à automação, a criação de um workspace foi simplificada para poucos minutos!
Um usuário pode fazer parte de um ou mais workspaces, dependendo dos vários casos de uso para os quais contribuem. Mais importante, seus privilégios, independentemente do workspace ao qual pertencem, permanecem os mesmos.
Isso permite que as organizações adotem um modelo de governança centralizado que permite que o acesso aos dados seja definido em um repositório central e os usuários ficam livres para serem adicionados aos workspaces. Workspaces podem ser adicionados ou removidos de igual forma.
Temos a oportunidade de gerenciar essa complexidade, reduzindo a proliferação de workspaces/clusters como um mecanismo para segregar dados. Adicionalmente o UC acrescenta um elemento chamado Data Lineage (Azure, Geral) que permite visualizar em um gráfico todas as interdependências de uma tabela até o nível de coluna.
Figura 3 - Gráfico de linhagem de dados da funcionalidade UC Data Lineage
Neste artigo, queremos mostrar de uma maneira simples a jornada do cliente para adotar o Unity Catalog (UC) e Federação de Identidade para atender a essa necessidade de gerenciamento centralizado de usuários e privilégios. .
Ponto de acesso para os usuários da plataforma, sejam analistas, cientistas e engenheiros. Com o UC, todo workspace está associado a um Unity metastore e pode ser usado como primeiro nível de isolamento combinado com catálogos. Todo o controle de acesso é feito por permissões dentro do Unity Catalog.
Databricks permite automação através de API, CLI ou Terraform para criação e dimensionamento economizando ainda mais tempo e esforço dos administradores.
Apresentando os elementos
Vamos primeiro apresentar todos os elementos. Qualquer produto baseado em SaaS não pode viver isolado e precisa se integrar bem às ferramentas e funções existentes em sua organização.
Administrador de nuvem e administrador de identidade são funções que existem fora do Databricks e precisam trabalhar em estreita colaboração com a função de administrador de conta (Account Admin - uma função que existe dentro do Databricks) para atingir metas específicas que fazem parte da configuração inicial. Falaremos mais tarde sobre como esses papéis funcionam juntos.
Personas fora da Databricks
Cloud Admin | Administradores de nuvem podem administrar e controlar recursos de nuvem que o Unity Catalog utiliza: contas/buckets de armazenamento, IAM/service principals/identidades gerenciadas. |
Identity Admin | Os administradores de identidade podem administrar usuários e grupos no IdP (identity provider), que fornece as identidades para o nível da conta. Conectores SCIM e SSO requerem configuração pelo Administrador de Identidade no Provedor de Identidade. |
Agora vamos nos concentrar nas personas que gerenciam recursos no Databricks. Além das principais funções administrativas apresentadas no artigo de administração de workspaces, existe a possibilidade de funções adicionais como Catalog Admin, Schema Admin e Compute Admin. Algumas organizações podem optar por ir ainda mais granular e criar Administradores de Schemas mas em alguns casos todas essas responsabilidades se concentram em uma única pessoa. A beleza do modelo de Herança de Privilégios é que você pode ir tão amplo ou profundo quanto necessário para atender às necessidades da sua organização.
Chapéu Databricks - personas de administração
Persona | Função integrada do Databricks? | Grupo personalizado recomendado? |
Account Admin | Y | Y |
Metastore Admin | Y | Y |
Catalog Admin | N | Y |
Schema Admin | N | Y |
Workspace Admin | Y | Y |
Compute Admin | N | Y |
Você vai perceber que recomendamos a criação de um grupo personalizado mesmo quando houver uma função incorporada. Essa é uma prática recomendada geral para incentivar o uso de grupos, o que torna muito mais fácil dimensionar quando se trata de gerenciar permissões nas unidades de negócios, ambientes e workspaces. Você também pode reutilizar alguns desses grupos que já existem em seu IdP e sincronizá-los com o Databricks, permitindo a organização centralizada do grupo, mantendo a capacidade de criar grupos no nível da conta do Databricks para acesso mais granular.
Outro conceito importante a ser entendido é que o Principal que cria um objeto protegível torna-se seu proprietário (owner) inicial, e a transferência de propriedade para o grupo apropriado para um objeto protegível, em qualquer nível, é possível e recomendado.
Componentes do Unity Catalog
Nesta seção, vamos listar os componentes e funcionalidades disponíveis no UC.