Bibliotecas de lista de permissões e init script em computação compartilhada

No Databricks Runtime 13.3 LTS e acima, você pode adicionar biblioteca e init script ao allowlist no Unity Catalog. Isso permite que os usuários aproveitem esses artefatos na compute configurada com modo de acesso compartilhado.

Você pode listar um diretório ou caminho de arquivo na lista de permissões antes que esse diretório ou arquivo exista. Consulte Fazer upload de arquivos para um volume do Unity Catalog.

Observação

Você deve ser um administrador do metastore ou ter o privilégio MANAGE ALLOWLIST para modificar a lista de permissões. Consulte gerenciamento de ALLOWLIST.

Importante

As bibliotecas usadas como drivers JDBC ou Spark fonte de dados personalizados no site compartilhado habilitado para o Unity Catalog compute exigem permissões ANY FILE.

Algumas bibliotecas instaladas armazenam os dados de todos os usuários em um diretório temporário comum. Essas bibliotecas podem comprometer o isolamento do usuário.

Como adicionar itens à lista de permissões

Você pode adicionar itens ao allowlist com o Catalog Explorer ou a API REST.

Para abrir a caixa de diálogo para adicionar itens à lista de permissões no Catalog Explorer, faça o seguinte:

  1. No seu workspace do Databricks, clique em Ícone de catálogo Catálogo.

  2. Clique Ícone de engrenagem para abrir a IU de detalhes e permissões do metastore.

  3. Selecione JARs/init scriptpermitidos.

  4. Clique em Adicionar.

Importante

Esta opção é exibida apenas para usuários com privilégios suficientes. Se você não conseguir acessar a IU da lista de permissões, entre em contato com o administrador do metastore para obter assistência na lista de permissões de bibliotecas e init script.

Adicione um init script à lista de permissões

Conclua as etapas a seguir na caixa de diálogo da lista de permissões para adicionar um init script à lista de permissões:

  1. Para Type, selecione init script.

  2. Para Tipo de Origem, selecione Volume ou o protocolo de armazenamento de objetos.

  3. Especifique o caminho de origem para adicionar à lista de permissões. Consulte Como as permissões nos caminhos são aplicadas na lista de permissões?.

Adicionar um JAR à lista de permissões

Conclua as etapas a seguir na caixa de diálogo da lista de permissões para adicionar um JAR à lista de permissões:

  1. Para Tipo, selecione JAR.

  2. Para Tipo de Origem, selecione Volume ou o protocolo de armazenamento de objetos.

  3. Especifique o caminho de origem para adicionar à lista de permissões. Consulte Como as permissões nos caminhos são aplicadas na lista de permissões?.

Adicionar coordenadas do Maven à lista de permissões

Conclua as etapas a seguir na caixa de diálogo da lista de permissões para adicionar coordenadas do Maven à lista de permissões:

  1. Para Tipo, selecione Maven.

  2. Para Tipo de origem, selecione Coordenadas.

  3. Insira as coordenadas no seguinte formato: groudId:artifactId:version.

    • Você pode incluir todas as versões de uma biblioteca colocando o seguinte formato na lista de permissões: groudId:artifactId.

    • Você pode incluir todos os artefatos em um grupo colocando o seguinte formato na lista de permissões: groupId.

Como as permissões nos caminhos são aplicadas na lista de permissões?

Você pode usar a lista de permissões para conceder acesso a JARs ou init script armazenados em volumes do Unity Catalog e armazenamento de objetos. Se você adicionar um caminho para um diretório em vez de um arquivo, as permissões da lista de permissões serão propagadas para arquivos e diretórios contidos.

A correspondência de prefixos é usada para todos os artefatos armazenados nos volumes do Unity Catalog ou no armazenamento de objetos. Para evitar a correspondência de prefixos em um determinado nível de diretório, inclua uma barra final (/). Por exemplo, /Volumes/prod-libraries/ não fará a correspondência de prefixo para arquivos prefixados com prod-libraries. Em vez disso, todos os arquivos e diretórios dentro de /Volumes/prod-libraries/ são adicionados à lista de permissões.

Você pode definir permissões nos seguintes níveis:

  1. O caminho base do volume ou contêiner de armazenamento.

  2. Um diretório aninhado em qualquer profundidade do caminho base.

  3. Um único arquivo.

Adicionar um caminho à lista de permissões significa apenas que o caminho pode ser usado para init script ou instalação JAR. O Databricks ainda verifica permissões para acessar dados no local especificado.

O principal usado deve ter permissões READ VOLUME no volume especificado. Veja SELECT.

No modo de acesso de usuário único, é utilizada a identidade do titular atribuído (um usuário ou entidade de serviço).

No modo de acesso compartilhado:

  • As bibliotecas usam a identidade do instalador da biblioteca.

  • init script usa a identidade do proprietário clusters .

Observação

O modo de acesso compartilhado sem isolamento não suporta volumes, mas usa a mesma atribuição de identidade que o modo de acesso compartilhado.

A Databricks recomenda configurar todos os privilégios de armazenamento de objetos relacionados ao init script e às bibliotecas com permissões somente leitura. Os usuários com permissões de gravação nesses locais podem potencialmente modificar o código nos arquivos de biblioteca ou init script.

Databricks recomenda usar instance profile para gerenciar o acesso a JARs ou init script armazenado no S3. Use a seguinte documentação no link de referência cruzada para concluir esta configuração:

  1. Crie uma IAM role com permissões de leitura e lista nos buckets desejados. Consulte Tutorial: Configurar o acesso ao S3 com um instance profile.

  2. Inicie clusters com o instance profile. Consulte instance profile.

Observação

As permissões da lista de permissões para JARs e init script são gerenciadas separadamente. Se você usar o mesmo local para armazenar os dois tipos de objetos, deverá adicionar o local à lista de permissões de cada um.