Pular para o conteúdo principal

Autorização de acesso ao site Databricks recurso

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

Autorização para a CLI e as APIs da Databricks

Para acessar um recurso Databricks com o Databricks CLI ou REST APIs, os clientes devem autorizar o uso de um Databricks account. Esse account deve ter permissões para acessar o recurso, que podem ser configuradas pelo administrador Databricks ou por um usuário account com privilégios de administrador.

Há dois tipos de conta que o senhor pode usar, dependendo de como pretende acessar seu recurso Databricks:

  • Usuário account : Use essa opção para entrar interativamente nas chamadas Databricks CLI comando ou REST API .
  • entidade de serviço: Use isso para automatizar Databricks CLI comando ou REST API chamadas sem interação humana.

Depois de escolher o tipo de Databricks account , o senhor deve adquirir um token de acesso que represente as credenciais do account. O senhor fornecerá esses tokens de acesso ao acessar o recurso accountem seus scripts ou código, ou em sessões interativas.

Adquirir tokens de acesso

As credenciais do seu accountsão representadas por tokens de acesso seguro, que o senhor fornece direta ou indiretamente ao comando CLI ou à chamada API.

Para executar com segurança uma solicitação Databricks CLI comando ou API que exija acesso autorizado a um account ou workspace, o senhor deve fornecer tokens de acesso com base em credenciais Databricks account válidas.

A tabela a seguir mostra os métodos de autorização disponíveis para o seu Databricks account.

Métodos de autorização da Databricks

Como as ferramentas e os SDKs da Databricks funcionam com um ou mais métodos de autorização da Databricks compatíveis, o senhor pode selecionar o melhor método de autorização para o seu caso de uso. Para obter detalhes, consulte a documentação da ferramenta ou do SDK em Ferramentas de desenvolvimento local.

Método

Descrição

Caso de uso

OAuth para entidade de serviço (OAuth M2M)

De curta duração OAuth tokens para entidade de serviço.

Cenários de autenticação autônoma, como os totalmente automatizados e CI/CD fluxo de trabalho.

OAuth para usuários (OAuth U2M)

De curta duração OAuth tokens para os usuários.

Cenário de autenticação assistida, em que o usuário usa o navegador da Web para se autenticar na Databricks em tempo real, quando solicitado.

Federação de tokens OAuth da Databricks

OAuth tokens do seu provedor de identidade para usuários ou entidade de serviço.

Permite que o senhor se autentique no Databricks sem gerenciar os segredos do Databricks.

Acesso pessoal tokens (PAT)

De curta ou longa duração tokens para usuários ou entidade de serviço.

Cenários em que a ferramenta de destino não é compatível com o OAuth.

nota

A autenticação básica usando um nome de usuário e senha da Databricks chegou ao fim da vida útil em 10 de julho de 2024. Consulte End of life para Databricks-gerenciar senhas.

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

Databricks oferece duas opções de autorização ou autenticação com tokens de acesso:

  • OAuth Acesso baseado em 2.0 tokens.
  • Acesso pessoal tokens (PATs).
nota

Databricks Recomenda-se enfaticamente que o senhor use o OAuth em vez dos PATs para autorização, pois o OAuth tokens é atualizado automaticamente pelo default e não exige o gerenciamento direto dos tokens de acesso, o que aumenta a segurança contra o sequestro de tokens e o acesso indesejado.

Como o site OAuth cria e gerencia os tokens de acesso para o usuário, o usuário fornece um URL OAuth tokens endpoint, um ID de cliente e um segredo que gera a partir do seu Databricks workspace em vez de fornecer diretamente uma cadeia de tokens. Escolha PATs somente quando estiver integrando uma ferramenta ou serviço de terceiros que não seja compatível com a autenticação de cliente unificada da Databricks ou que não tenha suporte para OAuth.

Como posso usar o site OAuth para autorizar o acesso ao recurso Databricks?

Databricks fornece autenticação de cliente unificada para ajudá-lo com a autorização usando um conjunto de default variáveis de ambiente que podem ser definidas com valores de credenciais específicos. Isso ajuda o senhor a trabalhar com mais facilidade e segurança, pois essas variáveis de ambiente são específicas para o ambiente que executará o comando Databricks CLI ou chamará Databricks APIs.

  • Para a autorização do usuário account, a parte de autenticação do Databricks OAuth - a criação e o gerenciamento do acesso tokens- é tratada para o senhor com a autenticação unificada do clienteDatabricks, desde que as ferramentas e os SDKs implementem esse padrão. Caso contrário, o senhor pode gerar manualmente um verificador de código OAuth e um par de desafios para usar diretamente em suas solicitações Databricks CLI comando e API. Consulte Etapa 1: Gerar um verificador de código OAuth e um par de desafio de código.
  • Para a autorização da entidade de serviço, Databricks OAuth exige que o chamador forneça credenciais de cliente juntamente com um URL de tokens endpoint em que a solicitação possa ser autorizada. (Isso é feito para o senhor se usar as ferramentas e SDKs da Databricks que suportam a autenticação unificada de cliente da Databricks). As credenciais incluem um ID de cliente exclusivo e um segredo de cliente . O cliente, que é a Databricks entidade de serviço que executará seu código, deve ser atribuído ao espaço de trabalho Databricks. Depois de atribuir a entidade de serviço ao espaço de trabalho que ela acessará, o senhor receberá um ID de cliente e um segredo de cliente que serão definidos com uma variável de ambiente específica.

Essas variáveis de ambiente são:

Variável de ambiente

Descrição

DATABRICKS_HOST

Essa variável de ambiente é definida como o URL do seu console Databricks account (http://accounts.cloud.databricks.com) ou do seu URL Databricks workspace (https://{workspace-id}.cloud.databricks.com). Escolha um tipo de URL de host com base no tipo de operações que o senhor realizará em seu código. Especificamente, se estiver usando Databricks account CLI as REST API solicitações -level comando ou, defina essa variável como o Databricks account URL . Se estiver usando Databricks workspace-level CLI comando ou REST API requests, use o Databricks workspace URL .

DATABRICKS_ACCOUNT_ID

Usado para Databricks account operações. Este é o seu Databricks account ID. Para obtê-lo, consulte Localizar seu account ID.

DATABRICKS_CLIENT_ID

(somente para a entidade de serviço OAuth ) O ID do cliente que foi atribuído ao senhor ao criar sua entidade de serviço.

DATABRICKS_CLIENT_SECRET

(somente entidade de serviço OAuth ) O segredo do cliente que o senhor gerou ao criar sua entidade de serviço.

O senhor pode defini-las diretamente ou por meio do uso de um perfil de configuração do Databricks (.databrickscfg) no computador do cliente.

Para usar os tokens de acesso OAuth, o administrador do site Databricks workspace ou account deve ter concedido ao usuário account ou à entidade de serviço o privilégio CAN USE para os recursos account e workspace que seu código acessará.

Para obter mais detalhes sobre a configuração da autorização OAuth para o seu cliente e para 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 o senhor estiver escrevendo um código que acesse serviços, ferramentas ou SDKs de terceiros, deverá usar os mecanismos de autenticação e autorização fornecidos por esses terceiros. No entanto, se o senhor precisar conceder a uma ferramenta, SDK ou serviço de terceiros acesso ao seu recurso Databricks account ou workspace, o Databricks oferece o seguinte suporte:

  • Databricks Terraform Provedor: Essa ferramenta pode acessar Databricks APIs de Terraform em seu nome, usando seu usuário Databricks account. Para obter mais detalhes, consulte provisionamento a entidade de serviço usando Terraform.
  • Os provedores de Git, como GitHub, GitLab e Bitbucket, podem acessar as APIs da Databricks usando uma entidade de serviço da Databricks. Para obter mais detalhes, consulte entidade de serviço para CI/CD.
  • O Jenkins pode acessar as APIs da Databricks usando uma entidade de serviço da Databricks. Para obter mais detalhes, consulte CI/CD com Jenkins na Databricks.

Perfis de configuração do Databricks

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

Para obter mais informações, consulte Databricks configuration profiles.