Partilhar via


Configurações de acesso a dados

Importante

Estas instruções aplicam-se a padrões de acesso a dados herdados. O Databricks recomenda o uso de locais externos do Unity Catalog para acesso a dados. Consulte Conectar-se ao armazenamento de objetos na nuvem usando o Unity Catalog.

Este artigo descreve como gerenciar propriedades de acesso a dados para armazéns SQL em um espaço de trabalho.

Importante

A alteração dessas configurações reinicia todos os armazéns SQL em execução.

Configurar uma entidade de serviço

Para configurar o acesso dos seus armazéns SQL a uma conta de armazenamento do Azure Data Lake Storage usando princípios de serviço, siga estes passos:

  1. Registe uma Aplicação Microsoft Entra ID (anteriormente Azure Active Directory) e registe as seguintes propriedades:

    • ID de aplicação (cliente): Um ID que identifica de forma única a Microsoft Entra ID aplicação.
    • ID de Diretório (inquilino): Um ID que identifica de forma única a instância Microsoft Entra ID (chamado ID de diretório (inquilino) em 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.
  2. Na sua conta de armazenamento, adicione uma atribuição de função para o aplicativo registrado na etapa anterior para dar acesso à conta de armazenamento.

  3. Crie um escopo de segredo suportado pelo Azure Key Vault ou com âmbito no Databricks, veja Gerir escopos de segredo, e registe o valor da propriedade do nome do escopo:

    • Nome do escopo: o nome do escopo secreto criado.
  4. Se usar Azure Key Vault, crie um segredo em Azure Key Vault, usando o Client secret no campo Value. Mantenha um registo do nome secreto que escolheu.

    • Nome secreto: O nome do Azure Key Vault secreto criado.
  5. Se estiver usando um escopo apoiado por 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 suporte do Databricks.

    Nota

    Opcionalmente, você pode criar um segredo adicional para armazenar a ID do cliente obtida na Etapa 1.

  6. Clique no seu nome de utilizador na barra superior da área de trabalho e selecione a opção Definições no menu suspenso.

  7. Clique na aba Computar.

  8. Clique em Gerenciar ao lado de SQL warehouses.

  9. No campo Configuração de Acesso a Dados, clique no botão Adicionar Principal de Serviço.

  10. Configure as propriedades da sua conta de armazenamento Azure Data Lake Storage.

  11. Clique em Adicionar.

    Conta de armazenamento ADLS2

    Você verá que novas entradas foram adicionadas à caixa de texto Configuração de Acesso a Dados.

  12. Clique em Guardar.

Você também pode editar as entradas da caixa de texto Configuração de Acesso a Dados diretamente.

Configurar propriedades de acesso a dados para armazéns SQL

Para configurar todos os armazéns com propriedades de acesso a dados:

  1. Clique no seu nome de utilizador na barra superior da área de trabalho e selecione a opção Definições no menu suspenso.

  2. Clique na aba Computar.

  3. Clique em Gerenciar ao lado de SQL warehouses.

  4. Na caixa de texto Configuração de Acesso a Dados, especifique pares chave-valor que contenham propriedades de metastore.

    Importante

    Para definir uma propriedade de configuração do Spark como o valor de um segredo sem expor o valor secreto ao Spark, defina o valor como {{secrets/<secret-scope>/<secret-name>}}. Substitua <secret-scope> pelo escopo secreto e <secret-name> pelo nome secreto. O valor deve começar com {{secrets/ e terminar com }}. Para obter mais informações sobre essa sintaxe, consulte Gerenciar segredos.

  5. Clique em Guardar.

Você também pode configurar propriedades de acesso a dados usando o provedor Databricks Terraform e databricks_sql_global_config.

Propriedades suportadas

  • Para uma entrada que termina com *, todas as propriedades dentro desse prefixo são suportadas.

    Por exemplo, spark.sql.hive.metastore.* indica que ambos spark.sql.hive.metastore.jars e spark.sql.hive.metastore.version são suportados, e quaisquer outras propriedades que comecem com spark.sql.hive.metastore.

  • Para propriedades cujos valores contêm informações confidenciais, você pode armazenar as informações confidenciais em segredo e definir o valor da propriedade como o nome secreto usando a seguinte sintaxe: secrets/<secret-scope>/<secret-name>.

As seguintes propriedades têm suporte para armazéns SQL:

  • 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, consulte metastore externo do Hive.