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 ser um administrador do metastore ou 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 a seção sobre como carregar arquivos para um volume Unity Catalog.
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 ALLOWLISTsomente aos administradores do metastore e aos administradores de plataforma confiáveis. Para outros usuários, concedaMANAGE ALLOWLISTapenas 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:
- Em seu site Databricks workspace, clique em
Catalog .
- Clique no ícone de engrenagem
.
- Clique no nome da metastore para abrir a interface de usuário de detalhes e permissões da metastore.
- Selecione Allowed JARs/init script .
- Clique em Adicionar .
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:
- Em Type , selecione init script .
- Em Tipo de origem , selecione Volume ou o protocolo de armazenamento de objetos.
- 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:
- Para Type , selecione JAR .
- Em Tipo de origem , selecione Volume ou o protocolo de armazenamento de objetos.
- 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
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:
- Para Type , selecione Maven .
- Em Tipo de origem , selecione Coordenadas .
- 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.
- O senhor pode incluir todas as versões de uma biblioteca, permitindo o seguinte formato:
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:
- O caminho base para o volume ou contêiner de armazenamento.
- Um diretório aninhado em qualquer profundidade do caminho base.
- 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 ou no modo de acesso compartilhado sem isolamento, é usada a identidade do instalador da biblioteca.
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 uma conta de serviço do Google Cloud para gerenciar o acesso a JARs ou scripts de inicialização armazenados em GCS. Crie um serviço do Google Cloud account com a função Storage Object Viewer para o bucket desejado e anexe-o a um cluster. Consulte Acessar GCS buckets usando a conta de serviço do Google Cloud no clustering.
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.