Autenticação M2M (de computador para computador) do OAuth

A autenticação OAuth de máquina a máquina (M2M) usa as credenciais de uma entidade automatizada (nesse caso, uma entidade de serviço gerenciada do Azure Databricks ou uma entidade de serviço gerenciada do Microsoft Entra ID (anteriormente Azure Active Directory)) para autenticar a entidade de destino.

Depois que o Azure Databricks autenticar com êxito a entidade de serviço de destino por meio da solicitação de autenticação M2M doo OAuth, um token OAuth do Azure Databricks será fornecido à ferramenta ou SDK participante para executar a autenticação baseada em token a partir desse momento em nome da entidade de serviço. O token OAuth do Azure Databricks tem uma vida útil de uma hora, após a qual a ferramenta ou o SDK envolvido fará uma tentativa automática em segundo plano para obter um novo token que também é válido por uma hora.

Para começar a configurar a autenticação M2M do OAuth, faça o seguinte:

Observação

Você deve ser um administrador da conta do Azure Databricks para gerenciar credenciais de OAuth do Azure Databricks para as entidades de serviço.

Etapa 1: Criar uma entidade de serviço do Microsoft Entra ID em sua conta do Azure

Conclua esta etapa se você quiser vincular uma entidade de serviço do Microsoft Entra ID à sua conta do Azure Databricks, ao espaço de trabalho ou a ambos. Se não for o caso, prossiga para a Etapa 2.

  1. Entre no portal do Azure.

    Observação

    O portal a ser usado é diferente dependendo se o aplicativo Microsoft Entra ID (anteriormente Azure Active Directory) é executado na nuvem pública do Azure ou em uma nuvem nacional ou soberana. Para obter mais informações, confira as Nuvens nacionais.

  2. Se você tiver acesso a vários locatários, assinaturas ou diretórios, clique no ícone Diretórios + assinaturas (diretório com filtro) no menu superior para alternar para o diretório no qual você quer provisionar a entidade de serviço.

  3. Em Pesquisa de recursos, serviços e documentos, pesquise e selecione Microsoft Entra ID.

  4. Clique em + Adicionar e selecione Registro do aplicativo.

  5. Em Nome, insira um nome para o aplicativo.

  6. Em Tipos de conta com suporte, selecione Somente contas deste diretório organizacional (Locatário único).

  7. Clique em Registrar.

  8. Na página Visão geral do aplicativo, na seção Informações gerais, copie os seguintes valores:

    • ID do Aplicativo (cliente)
    • ID do Diretório (locatário)

    Visão geral do aplicativo registrado do Azure

  9. Para gerar um segredo do cliente, em Gerenciar, clique em Certificados e segredos.

    Observação

    Você usa esse segredo do cliente para gerar os tokens do Microsoft Entra ID para autenticação de entidades de serviço do Microsoft Entra ID com o Azure Databricks. Para determinar se uma ferramenta ou SDK do Azure Databricks pode usar tokens do Microsoft Entra ID, consulte a documentação da ferramenta ou do SDK.

  10. Na guiaSegredos do cliente, clique em Novo segredo do cliente.

    Novo segredo do cliente

  11. No painel Adicionar um segredo do cliente, em Descrição, insira uma descrição para o segredo do cliente.

  12. Em Expirar, selecione um prazo de expiração para o segredo do cliente e clique em Adicionar.

  13. Copie e armazene o Valor do segredo do cliente em um local seguro, pois esse segredo do cliente é a senha para seu aplicativo.

Etapa 2: adicionar uma entidade de serviço à conta do Azure Databricks

Esta etapa só funcionará se o espaço de trabalho de destino do Azure Databricks estiver habilitado para federação de identidades. Se o workspace não estiver habilitado para federação de identidade, pule para a Etapa 3.

  1. Em seu workspace do Azure Databricks, clique em seu nome de usuário na barra superior e clique em Gerenciar conta.

    Como alternativa, vá diretamente para o console da conta do Azure Databricks, em https://accounts.azuredatabricks.net.

  2. Entre em sua conta do Azure Databricks, se solicitado.

  3. Na barra lateral, clique em Gerenciamento de usuários .

  4. Clique na guia Entidades de serviço.

  5. Clique em Adicionar entidade de serviço.

  6. Em Gerenciamento, escolha Gerenciada pelo Databricks ou Gerenciada pelo Microsoft Entra ID.

  7. Se você escolheu Gerenciada pelo Microsoft Entra ID, na opção ID do aplicativo do Microsoft Entra, insira o valor da ID do aplicativo (cliente) obtida na Etapa 1.

  8. Insira um Nome para a entidade de serviço.

  9. Clique em Adicionar.

  10. (Opcional) Atribua permissões no nível da conta à entidade de serviço:

    1. Na guia Entidades de serviço, clique no nome da entidade de serviço.
    2. Na guia Funções, alterne para habilitar ou desabilitar cada função de destino que você deseja que essa entidade de serviço tenha.
    3. Na guia Permissões, conceda acesso a todos os usuários do Azure Databricks, entidades de serviço e funções de grupo de contas que você deseja gerenciar e usar essa entidade de serviço. Confira Gerenciar funções em uma entidade de serviço.

Etapa 3: adicionar a entidade de serviço ao seu workspace do Azure Databricks

Se o workspace estiver habilitado para federação de identidade:

  1. No workspace do Azure Databricks, clique no nome de usuário na barra superior e clique em Configurações.
  2. Clique na guia Identidade e acesso.
  3. Ao lado de Entidades de serviço, clique em Gerenciar.
  4. Clique em Adicionar entidade de serviço.
  5. Selecione sua entidade de serviço na Etapa 2 e clique em Adicionar.

Pule para a Etapa 4.

Se o workspace não estiver habilitado para federação de identidade:

  1. No workspace do Azure Databricks, clique no nome de usuário na barra superior e clique em Configurações.
  2. Clique na guia Identidade e acesso.
  3. Ao lado de Entidades de serviço, clique em Gerenciar.
  4. Clique em Adicionar entidade de serviço.
  5. Clique em Adicionar nova.
  6. Em Gerenciamento, escolha Gerenciada pelo Databricks ou Gerenciada pelo Microsoft Entra ID.
  7. Se você escolheu Gerenciada pelo Microsoft Entra ID, na opção ID do aplicativo do Microsoft Entra, insira o valor da ID do aplicativo (cliente) obtida na Etapa 1.
  8. Insira algum Nome de exibição para a nova entidade de serviço do Azure AD e clique em Adicionar.

Etapa 4: Atribuir permissões no nível do workspace à entidade de serviço

  1. Se o console de administração do seu workspace ainda não estiver aberto, clique em seu nome de usuário na barra superior e clique em Configurações.
  2. Clique na guia Identidade e acesso.
  3. Ao lado de Entidades de serviço, clique em Gerenciar.
  4. Clique no nome da entidade de serviço do Microsoft Entra ID para abrir a página de configurações.
  5. Na guia Configurações, marque a caixa ao lado de cada direito que você deseja que sua entidade de serviço tenha para este workspace e clique em Atualizar.
  6. Na guia Permissões, permita acesso a qualquer usuário do Azure Databricks, entidades de serviço e grupos que você deseja gerenciar e use essa entidade de serviço. Confira Gerenciar funções em uma entidade de serviço.

Etapa 5: criar um segredo OAuth do Azure Databricks para a entidade de serviço

Antes de poder usar o OAuth para autenticar no Azure Databricks, primeiro você deve criar um segredo OAuth, que pode ser usado para gerar tokens de acesso OAuth. Uma entidade de serviço pode ter até cinco segredos OAuth. Para criar um segredo OAuth para uma entidade de serviço usando o console da conta:

  1. Entre no console da conta do Azure Databricks, em https://accounts.azuredatabricks.net.
  2. Entre em sua conta do Azure Databricks, se solicitado.
  3. Na barra lateral, clique em Gerenciamento de usuários .
  4. Clique na guia Entidades de serviço.
  5. Clique no nome da entidade de serviço.
  6. Na guia da Informação principal da seção segredos OAuth, clique em Gerar segredo.
  7. Na caixa de diálogo Gerar segredo, copie e armazene o valor do Segredo em um local seguro, pois esse segredo OAuth é a senha da entidade de serviço.
  8. Clique em Concluído.

Observação

Para permitir que a entidade de serviço use clusters ou SQL warehouses, você deve conceder acesso a eles à entidade de serviço. Consulte Permissões de computação ou Gerenciar um SQL warehouse.

Conclua a configuração da autenticação do OAuth M2M

Para concluir a configuração da autenticação M2M do OAuth, você deve definir as seguintes variáveis de ambiente associadas, campos .databrickscfg, campos do Terraform ou campos Config:

  • O host do Azure Databricks, especificado como https://accounts.azuredatabricks.net para operações de conta ou a URL por workspace de destino, por exemplohttps://adb-1234567890123456.7.azuredatabricks.net para operações de workspace.
  • A ID da conta do Azure Databricks para operações de conta do Azure Databricks.
  • A ID do cliente da entidade de serviço.
  • O segredo da entidade de serviço.

Para executar a autenticação do M2M do OAuth, integre o seguinte em seu código, com base na ferramenta ou SDK participante:

Environment

Para usar variáveis de ambiente para um tipo de autenticação específico do Azure Databricks com uma ferramenta ou SDK, consulte os Tipos de autenticação com suporte pela ferramenta ou SDK do Azure Databricks ou a documentação da ferramenta ou SDK. Consulte também Variáveis de ambiente e campos para autenticação unificada do cliente e Ordenação padrão de avaliação para métodos e credenciais de autenticação unificada do cliente.

Para operações no nível da conta, defina as seguintes variáveis de ambiente:

  • DATABRICKS_HOST, definido como a URL do console da conta do Azure Databricks, https://accounts.azuredatabricks.net.
  • DATABRICKS_ACCOUNT_ID
  • DATABRICKS_CLIENT_ID
  • DATABRICKS_CLIENT_SECRET

Para operações no nível do workspace, defina as seguintes variáveis de ambiente:

  • DATABRICKS_HOST, defina a URL por workspace do Azure Databricks, por exemplo https://adb-1234567890123456.7.azuredatabricks.net.
  • DATABRICKS_CLIENT_ID
  • DATABRICKS_CLIENT_SECRET

Perfil

Crie ou identifique um perfil de configuração do Azure Databricks com os seguintes campos em seu arquivo do .databrickscfg. Se você criar o perfil, substitua os espaços reservados pelos valores apropriados. Para usar o perfil com uma ferramenta ou SDK, consulte os Tipos de autenticação com suporte pela ferramenta do Azure Databricks ou SDK ou a documentação da ferramenta ou SDK. Consulte também Variáveis de ambiente e campos para autenticação unificada do cliente e Ordenação padrão de avaliação para métodos e credenciais de autenticação unificada do cliente.

Para operações no nível da conta, defina os seguintes valores em seu arquivo .databrickscfg. Nesse caso, a URL do console da conta do Azure Databricks é https://accounts.azuredatabricks.net:

[<some-unique-configuration-profile-name>]
host          = <account-console-url>
account_id    = <account-id>
client_id     = <service-principal-client-id>
client_secret = <service-principal-secret>

Para operações no nível do workspace, defina os seguintes valores em seu arquivo .databrickscfg. Nesse caso, o host é a URL por workspace do Azure Databricks, por exemplo https://adb-1234567890123456.7.azuredatabricks.net:

[<some-unique-configuration-profile-name>]
host          = <workspace-url>
client_id     = <service-principal-client-id>
client_secret = <service-principal-secret>

CLI

Na CLI do Databricks, siga um destes procedimentos:

  • Defina as variáveis de ambiente, conforme especificado na seção “Ambiente” deste artigo.
  • Defina os valores no arquivo .databrickscfg, conforme especificado na seção “Perfil” deste artigo.

As variáveis de ambiente sempre têm precedência sobre os valores do arquivo .databrickscfg.

Consulte também Autenticação máquina a máquina (M2M) do OAuth.

Conectar

Observação

A autenticação do OAuth M2M tem suporte para as seguintes versões do Databricks Connect:

  • Para Python, Databricks Connect para o Databricks Runtime 14.0 e superior.
  • No caso do Scala, o Databricks Connect para Databricks Runtime 13.3 LTS e superior. O SDK do Databricks para Java incluído no Databricks Connect para Databricks Runtime 13.3 LTS e posterior deve ser atualizado para o Databricks SDK para Java 0.17.0 ou superior.

No Databricks Connect, siga um destes procedimentos:

  • Defina os valores em seu arquivo .databrickscfg para operações no nível do workspace do Azure Databricks, conforme especificado na seção "Perfil" deste artigo. Defina também a variável de ambiente cluster_id no seu perfil como a URL por workspace, por exemplo, https://adb-1234567890123456.7.azuredatabricks.net.
  • Defina as variáveis de ambiente para operações no nível do workspace do Azure Databricks, conforme especificado na seção "Ambiente" deste artigo. Defina também a variável de ambiente DATABRICKS_CLUSTER_ID como a URL por workspace, por exemplo, https://adb-1234567890123456.7.azuredatabricks.net.

Os valores do arquivo .databrickscfg sempre têm precedência sobre as variáveis de ambiente.

Para inicializar o cliente do Databricks Connect com essas variáveis de ambiente ou esses valores no arquivo .databrickscfg, confira um dos seguintes artigos:

VS Code

Na extensão do Databricks para Visual Studio Code, faça o seguinte:

  1. Defina os valores em seu arquivo .databrickscfg para operações no nível do workspace do Azure Databricks, conforme especificado na seção "Perfil" deste artigo.
  2. No painel Configuração da extensão do Databricks para Visual Studio Code, clique em Configurar o Databricks.
  3. Na Paleta de Comandos, em Host do Databricks, insira a URL por workspace, por exemplo, https://adb-1234567890123456.7.azuredatabricks.net, e pressione Enter.
  4. Na Paleta de Comandos, selecione o nome do perfil de destino na lista da URL.

Para obter mais detalhes, confira Configuração de autenticação da extensão do Databricks para VS Code.

Terraform

Para operações no nível da conta, para autenticação padrão:

provider "databricks" {
  alias = "accounts"
}

Para configuração direta (substitua os espaços reservados retrieve por sua própria implantação para recuperar os valores do console ou de algum outro repositório de configurações, como HashiCorp Vault. Confira também Provedor de Cofres). Nesse caso, a URL do console da conta do Azure Databricks é https://accounts.azuredatabricks.net:

provider "databricks" {
  alias         = "accounts"
  host          = <retrieve-account-console-url>
  account_id    = <retrieve-account-id>
  client_id     = <retrieve-client-id>
  client_secret = <retrieve-client-secret>
}

Para operações no nível do workspace, para autenticação padrão:

provider "databricks" {
  alias = "workspace"
}

Para configuração direta (substitua os espaços reservados retrieve por sua própria implantação para recuperar os valores do console ou de algum outro repositório de configurações, como HashiCorp Vault. Confira também Provedor de Cofres). Nesse caso, o host é a URL por workspace do Azure Databricks, por exemplo https://adb-1234567890123456.7.azuredatabricks.net:

provider "databricks" {
  alias         = "workspace"
  host          = <retrieve-workspace-url>
  client_id     = <retrieve-client-id>
  client_secret = <retrieve-client-secret>
}

Para obter mais informações sobre como autenticar com o provedor Terraform do Databricks, consulte Autenticação.

Python

Para operações no nível da conta, use o seguinte para autenticação padrão:

from databricks.sdk import AccountClient

a = AccountClient()
# ...

Para configuração direta, use o seguinte, substituindo os espaços reservados retrieve pela sua própria implementação para recuperar os valores do console ou de algum outro armazenamento de configuração, como o Azure KeyVault. Nesse caso, a URL do console da conta do Azure Databricks é https://accounts.azuredatabricks.net:

from databricks.sdk import AccountClient

a = AccountClient(
  host          = retrieve_account_console_url(),
  account_id    = retrieve_account_id(),
  client_id     = retrieve_client_id(),
  client_secret = retrieve_client_secret()
)
# ...

Para operações no nível de espaço de trabalho, especificamente autenticação padrão:

from databricks.sdk import WorkspaceClient

w = WorkspaceClient()
# ...

Para configuração direta, substitua os espaços reservados retrieve pela sua própria implementação para recuperar os valores do console ou de algum outro armazenamento de configuração, como o Azure KeyVault. Nesse caso, o host é a URL por workspace do Azure Databricks, por exemplo https://adb-1234567890123456.7.azuredatabricks.net:

from databricks.sdk import WorkspaceClient

w = WorkspaceClient(
  host          = retrieve_workspace_url(),
  client_id     = retrieve_client_id(),
  client_secret = retrieve_client_secret()
)
# ...

Para obter mais informações sobre como autenticar com as ferramentas e SDKs do Databricks que usam o Python e implementam a autenticação unificada do cliente do Databricks, consulte:

Observação

A extensão Databricks para Visual Studio Code usa Python, mas ainda não implementou a autenticação M2M do OAuth.

Java

Para operações no nível do workspace, para autenticação padrão:

import com.databricks.sdk.WorkspaceClient;
// ...
WorkspaceClient w = new WorkspaceClient();
// ...

Para a configuração direta (substitua os espaços reservados retrieve por sua própria implantação para recuperar os valores do console ou de algum outro repositório de configurações, como o Azure KeyVault). Nesse caso, o host é a URL por workspace do Azure Databricks, por exemplo https://adb-1234567890123456.7.azuredatabricks.net:

import com.databricks.sdk.WorkspaceClient;
import com.databricks.sdk.core.DatabricksConfig;
// ...
DatabricksConfig cfg = new DatabricksConfig()
  .setHost(retrieveWorkspaceUrl())
  .setClientId(retrieveClientId())
  .setClientSecret(retrieveClientSecret());
WorkspaceClient w = new WorkspaceClient(cfg);
// ...

Para obter mais informações sobre como autenticar com as ferramentas e SDKs do Databricks que usam Java e implementam a autenticação unificada do cliente do Databricks, consulte:

Go

Para operações no nível da conta, para autenticação padrão:

import (
"github.com/databricks/databricks-sdk-go"
)
// ...
w := databricks.Must(databricks.NewWorkspaceClient())
// ...

Para a configuração direta (substitua os espaços reservados retrieve por sua própria implantação para recuperar os valores do console ou de algum outro repositório de configurações, como o Azure KeyVault). Nesse caso, a URL do console da conta do Azure Databricks é https://accounts.azuredatabricks.net:

import (
"github.com/databricks/databricks-sdk-go"
)
// ...
w := databricks.Must(databricks.NewWorkspaceClient(&databricks.Config{
  Host:         retrieveAccountConsoleUrl(),
  AccountId:    retrieveAccountId(),
  ClientId:     retrieveClientId(),
  ClientSecret: retrieveClientSecret(),
}))
// ...

Para operações no nível do workspace, para autenticação padrão:

import (
"github.com/databricks/databricks-sdk-go"
)
// ...
a := databricks.Must(databricks.NewAccountClient())
// ...

Para a configuração direta (substitua os espaços reservados retrieve por sua própria implantação para recuperar os valores do console ou de algum outro repositório de configurações, como o Azure KeyVault). Nesse caso, o host é a URL por workspace do Azure Databricks, por exemplo https://adb-1234567890123456.7.azuredatabricks.net:

import (
"github.com/databricks/databricks-sdk-go"
)
// ...
a := databricks.Must(databricks.NewAccountClient(&databricks.Config{
  Host:         retrieveWorkspaceUrl(),
  ClientId:     retrieveClientId(),
  ClientSecret: retrieveClientSecret(),
}))
// ...

Para obter mais informações sobre como autenticar com as ferramentas e SDKs do Databricks que usam o Go e que implementam a autenticação unificada do cliente do Databricks, consulte Autenticar o SDK do Databricks para o Go com sua conta ou espaço de trabalho do Azure Databricks.

Gerar e usar manualmente tokens de acesso para autenticação OAuth de máquina a máquina (M2M)

As ferramentas e os SDKs do Azure Databricks que implementam a autenticação unificada do cliente do Databricks padrão gerarão, atualizarão e usarão automaticamente tokens de acesso OAuth do Azure Databricks em seu nome, conforme necessário para a autenticação do OAuth M2M.

Se, por algum motivo, você precisar gerar, atualizar ou usar manualmente tokens de acesso OAuth do Azure Databricks para autenticação do OAuth M2M, siga as instruções nesta seção.

Etapa 1: Criar uma entidade de serviço e um segredo OAuth

Se você ainda não tiver uma entidade de serviço gerenciada do Azure Databricks ou uma entidade de serviço gerenciada do Microsoft Entra ID e seu segredo OAuth correspondente do Azure Databricks, crie-os completando os passos 1 a 5 no início deste artigo.

Etapa 2: Gerar manualmente um token de acesso

Você pode usar a ID do cliente da entidade de serviço gerenciada do Azure Databricks ou a ID do cliente da entidade de serviço gerenciada do Microsoft Entra ID e o segredo do OAuth do Azure Databricks para solicitar um token de acesso do OAuth do Azure Databricks para autenticar tanto às APIs REST no nível de conta quanto às APIs REST no nível do workspace. O token expirará em uma hora. Você deve solicitar um novo token de acesso OAuth do Azure Databricks após a expiração. O escopo do token de acesso OAuth depende do nível a partir do qual você cria o token. Você pode criar um token no nível da conta ou no nível do workspace, da seguinte maneira:

Gerar manualmente um token de acesso no nível da conta

Um token de acesso OAuth do Azure Databricks criado no nível da conta pode ser usado em APIs REST do Databricks na conta e em todo o workspace aos quais a entidade de serviço gerenciada do Azure Databricks ou a entidade de serviço gerenciada do Microsoft Entra ID tenha sido atribuída.

  1. Como administrador de conta, faça logon no console da conta.

  2. Clique na seta para baixo ao lado do seu nome de usuário no canto superior direito.

  3. Copie sua ID da conta.

  4. Construa a URL do ponto de extremidade do token substituindo <my-account-id> na URL a seguir pela ID da conta que você copiou.

    https://accounts.azuredatabricks.net/oidc/accounts/<my-account-id>/v1/token
    
  5. Use um cliente como curl para solicitar um token de acesso OAuth do Azure Databricks com o URL do ponto de extremidade do token, a ID do cliente (que também é conhecida como a ID do aplicativo) da entidade de serviço gerenciada do Azure Databricks ou da entidade de serviço gerenciada do Microsoft Entra ID e o segredo OAuth do Azure Databricks que você criou para a entidade de serviço gerenciada do Azure Databricks ou a entidade de serviço gerenciada do Microsoft Entra ID. O escopo all-apis solicita um token de acesso OAuth do Azure Databricks que pode ser usado para acessar todas as APIs REST do Databricks às quais a entidade de serviço gerenciada do Azure Databricks ou a entidade de serviço gerenciada do Microsoft Entra ID recebeu acesso.

    • Substitua <token-endpoint-URL> pela URL do ponto de extremidade do token mencionado acima.
    • Substitua <client-id> pelas entidades de serviço gerenciadas do Azure Databricks ou pela ID do cliente da entidade de serviço gerenciada do Microsoft Entra ID, que também é conhecida como ID de aplicativo.
    • Substitua <client-secret> pelo segredo OAuth do Azure Databricks que você criou para a entidade de serviço gerenciada do Azure Databricks ou a entidade de serviço gerenciada do Microsoft Entra ID.
    export CLIENT_ID=<client-id>
    export CLIENT_SECRET=<client-secret>
    
    curl --request POST \
    --url <token-endpoint-URL> \
    --user "$CLIENT_ID:$CLIENT_SECRET" \
    --data 'grant_type=client_credentials&scope=all-apis'
    

    Isso gera uma resposta semelhante a:

    {
      "access_token": "eyJraWQiOiJkYTA4ZTVjZ…",
      "scope": "all-apis",
      "token_type": "Bearer",
      "expires_in": 3600
    }
    

    Copie o access_token da resposta.

    O token de acesso OAuth do Azure Databricks expirará em uma hora. Você deve gerar manualmente um novo token de acesso OAuth do Azure Databricks após a expiração.

  6. Avance para a Etapa 3: Chamar uma API REST do Databricks.

Gerar manualmente um token de acesso no nível do workspace

Um token de acesso OAuth do Azure Databricks criado no nível do workspace só pode acessar as APIs REST nesse workspace, mesmo que a entidade de serviço gerenciada do Azure Databricks ou a entidade de serviço gerenciada do Microsoft Entra ID seja um administrador da conta ou seja membro de outros workspaces.

  1. Construa a URL do ponto de extremidade do token substituindo https://<databricks-instance> pela URL do espaço de trabalho da sua implantação do Azure Databricks:

    https://<databricks-instance>/oidc/v1/token
    
  2. Use um cliente como curl para solicitar um token de acesso OAuth do Azure Databricks com o URL do ponto de extremidade do token, a ID do cliente (que também é conhecida como a ID do aplicativo) da entidade de serviço gerenciada do Azure Databricks ou da entidade de serviço gerenciada do Microsoft Entra ID e o segredo OAuth do Azure Databricks que você criou para a entidade de serviço gerenciada do Azure Databricks ou a entidade de serviço gerenciada do Microsoft Entra ID. O escopo all-apis solicita um token de acesso OAuth do Azure Databricks que pode ser usado para acessar todas as APIs REST do Databricks às quais a entidade de serviço gerenciada do Azure Databricks ou a entidade de serviço gerenciada do Microsoft Entra ID recebeu acesso no workspace do qual você está solicitando o token.

    • Substitua <token-endpoint-URL> pela URL do ponto de extremidade do token mencionado acima.

    • Substitua <client-id> pelas entidades de serviço gerenciadas do Azure Databricks ou pela ID do cliente da entidade de serviço gerenciada do Microsoft Entra ID, que também é conhecida como ID de aplicativo.

    • Substitua <client-secret> pelo segredo OAuth do Azure Databricks que você criou para a entidade de serviço gerenciada do Azure Databricks ou a entidade de serviço gerenciada do Microsoft Entra ID.

      export CLIENT_ID=<client-id>
      export CLIENT_SECRET=<client-secret>
      
      curl --request POST \
      --url <token-endpoint-URL> \
      --user "$CLIENT_ID:$CLIENT_SECRET" \
      --data 'grant_type=client_credentials&scope=all-apis'
      

      Isso gera uma resposta semelhante a:

      {
        "access_token": "eyJraWQiOiJkYTA4ZTVjZ…",
        "scope": "all-apis",
        "token_type": "Bearer",
        "expires_in": 3600
      }
      

      Copie o access_token da resposta.

      O token de acesso OAuth do Azure Databricks expirará em uma hora. Você deve gerar manualmente um novo token de acesso OAuth do Azure Databricks após a expiração.

Etapa 3: Chamar uma API REST do Databricks

Agora você pode usar um token de acesso do OAuth do Azure Databricks para autenticar nas APIs REST de nível de conta e nas APIs REST de nível de espaço de trabalho do Azure Databricks. O entidade de serviço gerenciada do Azure Databricks ou a entidade de serviço gerenciada do Microsoft Entra ID deve ser um administrador da conta para chamar APIs REST no nível da conta.

Você pode incluir o token no cabeçalho usando a autenticação do Bearer. Você pode usar essa abordagem com curl ou qualquer cliente que você criar.

Exemplo de solicitação da API REST no nível da conta

Esse exemplo usa a autenticação Bearer para obter uma lista de todos os espaços de trabalho associados a uma conta.

  • Substitua <oauth-access-token> pelo token de acesso OAuth do Azure Databricks para a entidade de serviço gerenciada do Azure Databricks ou a entidade de serviço gerenciada do Microsoft Entra ID.
  • Substitua <account-id> pela ID da sua conta.
export OAUTH_TOKEN=<oauth-access-token>

curl --request GET --header "Authorization: Bearer $OAUTH_TOKEN" \
'https://accounts.azuredatabricks.net/api/2.0/accounts/<account-id>/workspaces'

Exemplo de solicitação da API REST no nível do workspace

Este exemplo usa Bearer a autenticação para listar todos os clusters disponíveis no workspace especificado.

  • Substitua <oauth-access-token> pelo token de acesso OAuth do Azure Databricks para a entidade de serviço gerenciada do Azure Databricks ou a entidade de serviço gerenciada do Microsoft Entra ID.

  • Substitua <workspace-URL> pela URL do seu espaço de trabalho básico, que tem a forma semelhante a adb-1111111111111111.1.azuredatabricks.net.

    export OAUTH_TOKEN=<oauth-access-token>
    
    curl --request GET --header "Authorization: Bearer $OAUTH_TOKEN" \
    'https://<workspace-URL>/api/2.0/clusters/list'