Compartilhar via


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

  1. Na barra lateral, clique em Ícone do catálogo Catá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 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

  1. Na barra lateral, clique em Ícone do catálogo Catá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ões 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 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:

  1. Na barra lateral, clique em Ícone do catálogo Catálogo.
  2. Na página Acesso rápido, clique no botão Dados externos >para ir para a guia Locais externos.
  3. Selecione a localização externa, clique no menu Menu kebab 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 para leitura.
  5. 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>;