Compartilhar via


Autorizando o acesso aos recursos do Azure Databricks

Este tópico discute as abordagens básicas para fazer chamadas seguras da CLI do Azure Databricks ou da API REST usando credenciais de conta do Azure Databricks, como contas de usuário ou entidades de serviço.

Autorização para a CLI e as APIs do Azure Databricks

Para acessar um recurso do Azure Databricks com a CLI do Databricks ou APIs REST, os clientes devem autorizar o uso de uma conta do Azure Databricks. Essa conta deve ter permissões para acessar o recurso, que pode ser configurado pelo administrador do Azure Databricks ou por uma conta de usuário com privilégios de administrador.

Há dois tipos de contas que você pode usar, dependendo de como pretende acessar seus recursos do Azure Databricks:

  • Conta de usuário: use-a para inserir interativamente comandos da CLI do Azure Databricks ou chamadas à API REST.
  • Principal de Serviço: Use isso para automatizar comandos da CLI do Azure Databricks ou chamadas à API REST sem interação humana.

Depois de decidir sobre o tipo de conta do Azure Databricks, você deve adquirir um token de acesso que representa as credenciais da conta. Você fornecerá esse token de acesso ao acessar os recursos da conta em seus scripts ou código ou em sessões interativas.

  1. Se você estiver usando o Azure Databricks, também poderá usar uma entidade de serviço do MS Entra para autorizar o acesso à sua conta ou espaço de trabalho do Azure Databricks. No entanto, a Databricks recomenda que você use uma entidade de serviço da Databricks com a autorização OAuth que fornecemos em vez da autorização da entidade de serviço do MS Entra. Isso ocorre porque a autorização do Databricks usa tokens de acesso OAuth mais robustos ao autorizar somente com o Azure Databricks.

Para obter mais detalhes sobre como usar uma entidade de serviço do MS Entra para acessar recursos do Databricks, consulte Autenticação da entidade de serviço do MS Entra.

Adquirir um token de acesso

As credenciais da sua conta são representadas por um token de acesso seguro, que você fornece direta ou indiretamente ao comando da CLI ou à chamada à API.

Para executar com segurança um comando da CLI do Databricks ou uma solicitação de API que exija acesso autorizado a uma conta ou workspace, você deve fornecer um token de acesso com base nas credenciais de conta válidas do Azure Databricks.

A tabela a seguir mostra os métodos de autorização disponíveis para sua conta do Azure Databricks.

Métodos de autorização do Azure Databricks

Como as ferramentas e os SDKs do Azure Databricks funcionam com um ou mais métodos de autorização do Azure Databricks com suporte, você pode selecionar o melhor método de autorização para seu caso de uso. Para obter detalhes, consulte a ferramenta ou a documentação do SDK em ferramentas de desenvolvimento locais.

Os usuários do Azure Databricks podem exigir acesso a recursos específicos do Azure não gerenciados diretamente em sua conta do Databricks. Os métodos para acessar esses recursos também são incluídos nesta tabela. Para acesso a recursos do Azure, use uma MSI (identidade de serviço gerenciado) do Azure ou uma ID do MS Entra (dependendo do seu cenário) e não suas credenciais de conta do Azure Databricks.

Método Descrição Caso de uso
OAuth do Databricks para entidades de serviço Tokens OAuth de curta duração para entidades de serviço. Cenários de autorização autônoma, como fluxos de trabalho de CI/CD e totalmente automatizados.
Databricks OAuth para usuários Tokens OAuth de curta duração para usuários. Participou de cenários de autorização, em que você usa seu navegador da Web ou outro método interativo para autorizar com o Databricks, quando solicitado.
PATs (tokens de acesso pessoal) do Databricks Tokens de curta ou longa duração para usuários ou entidades de serviço. Use isso somente nos casos em que sua ferramenta de destino não dá suporte ao OAuth.
Autorização de identidade de serviço gerenciado do Azure Tokens do Microsoft Entra ID para Identidades gerenciadas do Azure. Use somente com recursos do Azure que oferecem suporte a identidades gerenciadas, como máquinas virtuais do Azure.
Autenticação de entidades de serviço do Microsoft Entra ID Tokens do Microsoft Entra ID para entidades de serviço do Microsoft Entra ID. Use somente com recursos do Azure que oferecem suporte a tokens do Microsoft Entra ID e não a identidades gerenciadas, como o Azure DevOps.
Autorização da CLI do Azure Tokens do Microsoft Entra ID para usuários ou entidades de serviço do Microsoft Entra ID. Use para autorizar o acesso aos recursos do Azure e ao Azure Databricks usando a CLI do Azure.
Autorização do Microsoft Entra ID Tokens do Microsoft Entra ID para usuários. Use somente com recursos do Azure que oferecem suporte apenas a tokens do Microsoft Entra ID. O Databricks não recomenda que você crie manualmente tokens do Microsoft Entra ID para usuários do Azure Databricks.

Qual opção de autorização devo escolher?

O Azure Databricks fornece 2 opções de autorização ou autenticação com um token de acesso:

  • Tokens de acesso baseados em OAuth 2.0.
  • PATs (tokens de acesso pessoal).

Observação

O Azure Databricks recomenda que você use o OAuth sobre PATs para autorização, pois os tokens OAuth são atualizados automaticamente por padrão e não exigem o gerenciamento direto do token de acesso, melhorando sua segurança em relação ao sequestro de token e ao acesso indesejado.

Como o OAuth cria e gerencia o token de acesso para você, você fornece uma URL do ponto de extremidade do token OAuth, uma ID do cliente e um segredo gerado do workspace do Azure Databricks em vez de fornecer diretamente uma cadeia de caracteres de token. Escolha PATs somente quando estiver integrando uma ferramenta ou serviço de terceiros sem suporte pela autenticação unificada de cliente do Azure Databricks ou sem suporte para OAuth.

Como usar o OAuth para autorizar o acesso aos recursos do Azure Databricks?

O Azure Databricks fornece autenticação de cliente unificada para ajudá-lo com a autorização usando um conjunto padrão de variáveis de ambiente que você pode definir como valores de credencial específicos. Isso ajuda você a trabalhar com mais facilidade e segurança, pois essas variáveis de ambiente são específicas para o ambiente que executará os comandos da CLI do Azure Databricks ou chamará APIs do Azure Databricks.

  • Para autorização de conta de usuário, a parte de autenticação do Azure Databricks OAuth, a criação e o gerenciamento de tokens de acesso, é tratada para você com autenticação unificada do cliente do Databricks, desde que as ferramentas e os SDKs implementem seu padrão. Caso contrário, você poderá gerar manualmente um verificador de código OAuth e um par de desafios para usar diretamente nos comandos da CLI do Azure Databricks e nas solicitações de API. Consulte a Etapa 1: Gerar um verificador de código e um par de desafios de código OAuth.
  • Para autorização de principal de serviço, o OAuth do Azure Databricks exige que o chamador forneça credenciais de cliente junto com uma URL do ponto de extremidade do token onde a solicitação possa ser autorizada. (Isso será gerenciado para você se você usar ferramentas e SDKs do Azure Databricks que oferecem suporte à autenticação unificada de cliente do Databricks.) As credenciais incluem um ID de cliente exclusivo e um segredo do cliente. O cliente, que é a entidade de serviço do Databricks que executará seu código, deve ser atribuído aos workspaces do Databricks. Depois de atribuir a entidade de serviço aos workspaces que ela acessará, você receberá uma ID do cliente e um segredo do cliente que você definirá com variáveis de ambiente específicas.

Essas variáveis de ambiente são:

Variável de ambiente Descrição
DATABRICKS_HOST Essa variável de ambiente é definida como a URL do console da conta do Azure Databricks (http://accounts.cloud.databricks.com) ou da URL do workspace do Azure Databricks (https://{workspace-id}.cloud.databricks.com). Escolha um tipo de URL de host com base no tipo de operações que você executará em seu código. Especificamente, se você estiver usando comandos da CLI ou solicitações de API REST no nível da conta do Azure Databricks, defina essa variável como a URL da sua conta do Azure Databricks. Se você estiver usando comandos da CLI ou solicitações de API REST no nível de espaço de trabalho do Azure Databrics, use a URL do workspace do Azure Databricks.
DATABRICKS_ACCOUNT_ID Usado para operações de conta do Azure Databricks. Essa é sua ID da conta do Azure Databricks. Para obtê-la, consulte Localizar a ID da sua conta.
DATABRICKS_CLIENT_ID (Somente OAuth da entidade de serviço) A ID do cliente que você recebeu ao criar sua entidade de serviço.
DATABRICKS_CLIENT_SECRET (Somente OAuth da entidade de serviço) O segredo do cliente gerado ao criar sua entidade de serviço.

Você pode defini-los diretamente ou por meio do uso de um perfil de configuração do Databricks (.databrickscfg) em seu computador cliente.

Para usar um token de acesso OAuth, o espaço de trabalho do Azure Databricks ou o administrador da conta deve ter concedido à sua conta de usuário ou entidade de serviço CAN USE privilégio para os recursos da conta e do workspace que seu código acessará.

Para obter mais detalhes sobre como configurar a autorização OAuth para seu cliente e revisar as opções de autorização específicas do provedor de nuvem, consulte Autenticação unificada do cliente.

Autenticação para serviços e ferramentas de terceiros

Se você estiver escrevendo código que acessa serviços, ferramentas ou SDKs de terceiros, deverá usar os mecanismos de autenticação e autorização fornecidos pelo terceiro. No entanto, se você precisar conceder a uma ferramenta, SDK ou serviço de terceiros acesso à sua conta ou recursos de workspace do Azure Databricks, o Databricks fornecerá o seguinte suporte:

Perfis de configuração do Azure Databricks

Um perfil de configuração do Azure Databricks contém configurações e outras informações de que o Azure Databricks precisa para autorizar o acesso. Os perfis de configuração do Azure Databricks são armazenados em arquivos de cliente locais para uso por suas ferramentas, SDKs, scripts e aplicativos. O arquivo de perfil de configuração padrão é denominado .databrickscfg.

Para obter mais informações, consulte Perfis de configuração do Azure Databricks.