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 aos arquivos usando volumes. Consulte O que são volumes do Unity Catalog?

Descrever um local externo

Para ver as propriedades de um local externo, inclusive as permissões e o acesso workspace, o senhor pode usar o Catalog Explorer ou um comando SQL.

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

  2. Na página de acesso rápido, clique no botão External data > para acessar o site External Locations tab.

  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 <location-name> pelo nome do local externo.

DESCRIBE EXTERNAL LOCATION <location-name>;

Mostrar subsídios em um local externo

Para mostrar as concessões em um local externo, use um comando como o seguinte. Opcionalmente, você pode filtrar os resultados para mostrar somente as concessões para o principal especificado.

SHOW GRANTS [<principal>] ON EXTERNAL LOCATION <location-name>;

Substitua os valores temporários:

  • <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 de nível accountou o nome de um grupo de nível account.

Observação

Se um grupo ou nome de usuário contiver um espaço ou símbolo @, use marcações invertidas ao redor dele (não apóstrofos). Por exemplo, finance team` `.

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 SQL comando em uma consulta do Notebook ou SQL. Para obter informações sobre como usar o Databricks CLI ou Terraform, consulte a documentaçãoDatabricks Terraform e What is the Databricks CLI?

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 na metastore e na credencial de armazenamento referenciada no local externo. Os administradores do metastore têm CREATE EXTERNAL LOCATION no metastore em default.

Para conceder permissão para usar um local externo:

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

  2. Na página de acesso rápido, clique no botão External data > para acessar o site External Locations tab.

  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 editor de consultas do Notebook ou 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 temporários:

  • <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 de nível accountou o nome de um grupo de nível account.

Observação

Se um grupo ou nome de usuário contiver um espaço ou símbolo @, use marcações invertidas ao redor dele (não apóstrofos). Por exemplo, finance team` `.

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 accountdiferente, execute o seguinte comando 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 de nível accountou o nome de um grupo de nível account.

ALTER EXTERNAL LOCATION <location-name> OWNER TO <principal>

Marcar um local externo como somente para leitura

Se quiser que os usuários tenham acesso somente para leitura a um local externo, você pode usar o Catalog Explorer para marcar o local externo como somente para leitura.

Tornando locais externos somente para leitura:

  • Impede que os usuários gravem em arquivos nesses locais externos, independentemente de quaisquer permissões de gravação concedidas pelo site IAM role subjacente à credencial de armazenamento e independentemente das permissões do site Unity Catalog concedidas nesse local externo.

  • Impede que os usuários criem tabelas ou volumes gerenciáveis nesses locais externos.

  • Permite que o sistema valide adequadamente a localização externa no momento da criação.

Você pode marcar locais externos como somente para leitura ao criá-los.

Você também pode usar o Catalog Explorer para alterar o status somente para leitura após criar um local externo:

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

  2. Na página de acesso rápido, clique no botão External data > para acessar o site External Locations tab.

  3. Selecione o local externo, 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 para uso somente para leitura.

  5. Clique em Atualizar.

Configurar um algoritmo de criptografia em um local externo

AWS Oferece suporte à criptografia no lado do servidor (SSE) com Amazon S3 gerenciar chave (SSE-S3) ou AWS KMS chave (SSE-KMS) para proteger os dados em S3. Se o seu bucket S3 exigir criptografia SSE, o senhor poderá configurar um algoritmo de criptografia no local externo para permitir que tabelas e volumes externos no Unity Catalog acessem os dados no seu bucket S3. O SSE não é compatível com tabelas externas compartilhadas usando o Delta Sharing.

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

  2. Na parte superior do painel Catálogo, clique no ícone de Ícone de engrenagem engrenagem e selecione Locais externos.

  3. Selecione o local externo. O local externo deve usar um IAM role para uma credencial de armazenamento.

  4. Clique no Menu kebab menu kebab ao lado do botão Testar conexão e selecione Editar.

  5. Na caixa de diálogo de edição, clique em Opções avançadas.

  6. Em Encryption Algorithm (Algoritmo de criptografia ), selecione SSE-SE ou SSE-KMS, dependendo de sua criptografia key.

    Para SSE-KMS, em Encryption KMS key , cole o ARN do KMS key referenciado pelos clientes ao acessar o local S3.

  7. 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 seguinte comando em um notebook ou no editor Databricks SQL. Substitua os valores temporários:

  • <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 temporários:

  • <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 temporários:

  • <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>;