Partilhar via


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

  1. Na barra lateral, clique em Ícone do catálogoCatálogo.
  2. Na página Acesso rápido, clique no botão Dados > externos para ir para a guia Locais Externos.
  3. 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

  1. Na barra lateral, clique em Ícone do catálogoCatálogo.
  2. Na página Acesso rápido, clique no botão Dados > externos para ir para a guia Locais Externos.
  3. Clique no nome de um local externo para abrir suas propriedades.
  4. Clique em Permissões.
  5. Para conceder permissão a usuários ou grupos, selecione cada identidade e clique em Conceder.
  6. 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:

  1. Na barra lateral, clique em Ícone do catálogoCatálogo.
  2. Na página Acesso rápido, clique no botão Dados > externos para ir para a guia Locais Externos.
  3. Selecione o local externo, clique no Menu de kebabmenu Ações ao lado do botão Testar conexão e selecione Editar.
  4. Na caixa de diálogo de edição, clique em Opções Avançadas e selecione a opção Limitar ao uso somente leitura.
  5. 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>;