Gerenciar locais externos
Este artigo descreve como listar, exibir, atualizar, conceder permissões e excluir locais externos.
Nota
O Databricks recomenda controlar o acesso a arquivos usando volumes. Consulte O que são volumes do Catálogo 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 Gerenciador de Catálogos ou um comando SQL.
Explorador de Catálogos
- 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 exibir suas propriedades.
SQL
Execute o seguinte comando em um bloco de anotações ou no editor SQL do Databricks. Substitua <location-name>
pelo nome do local externo.
DESCRIBE EXTERNAL LOCATION <location-name>;
Mostrar subsídios 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 para o principal especificado.
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 gravação no caminho do contêiner de armazenamento em seu locatário de nuvem. -
<principal>
: O endereço de e-mail de um usuário no nível da conta ou o nome de um grupo no nível da conta.
Nota
Se um grupo ou nome de usuário contiver um espaço ou @
símbolo, use ticks invertidos 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 Gerenciador de Catálogos e comandos SQL em um bloco de anotações ou consulta SQL. Para obter informações sobre como usar a CLI do Databricks ou o Terraform, consulte a documentação do Databricks Terraform 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: A permissão de CREATE EXTERNAL LOCATION
no metastore e na credencial de armazenamento referenciada no local externo ou a permissão de MANAGE
no local externo. Os administradores do Metastore têm CREATE EXTERNAL LOCATION
no metastore por padrão.
Para conceder permissão para usar um local externo:
Explorador de Catálogos
- 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ão 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 seguinte comando SQL em um bloco de anotações ou editor de consultas SQL. Este exemplo concede a capacidade de criar uma tabela externa que faz 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 gravação no caminho do contêiner de armazenamento em seu locatário de nuvem. -
<principal>
: O endereço de e-mail de um usuário no nível da conta ou o nome de um grupo no nível da conta.
Nota
Se um grupo ou nome de usuário contiver um espaço ou @
símbolo, use ticks invertidos 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 é o seu proprietário inicial. Para alterar o proprietário para um usuário ou grupo diferente no nível da conta, execute o seguinte comando em um bloco de anotações ou no editor SQL do Databricks ou use o Gerenciador de Catálogos.
Permissões necessárias: Proprietário de local externo ou um usuário com o privilégio MANAGE
.
Substitua os valores de espaço reservado:
-
<location-name>
: O nome da credencial. -
<principal>
: O endereço de e-mail de um usuário no nível da conta ou o nome de um grupo no nível da conta.
ALTER EXTERNAL LOCATION <location-name> OWNER TO <principal>
Marcar um local externo como somente leitura
Se desejar que os usuários tenham acesso somente leitura a um local externo, você poderá usar o Gerenciador de Catálogos para marcar o local externo como somente leitura.
Tornando 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 subjacente à credencial de armazenamento e independentemente das permissões do Catálogo 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 ao 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 o local externo, 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 leitura.
- Clique em Atualizar.
Modificar um local externo
O proprietário de um local externo ou um usuário com o privilégio de MANAGE
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 seguinte comando em um bloco de anotações ou no editor 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 seguinte comando em um bloco de anotações ou no editor SQL do Databricks. Substitua os valores de espaço reservado:
-
<location-name>
: O nome do local externo. -
<url>
: O novo URL de armazenamento ao qual o local deve autorizar o acesso em seu locatário de nuvem.
ALTER EXTERNAL LOCATION location_name SET URL '<url>' [FORCE];
A FORCE
opção 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 seguinte comando em um bloco de anotações ou no editor 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 em seu locatário de nuvem.
ALTER EXTERNAL LOCATION <location-name> SET STORAGE CREDENTIAL <credential-name>;
Excluir um local externo
Para excluir (descartar) um local externo, você deve ser seu proprietário ou ter o privilégio MANAGE
no local externo. Para excluir um local externo, faça o seguinte:
Execute o seguinte comando em um bloco de anotações ou no editor SQL do Databricks. Os itens entre parênteses são opcionais. Substitua <location-name>
pelo nome do local externo.
DROP EXTERNAL LOCATION [IF EXISTS] <location-name>;