Pular para o conteúdo principal

Biblioteca Allowlist e script de inicialização em compute com modo de acesso padrão (anteriormente modo de acesso compartilhado)

No Databricks Runtime 13.3 LTS e versões superiores, o allowlist no Unity Catalog controla qual biblioteca e script de inicialização podem ser compute no modo de acesso padrão. Isso permite que os usuários aproveitem esses artefatos em compute configurados com o modo de acesso padrão.

Por default, a lista de permissões está vazia. Você não pode desativar este recurso. Para modificar a lista de permissões, você deve ter o privilégio MANAGE ALLOWLIST . Veja gerenciar LISTA DE PERMITIDOS.

Você pode adicionar um diretório ou arquivo à lista de permissões mesmo que ele ainda não tenha sido criado. Consulte Trabalhar com arquivos em volumes Unity Catalog.

importante

As bibliotecas usadas como drivers JDBC ou fontes de dados personalizadas Spark no padrão 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.

Riscos de segurança e operacionais

Compreender as implicações de segurança das listas de permissões é fundamental para manter o isolamento cluster e proteger seus dados em compute no modo de acesso padrão. O uso correto da lista de permissões impede que os usuários adicionem bibliotecas e scripts de inicialização arbitrários. Isso reduz a probabilidade de problemas de segurança, instabilidade do cluster e outros comportamentos imprevisíveis.

Seja criterioso sobre quem recebe privilégios MANAGE ALLOWLIST . Usuários com privilégios MANAGE ALLOWLIST podem adicionar qualquer caminho ou coordenada Maven à compute de permissões, controlando efetivamente qual código pode ser executado no modo de acesso padrão.

Como administrador do metastore, revise periodicamente os itens da lista de permissões e verifique se eles provêm de fontes confiáveis. Os artefatos incluídos na lista de permissões podem acessar recursos cluster e dados do usuário, portanto, devem estar sujeitos aos mesmos controles de segurança e governança que outros componentes sensíveis.

A Databricks recomenda estas boas práticas para gerenciar a lista de permissões:

  • Conceda o privilégio MANAGE ALLOWLIST somente aos administradores do metastore e aos administradores de plataforma confiáveis. Para outros usuários, conceda MANAGE ALLOWLIST apenas temporariamente, conforme necessário.
  • Analise e audite regularmente as adições à lista de permissões.
  • Use caminhos específicos e coordenadas Maven em vez de padrões genéricos.
  • Configure locais de armazenamento para artefatos permitidos com permissões somente de leitura.
  • Implemente um processo formal de aprovação para inclusões na lista de permissões em ambientes de produção.
  • Teste a biblioteca e o script de inicialização da lista de permissões em ambientes que não sejam de produção antes de adicioná-los às listas de permissões de produção.

Como adicionar itens à lista de permissões

O senhor pode adicionar itens ao site allowlist com o Catalog Explorer ou com 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. Em seu site Databricks workspace, clique em Ícone de dados. Catalog .
  2. Clique no ícone de engrenagem Ícone de engrenagem..
  3. Clique no nome da metastore para abrir a interface de usuário de detalhes e permissões da metastore.
  4. Selecione Allowed JARs/init script .
  5. Clique em Adicionar .
importante

Essa opção só é exibida para usuários suficientemente privilegiados. Se não for possível acessar a interface do usuário da lista de permissões, entre em contato com o administrador da metastore para obter assistência na lista de permissões da biblioteca e no script de inicialização.

Adicionar 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. Em Type , selecione init script .
  2. Em Tipo de origem , selecione Volume ou o protocolo de armazenamento de objetos.
  3. Especifique o caminho de origem a ser adicionado à 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 Type , selecione JAR .
  2. Em Tipo de origem , selecione Volume ou o protocolo de armazenamento de objetos.
  3. Especifique o caminho de origem a ser adicionado à 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

importante

Antes de adicionar as coordenadas Maven à lista de permissões, o senhor deve ter as permissões CAN ATTACH TO e CAN MANAGE definidas no compute onde deseja instalar a biblioteca. Consulte permissões de computação.

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

  1. Para Type , selecione Maven .
  2. Em Tipo de origem , selecione Coordenadas .
  3. Insira as coordenadas no seguinte formato: groudId:artifactId:version.
    • O senhor pode incluir todas as versões de uma biblioteca, permitindo o seguinte formato: groudId:artifactId.
    • Você pode incluir todos os artefatos em um grupo listando o seguinte formato: groupId.

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

O senhor pode usar a lista de permissões para conceder acesso a JARs ou scripts de inicialização armazenados nos volumes Unity Catalog e no 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 se propagarão para os 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 realizará a correspondência de prefixo para arquivos com prefixo prod-libraries. Em vez disso, todos os arquivos e diretórios em /Volumes/prod-libraries/ são adicionados à lista de permissões.

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

  1. O caminho base para o 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 o script de inicialização ou para a instalação do JAR. O Databricks ainda verifica as permissões de acesso aos dados no local especificado.

O principal usado deve ter permissões READ VOLUME no volume especificado. Consulte VOLUME DE LEITURA.

No modo de acesso dedicado (antigo modo de acesso de usuário único), a identidade do principal atribuído (um usuário ou grupo) é usada.

No modo de acesso padrão:

  • biblioteca use a identidade do instalador da biblioteca.
  • O script init usa a identidade do proprietário do clustering.
nota

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

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

Databricks Recomenda-se usar o perfil de instância para gerenciar o acesso a JARs ou ao script de inicialização armazenado em S3. Use a documentação a seguir no link de referência cruzada para concluir essa configuração:

  1. Crie um IAM role com permissões de leitura e lista em seus buckets desejados. Veja o tutorial: Configurar o acesso S3 com um instance profile.
  2. Inicie um clustering com o endereço instance profile. Veja o perfil da instância.
nota

As permissões de lista de permissão para JARs e script de inicialização 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.