Gerenciar locais externos

Este artigo descreve como listar, view, atualizar, conceder permissões e excluir locais externos.

Observação

A Databricks recomenda controlar o acesso a ficheiros através de volumes. Consulte Criar e trabalhar com volumes.

Descrever um local externo

Para ver as propriedades de um local externo, você pode usar o Catalog Explorer ou um comando SQL.

  1. Na barra lateral, clique em Ícone de catálogo Catalog.

  2. Na parte inferior da tela, clique em External Data (Dados externos) > External Locations (Locais externos).

  3. Clique no nome de um local externo para acessar view suas propriedades.

Execute o seguinte comando em um notebook ou no editor Databricks SQL. Substitua <credential-name> pelo nome da credencial.

DESCRIBE EXTERNAL LOCATION <location-name>;

Mostrar concessões 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 do 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 a gravação no bucket do S3 em seu locatário de nuvem.

  • <principal>: o endereço email de um usuário no nível accountou o nome de um grupo no nível account .

Observação

Se o nome de um grupo contiver um espaço, use acentos graves "backticks" (não apóstrofos) para delimitá-lo.

Conceder permissões em um local externo

Esta seção descreve como conceder e revogar permissões em um local externo usando o Catalog Explorer e o comando SQL em uma Notebook ou do Databricks SQL query Databricks. 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: o privilégio CREATE EXTERNAL LOCATION no metastore e na credencial de armazenamento referenciada no local externo. Os administradores do metastore têm CREATE EXTERNAL LOCATION no metastore por default.

Para conceder permissão para usar um local externo:

  1. Na barra lateral, clique em Ícone de catálogo Catalog.

  2. Na parte inferior da tela, clique em External Data (Dados externos) > External Locations (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.

execute o seguinte comando SQL em um Notebook ou editor query SQL. Este 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 bucket do S3 em seu locatário de nuvem.

  • <principal>: o endereço email de um usuário no nível accountou o nome de um grupo no nível account .

Observação

Se o nome de um grupo contiver um espaço, use acentos graves "backticks" (não apóstrofos) para delimitá-lo.

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 accountdiferente, execute o comando a seguir em um Notebook ou no editor Databricks SQL ou use o Catalog Explorer. Substitua os valores do espaço reservado:

  • <location-name>: nome da credencial.

  • <principal>: o endereço email de um usuário no nível accountou o nome de um grupo no nível account .

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, será possível usar o Catalog Explorer para marcar o local externo como somente leitura.

Tornando 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 IAM role subjacente à credencial de armazenamento e independentemente das permissões do Unity Catalog concedidas nesse local externo.

  • Impede que os usuários criem tabelas ou volumes (externos ou 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 após criar um local externo:

  1. Na barra lateral, clique em Ícone de catálogo Catalog.

  2. Na parte inferior da tela, clique em External Data (Dados externos) > External Locations (Locais externos).

  3. Selecione o local externo, clique no menu Menu Kebab kebab (também conhecido como menu de três pontos) na linha do objeto e selecione Edit.

  4. Na caixa de diálogo de edição, selecione a opção Somente leitura .

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 seguinte comando em um notebook ou no editor Databricks SQL. 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 notebook ou no editor Databricks SQL. 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 opção FORCE altera o URL mesmo se as tabelas externas dependerem do local externo.

Para alterar a credencial de armazenamento usada por um local externo, faça o seguinte:

Execute o seguinte comando em um notebook ou no editor Databricks SQL. 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. Para excluir um local externo, faça o seguinte:

execute o seguinte comando em um Notebook ou no editor Databricks SQL . Os itens entre colchetes são opcionais. Substitua <location-name> pelo nome do local externo.

DROP EXTERNAL LOCATION [IF EXISTS] <location-name>;