Gerenciar locais externos
Este artigo descreve como listar, ver, atualizar, conceder permissões para locais externos e excluí-los.
Observação
O Databricks recomenda reger o acesso aos arquivos usando volumes. Confira O que são os volumes do Catálogo do Unity?.
Descrever um local externo
Para ver as propriedades de um local externo, incluindo permissões e acesso ao espaço de trabalho, você pode usar o Explorador de Catálogos ou um comando SQL.
Explorador do Catálogo
- Na barra lateral, clique em Catálogo.
- Na página Acesso rápido, clique no botão Dados externos >para ir para a guia Locais externos.
- Clique no nome de um local externo para visualizar suas propriedades.
SQL
Execute o comando a seguir em um bloco de anotações ou no editor de SQL do Databricks. Substitua <location-name>
pelo nome do local externo.
DESCRIBE EXTERNAL LOCATION <location-name>;
Mostrar as permissões concedidas em um local externo
Para mostrar concessões em um local externo, use um comando como o seguinte. Opcionalmente, você pode filtrar os resultados para mostrar apenas as concessões da entidade de segurança especificada.
SHOW GRANTS [<principal>] ON EXTERNAL LOCATION <location-name>;
Substitua os valores de espaço reservado:
<location-name>
: o nome do local externo que autoriza a leitura e a gravação no caminho do contêiner de armazenamento no seu locatário de nuvem.<principal>
: o endereço de email de um usuário de nível de conta ou o nome de um grupo de nível de conta.
Observação
Se um grupo ou nome de usuário contiver um espaço ou @
símbolo, use acentos graves ao redor dele (não apóstrofos). Por exemplo,
equipe
financeira.
Conceder permissões em um local externo
Esta seção descreve como conceder e revogar permissões em um local externo usando o Explorador de Catálogos e comandos SQL em um notebook ou consulta SQL. Para obter informações sobre como, alternativamente, usar a CLI ou o Terraform do Databricks, confira a Documentação do Terraform no Databricks e O que é a CLI do Databricks?
Você pode conceder as seguintes permissões em um local externo:
CREATE EXTERNAL TABLE
CREATE EXTERNAL VOLUME
CREATE MANAGED STORAGE
Permissões necessárias: privilégio CREATE EXTERNAL LOCATION
no metastore e na credencial de armazenamento mencionada no local externo. Por padrão, os administradores do metastore têm CREATE EXTERNAL LOCATION
no metastore.
Para conceder permissão para usar um local externo:
Explorador do Catálogo
- Na barra lateral, clique em Catálogo.
- Na página Acesso rápido, clique no botão Dados externos >para ir para a guia Locais externos.
- Clique no nome de um local externo para abrir suas propriedades.
- Clique em Permissões.
- Para conceder permissões a usuários ou grupos, selecione cada identidade e clique em Conceder.
- Para revogar permissões de usuários ou grupos, selecione cada identidade e clique em Revogar.
SQL
Execute o comando SQL a seguir em um notebook ou editor de consultas SQL. Esse exemplo concede a capacidade de criar uma tabela externa que faça referência ao local externo:
GRANT CREATE EXTERNAL TABLE ON EXTERNAL LOCATION <location-name> TO <principal>;
Substitua os valores de espaço reservado:
<location-name>
: o nome do local externo que autoriza a leitura e a gravação no caminho do contêiner de armazenamento no seu locatário de nuvem.<principal>
: o endereço de email de um usuário de nível de conta ou o nome de um grupo de nível de conta.
Observação
Se um grupo ou nome de usuário contiver um espaço ou @
símbolo, use acentos graves ao redor dele (não apóstrofos). Por exemplo,
equipe
financeira.
Alterar o proprietário de um local externo
O criador de um local externo é seu proprietário inicial. Para alterar o proprietário para um usuário ou grupo de nível de conta diferente, execute o seguinte comando em um notebook ou no editor de SQL do Databricks ou use o Explorador do Catálogo. Substitua os valores de espaço reservado:
<location-name>
: o nome da credencial.<principal>
: o endereço de email de um usuário de nível de conta ou o nome de um grupo de nível de conta.
ALTER EXTERNAL LOCATION <location-name> OWNER TO <principal>
Marcar um local externo como somente leitura
Se você quiser que os usuários tenham acesso somente leitura a um local externo, use o Explorador do Catálogo para marcar o local externo como somente leitura.
Como tornar os locais externos somente leitura:
- Impede que os usuários gravem em arquivos nesses locais externos, independentemente de quaisquer permissões de gravação concedidas pela identidade gerenciada do Azure subjacentes à credencial de armazenamento e independentemente das permissões do Catálogo do Unity concedidas nesse local externo.
- Impede que os usuários criem tabelas ou volumes gerenciados nesses locais externos.
- Permite que o sistema valide o local externo corretamente no momento da criação.
Você pode marcar locais externos como somente leitura quando criá-los.
Você também pode usar o Catalog Explorer para alterar o status somente leitura depois de criar um local externo:
- Na barra lateral, clique em Catálogo.
- Na página Acesso rápido, clique no botão Dados externos >para ir para a guia Locais externos.
- Selecione a localização externa, clique no menu Ações ao lado do botão Testar conexão e selecione Editar.
- Na caixa de diálogo de edição, clique em Opções Avançadas e selecione a opção Limitar ao uso somente para leitura.
- Clique em Atualizar.
Modificar um local externo
O proprietário de um local externo pode renomear, alterar o URI e alterar a credencial de armazenamento do local externo.
Para renomear um local externo, faça o seguinte:
Execute o comando a seguir em um bloco de anotações ou no editor de SQL do Databricks. Substitua os valores de espaço reservado:
<location-name>
: o nome do local.<new-location-name>
: um novo nome para o local.
ALTER EXTERNAL LOCATION <location-name> RENAME TO <new-location-name>;
Para alterar o URI para o qual um local externo aponta em seu locatário de nuvem, faça o seguinte:
Execute o comando a seguir em um bloco de anotações ou no editor de SQL do Databricks. Substitua os valores de espaço reservado:
<location-name>
: o nome do local externo.<url>
: a nova URL de armazenamento para a qual o local deve autorizar o acesso no seu locatário de nuvem.
ALTER EXTERNAL LOCATION location_name SET URL '<url>' [FORCE];
A opção FORCE
altera a URL mesmo que as tabelas externas dependam do local externo.
Para alterar a credencial de armazenamento usada por um local externo, faça o seguinte:
Execute o comando a seguir em um bloco de anotações ou no editor de SQL do Databricks. Substitua os valores de espaço reservado:
<location-name>
: o nome do local externo.<credential-name>
: o nome da credencial de armazenamento que concede acesso à URL do local no seu locatário de nuvem.
ALTER EXTERNAL LOCATION <location-name> SET STORAGE CREDENTIAL <credential-name>;
Excluir um local externo
Para excluir (remover) um local externo, você deve ser o proprietário. Para excluir um local externo, faça o seguinte:
Execute o comando a seguir em um bloco de anotações ou no editor de SQL do Databricks. Os itens entre colchetes são opcionais. Substitua <location-name>
pelo nome do local externo.
DROP EXTERNAL LOCATION [IF EXISTS] <location-name>;