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.
Na barra lateral, clique em Catalog.
Na parte inferior da tela, clique em External Data (Dados externos) > External Locations (Locais externos).
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:
Na barra lateral, clique em Catalog.
Na parte inferior da tela, clique em External Data (Dados externos) > External Locations (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.
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:
Na barra lateral, clique em Catalog.
Na parte inferior da tela, clique em External Data (Dados externos) > External Locations (Locais externos).
Selecione o local externo, clique no menu kebab (também conhecido como menu de três pontos) na linha do objeto e selecione Edit.
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>;