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.
Na barra lateral, clique em Catálogo.
Na página de acesso rápido, clique no botão External data > para acessar o site External Locations tab.
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:
Na barra lateral, clique em Catálogo.
Na página de acesso rápido, clique no botão External data > para acessar o site External Locations tab.
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 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:
Na barra lateral, clique em Catálogo.
Na página de acesso rápido, clique no botão External data > para acessar o site External Locations tab.
Selecione o local externo, clique no menu Ações ao lado do botão Testar conexão e selecione Editar.
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.
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. Para obter mais informações, consulte Configurar criptografia para S3 com KMS.
Observação
Para saber como configurar a chave SSE-3 e SSE-KMS para buckets que o senhor usa como locais externos, consulte Etapa 1: Criar ou selecionar um key em AWS KMS .
Na barra lateral, clique em Catálogo.
Na parte superior do painel Catálogo, clique no ícone de engrenagem e selecione Locais externos.
Selecione o local externo. O local externo deve usar um IAM role para uma credencial de armazenamento.
Clique no menu kebab ao lado do botão Testar conexão e selecione Editar.
Na caixa de diálogo de edição, clique em Opções avançadas.
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.
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>;