Partilhar via


Autorizando o acesso aos recursos do Azure Databricks

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

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

Para acessar um recurso do Azure Databricks com a CLI do Databricks ou APIs REST, os clientes devem autorizar usando uma conta do Azure Databricks. Essa conta deve ter permissões para acessar o recurso, que podem ser configuradas 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 você pretende acessar seus recursos do Azure Databricks:

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

Depois de decidir o tipo de conta do Azure Databricks, deve adquirir um token de acesso que represente 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 estiver a usar o Azure Databricks, também pode usar um principal de serviço MS Entra para autorizar o acesso à sua conta ou espaço de trabalho Azure Databricks. No entanto, a Databricks recomenda que o utilizador utilize um principal de serviço Databricks com a nossa autorização OAuth fornecida em vez da autorização do principal de serviço do MS Entra. Isso ocorre porque a autorização do Databricks usa tokens de acesso OAuth que são mais robustos ao autorizar apenas 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 da API.

Para executar com segurança um comando ou solicitação de API da CLI do Databricks que exija acesso autorizado a uma conta ou espaço de trabalho, você deve fornecer um token de acesso com base em 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 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 local.

Os usuários do Azure Databricks podem precisar de 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 estão incluídos nesta tabela. Para acesso a recursos do Azure, você usa uma identidade de serviço gerenciado do Azure (MSI) ou uma ID do MS Entra (dependendo do seu cenário) e não suas credenciais de conta do Azure Databricks.

Método Description Caso de utilização
Databricks OAuth para entidades de serviço Tokens OAuth de curta duração para entidades de serviço. Cenários de autorização não assistida, como fluxos de trabalho totalmente automatizados e de CI/CD.
Databricks OAuth para utilizadores Tokens OAuth de curta duração para usuários. Cenários de autorização assistidos, onde você usa seu navegador da Web ou outro método interativo para autorizar com Databricks, quando solicitado.
Tokens de acesso pessoal (PATs) Databricks Tokens de curta ou longa duração para usuários ou entidades de serviço. Use isso apenas nos casos em que sua ferramenta de destino não suporta OAuth.
Autorização de identidade de serviço gerido do Azure Tokens de ID do Microsoft Entra para identidades gerenciadas do Azure. Use apenas com recursos do Azure que dão suporte a identidades gerenciadas, como máquinas virtuais do Azure.
autorização da entidade de serviço do Microsoft Entra ID Tokens de ID do Microsoft Entra para entidades de serviço do Microsoft Entra ID. Use apenas com recursos do Azure que dão suporte a tokens de ID do Microsoft Entra e não oferecem suporte a identidades gerenciadas, como o Azure DevOps.
Autorização da CLI do Azure Tokens de ID do Microsoft Entra 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 de utilizador do Microsoft Entra ID Tokens de ID do Microsoft Entra para usuários. Use somente com recursos do Azure que oferecem suporte apenas a tokens de ID do Microsoft Entra. O Databricks não recomenda que você crie tokens de ID do Microsoft Entra para usuários do Azure Databricks manualmente.

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

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

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

Observação

O Azure Databricks recomenda vivamente que utilize OAuth sobre PATs para autorização, uma vez que os tokens OAuth são atualizados automaticamente por predefinição e não requerem a gestão direta do token de acesso, melhorando a sua segurança contra sequestro de tokens e acesso indesejado.

Como o OAuth cria e gerencia o token de acesso para você, você fornece uma URL de ponto de extremidade de token OAuth, uma ID de cliente e um segredo gerado a partir do espaço de trabalho 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 que não seja suportado pela autenticação de cliente unificada do Azure Databricks ou não tenha suporte a OAuth.

Como posso 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 para valores de credenciais específicos. Isso ajuda você a trabalhar com mais facilidade e segurança, já que essas variáveis de ambiente são específicas para o ambiente que executará os comandos da CLI do Azure Databricks ou chamará as APIs do Azure Databricks.

  • A parte de autenticação do Azure Databricks OAuth — a criação e o gerenciamento de tokens de acesso — é cuidada por si com a autenticação unificada do cliente Databricks , desde que as ferramentas e os SDKs implementem o seu padrão. Caso contrário, você pode gerar manualmente um verificador de código OAuth e um par de desafios para usar diretamente em seus comandos e solicitações de API da CLI do Azure Databricks. Consulte Etapa 1: gerar um verificador de código OAuth e um par de desafio de código.
  • Para autorização da entidade de serviço, o Azure Databricks OAuth requer que o chamador forneça credenciais de cliente juntamente com uma URL de ponto de extremidade de token onde a solicitação pode ser autorizada. (Isso é tratado para você se você usar ferramentas e SDKs do Azure Databricks que dão suporte à autenticação de cliente unificada do Databricks.) As credenciais incluem um ID de cliente exclusivo e segredo do cliente. O cliente, que é a entidade de serviço Databricks que executará seu código, deve ser atribuído aos espaços de trabalho Databricks. Depois de atribuir a entidade de serviço aos espaços de trabalho que ela acessará, você receberá uma ID do cliente e um segredo do cliente que será definido com variáveis de ambiente específicas.

Estas variáveis de ambiente são:

Variável de ambiente Description
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 espaço de trabalho 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 no nível da conta do Azure Databricks ou solicitações de API REST, defina essa variável para a URL da sua conta do Azure Databricks. Se você estiver usando comandos da CLI no nível do espaço de trabalho do Azure Databricks ou solicitações de API REST, use a URL do espaço de trabalho do Azure Databricks.
DATABRICKS_ACCOUNT_ID Usado para operações de conta do Azure Databricks. Esta é a sua ID de conta do Azure Databricks. Para obtê-lo, consulte Localizar o ID da sua conta.
DATABRICKS_CLIENT_ID (Apenas OAuth da entidade de serviço) O ID do cliente que lhe foi atribuído quando da criação da sua entidade de serviço .
DATABRICKS_CLIENT_SECRET (Apenas OAuth da entidade de serviço) O segredo do cliente que você gerou ao criar sua entidade de serviço.

Você pode defini-los diretamente ou através do uso de um perfil de configuração Databricks (.databrickscfg) em sua máquina cliente.

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

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

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 acesso de serviço de terceiros à sua conta do Azure Databricks ou recursos do espaço de trabalho, o Databricks fornecerá o seguinte suporte:

Perfis de configuração do Azure Databricks

Um perfil de configuração do Azure Databricks contém definiçõ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 local para suas ferramentas, SDKs, scripts e aplicativos usarem. O arquivo de perfil de configuração padrão é chamado .databrickscfg.

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