Configuração do acesso a dados
Este artigo descreve as configurações de acesso a dados executadas pelos administradores do Azure Databricks para todos os SQL warehouses que usam a interface do usuário.
Observação
Se o workspace estiver habilitado para o Catálogo do Unity, você não precisará executar as etapas neste artigo. O Catálogo do Unity dá suporte a SQL warehouses por padrão.
O Databricks recomenda usar volumes do Catálogo do Unity ou locais externos para se conectar ao armazenamento de objetos de nuvem em vez de perfis de instância. O Catálogo do Unity simplifica a segurança e a governança de seus dados, fornecendo um local central para administrar e auditar o acesso a dados em vários workspaces em sua conta. Confira O que é o Catálogo do Unity? e Recomendações para usar locais externos.
Para configurar todos os SQL warehouses usando a API REST, confira API SQL Warehouses.
Importante
A alteração dessas configurações reinicia todos os SQL warehouses em execução.
Para obter uma visão geral de como habilitar o acesso aos dados, confira listas de Controle de acesso.
Requisitos
- Você precisa ser um administrador do Azure Databricks para definir configurações para todos os SQL warehouses.
Configurar uma entidade de serviço
Para configurar o acesso aos seus SQL warehouses em uma conta de armazenamento do Azure Data Lake Storage Gen2 usando entidades de serviço, siga estas etapas:
Registre um aplicativo do Microsoft Entra ID (antigo Azure Active Directory) e registre as seguintes propriedades:
- ID do aplicativo (cliente): uma ID que identifica exclusivamente o aplicativo do Microsoft Entra ID.
- ID de diretório (locatário): uma ID que identifica exclusivamente a instância do Microsoft Entra ID (chamada de ID de diretório (locatário) no Azure Databricks).
- Segredo do cliente: o valor de um segredo do cliente criado para este registro de aplicativo. O aplicativo usará essa cadeia de caracteres secreta para provar sua identidade.
Na sua conta de armazenamento, adicione uma atribuição de função para o aplicativo registrado na etapa anterior para ele ter acesso à conta de armazenamento.
Crie um escopo secreto com suporte do Azure Key Vault ou com escopo do Databricks, consulte Gerenciar escopos de segredo e registre o valor da propriedade de nome do escopo:
- Nome do escopo: o nome do escopo de segredo criado.
Se estiver usando o Azure Key Vault, crie um segredo no Azure Key Vault, usando o segredo do cliente no campo Valor. Para obter um exemplo, consulte Etapa 4: Adicionar o segredo do cliente ao Azure Key Vault. Mantenha um registro do nome secreto que você escolheu.
- Nome do segredo: o nome do segredo do Azure Key Vault criado.
Se estiver usando um escopo com suporte do Databricks, crie um novo segredo usando a CLI do Databricks e use-o para armazenar o segredo do cliente obtido na Etapa 1. Mantenha um registro da chave secreta que você inseriu nesta etapa.
- Chave secreta: a chave do segredo criado com o backup do Databricks.
Observação
Opcionalmente, você pode criar um segredo adicional para armazenar a ID do cliente obtida na Etapa 1.
Clique no nome de usuário na barra superior do workspace e selecione Configurações na lista suspensa.
Clique na guia Computação.
Clique em Gerenciar ao lado de SQL warehouses.
No campo Configuração de Acesso a Dados, clique no botão Adicionar Entidade de Serviço.
Configure as propriedades da sua conta de armazenamento do Azure Data Lake Storage Gen2.
Clique em Adicionar.
Você notará que novas entradas foram adicionadas à caixa de texto Configuração de Acesso aos Dados.
Clique em Save (Salvar).
Você também pode editar diretamente as entradas da caixa de texto Configuração de Acesso aos Dados.
Configurar propriedades de acesso a dados para SQL warehouses
Para configurar todos os warehouses com propriedades de acesso a dados:
Clique no nome de usuário na barra superior do workspace e selecione Configurações na lista suspensa.
Clique na guia Computação.
Clique em Gerenciar ao lado de SQL warehouses.
Na caixa de texto Configuração de Acesso a Dados, especifique pares de chave-valor que contenham propriedades do metastore.
Importante
Para definir uma propriedade de configuração do Spark com o valor de um segredo sem expor esse valor ao Spark, defina o valor como
{{secrets/<secret-scope>/<secret-name>}}
. Substitua<secret-scope>
pelo escopo do segredo e<secret-name>
pelo nome do segredo. O valor deve começar com{{secrets/
e terminar com}}
. Para obter mais informações sobre essa sintaxe, consulte Gerenciar segredos.Clique em Save (Salvar).
Você também pode configurar propriedades de acesso a dados usando o provedor Terraform do Databricks e databricks_sql_global_config.
Propriedades com suporte
Para uma entrada que termine com
*
, todas as propriedades nesse prefixo têm suporte.Por exemplo,
spark.sql.hive.metastore.*
indica que há suporte paraspark.sql.hive.metastore.jars
espark.sql.hive.metastore.version
, e também para quaisquer outras propriedades iniciadas comspark.sql.hive.metastore
.No caso de propriedades cujos valores contenham informações confidenciais, você pode armazená-las em um segredo e definir o valor da propriedade como o nome do segredo, usando a seguinte sintaxe:
secrets/<secret-scope>/<secret-name>
.
As propriedades a seguir têm suporte para SQL warehouses:
spark.sql.hive.metastore.*
spark.sql.warehouse.dir
spark.hadoop.datanucleus.*
spark.hadoop.fs.*
spark.hadoop.hive.*
spark.hadoop.javax.jdo.option.*
spark.hive.*
Para obter mais informações sobre como definir essas propriedades, confira Metastore do Hive externo.