Compartir a través de


Uso de una entidad de servicio para autenticarse con Azure Databricks

En este artículo se explica cómo crear y usar una entidad de servicio de Azure Databricks, o una entidad de servicio administrada de Microsoft Entra ID (anteriormente Azure Active Directory) para autenticarse en una entidad de destino.

Nota:

Debe ser administrador de cuentas de Azure Databricks para administrar las credenciales de OAuth de Azure Databricks para las entidades de servicio.

Paso 1: Creación de una entidad de servicio de Microsoft Entra ID en la cuenta de Azure

Complete este paso si desea vincular una entidad de servicio de Microsoft Entra ID a su cuenta, área de trabajo o ambos de Azure Databricks. De lo contrario, vaya al paso 2.

  1. Inicie sesión en Azure Portal.

    Nota:

    El portal que se va a usar es diferente en función de si la aplicación de Microsoft Entra ID (anteriormente Azure Active Directory) se ejecuta en la nube pública de Azure o en una nube nacional o soberana. Para obtener más información, consulte Nubes nacionales.

  2. Si tiene acceso a varios inquilinos, suscripciones o directorios, haga clic en el icono Directorios y suscripciones (directorio con filtro) del menú superior para cambiar al directorio en el que desea aprovisionar la entidad de servicio.

  3. En Buscar recursos, servicios y documentos, busque y seleccione Microsoft Entra ID.

  4. Haga clic en + Agregar y seleccione Registro de aplicaciones.

  5. En Nombre, escriba un nombre de la aplicación.

  6. En la sección Tipos de cuenta admitidos, seleccione Accounts in this organizational directory only (Single tenant) (Solo las cuentas de este directorio organizativo [inquilino único]).

  7. Haga clic en Registrar.

  8. En la página Información general de la página de la aplicación, en la sección Essentials, copie los valores siguientes:

    • Id. de la aplicación (cliente)
    • Id. de directorio (inquilino)

    Introducción a la aplicación registrada de Azure

  9. Para generar un secreto de cliente, en Administrar, haga clic en Certificados y secretos.

    Nota:

    Este secreto de cliente se usa para generar tokens de Microsoft Entra ID para autenticar entidades de servicio de Microsoft Entra ID con Azure Databricks. Para determinar si una herramienta de Azure Databricks o un SDK pueden usar tokens de Microsoft Entra ID, vea la documentación de la herramienta o el SDK.

  10. En la pestaña Secretos de cliente, haga clic en Nuevo secreto de cliente.

    Nuevo secreto de cliente

  11. En el panel Agregar un secreto de cliente, en Descripción, escriba una descripción para el secreto de cliente.

  12. En Expira, seleccione un período de expiración para el secreto de cliente y, a continuación, haga clic en Agregar.

  13. Copie y almacene el valor del secreto de cliente en un lugar seguro, ya que es su contraseña para la aplicación.

Paso 2: Incorporación de una entidad de servicio a la cuenta de Azure Databricks

Este paso solo funciona si el área de trabajo de Azure Databricks de destino está habilitada para federación de identidades. Si el área de trabajo no está habilitada para la federación de identidades, vaya al paso 3.

  1. En el área de trabajo de Azure Databricks, haga clic en su nombre de usuario en la barra superior y, después, haga clic en Administrar cuenta.

    Como alternativa, vaya directamente a la consola de la cuenta de Azure Databricks, en https://accounts.azuredatabricks.net.

  2. Si se le solicita, inicie sesión en la cuenta de Azure Databricks.

  3. En la barra lateral, haga clic en Administración de usuarios.

  4. Haga clic en la pestaña Entidades de servicio.

  5. Haga clic en Agregar entidad de servicio.

  6. En Administración, seleccione Administrado por Databricks o Administrado por Microsoft Entra ID.

  7. Si eligió Administrado por Microsoft Entra ID, en Id. de aplicación de Microsoft Entra, pegue el valor de id. de aplicación (cliente) del paso 1.

  8. Escriba un Nombre para la entidad de servicio.

  9. Haga clic en Agregar.

  10. (Opcional) Asigne permisos de nivel de cuenta a la entidad de servicio:

    1. En la pestaña entidad de servicio, haga clic en el nombre de la entidad de servicio.
    2. En la pestaña Roles, habilite o deshabilite cada rol de destino que quiera que tenga esta entidad de servicio.
    3. En la pestaña Permisos, conceda acceso a los usuarios, entidades de servicio y roles de grupo de cuentas de Azure Databricks que quiera administrar y use esta entidad de servicio. Consulte Administración de roles en una entidad de servicio.

Paso 3: Adición de la entidad de servicio al área de trabajo de Azure Databricks

Si el área de trabajo está habilitada para la federación de identidades:

  1. En el área de trabajo de Azure Databricks, haga clic en el nombre de usuario en la barra superior y haga clic en Configuración.
  2. Haga clic en la pestaña Identidad y acceso.
  3. Junto a Entidades de servicio, haga clic en Administrar.
  4. Haga clic en Agregar entidad de servicio.
  5. Seleccione la entidad de servicio del paso 2 y haga clic en Agregar.

Vaya al paso 4.

Si el área de trabajo está habilitada para la federación de identidades:

  1. En el área de trabajo de Azure Databricks, haga clic en el nombre de usuario en la barra superior y haga clic en Configuración.
  2. Haga clic en la pestaña Identidad y acceso.
  3. Junto a Entidades de servicio, haga clic en Administrar.
  4. Haga clic en Agregar entidad de servicio.
  5. Haga clic en Agregar nuevo.
  6. En Administración, seleccione Administrado por Databricks o Administrado por Microsoft Entra ID.
  7. Si eligió Administrado por Microsoft Entra ID, en Id. de aplicación de Microsoft Entra, pegue el valor de id. de aplicación (cliente) del paso 1.
  8. Escriba algún Nombre para mostrar para la nueva entidad de servicio y haga clic en Agregar.

Paso 4: Asignación de permisos de nivel de área de trabajo a la entidad de servicio

  1. Si la consola de administración del área de trabajo aún no está abierta, haga clic en el nombre de usuario en la barra superior y haga clic en Configuración.
  2. Haga clic en la pestaña Identidad y acceso.
  3. Junto a Entidades de servicio, haga clic en Administrar.
  4. Haga clic en el nombre de la entidad de servicio para abrir su página de configuración.
  5. En la pestaña Configuraciones, active la casilla situada junto a cada derecho que quiera que tenga la entidad de servicio de Azure AD para esta área de trabajo y a continuación, haga clic en Actualizar.
  6. En la pestaña Permisos, conceda acceso a los usuarios, entidades de servicio y grupos de Azure Databricks que quiera administrar y usar esta entidad de servicio. Consulte Administración de roles en una entidad de servicio.

Paso 5: Creación de un secreto de OAuth de Azure Databricks para la entidad de servicio

Para poder usar OAuth para autenticarse en Azure Databricks, primero debe crear un secreto de OAuth, que se puede usar para generar tokens de acceso de OAuth. Una entidad de servicio puede tener hasta cinco secretos de OAuth.

Para crear un secreto de OAuth para una entidad de servicio de la consola de la cuenta:

  1. Inicie sesión en la consola de la cuenta de Azure Databricks, en https://accounts.azuredatabricks.net.
  2. Si se le solicita, inicie sesión en la cuenta de Azure Databricks.
  3. En la barra lateral, haga clic en Administración de usuarios.
  4. Haga clic en la pestaña Entidades de servicio.
  5. Haga clic en el nombre de la entidad de servicio.
  6. En la sección Información principalde la pestaña secretos de OAuth haga clic en Generar secreto.
  7. En el cuadro de diálogoGenerar secreto, copie y almacene el Secreto en un lugar seguro, ya que este secreto de OAuth es la contraseña de la entidad de servicio.
  8. Haga clic en Done(Listo).

Para crear un secreto de OAuth para una entidad de servicio del área de trabajo:

  1. Como administrador del área de trabajo, haga clic en el nombre de usuario en la barra superior y haga clic en Configuración.

  2. Haga clic en la pestaña Identidad y acceso.

  3. Junto a Entidades de servicio, haga clic en Administrar.

  4. Haga clic en el nombre de la entidad de servicio para abrir su página de configuración.

  5. Haz clic en la pestaña Secretos.

  6. En Secretos de OAuth, haga clic en Generar secreto.

  7. Copie el Secreto mostrado y el id. de cliente y, a continuación, haga clic en Listo.

    El secreto solo se revelará una vez durante la creación. El id. de cliente es el mismo que el identificador de aplicación de la entidad de servicio.

Nota:

Para permitir que la entidad de servicio use clústeres o almacenes de SQL, debe conceder a la entidad de servicio acceso a ellos. Consulte Permisos de proceso o Administración de un almacenamiento de SQL.

Finalización de la configuración de la autenticación de OAuth M2M

Para terminar de configurar la autenticación de M2M de OAuth, debe establecer las siguientes variables de entorno asociadas, campos .databrickscfg, campos de Terraform o campos Config:

  • El host de Azure Databricks, especificado como https://accounts.azuredatabricks.net para las operaciones de cuenta o la dirección URL por área de trabajo de destino, por ejemplo https://adb-1234567890123456.7.azuredatabricks.net para las operaciones del área de trabajo.
  • El identificador de cuenta de Azure Databricks, para las operaciones de la cuenta de Azure Databricks.
  • Identificador de cliente de la entidad de servicio.
  • Secreto de la entidad de servicio.

Para realizar la autenticación de M2M de OAuth, integre lo siguiente en el código, en función de la herramienta o el SDK participantes:

Entorno

Para usar variables de entorno para un tipo de autenticación de Azure Databricks específico con una herramienta o SDK, consulte Tipos de autenticación admitidos por la herramienta Azure Databricks o el SDK o la documentación del SDK o de la herramienta. Consulte también Variables de entorno y campos para la autenticación unificada del cliente y Orden predeterminado de evaluación para los métodos de autenticación y credenciales unificados del cliente.

Para las operaciones de nivel de cuenta, establezca las siguientes variables de entorno:

  • DATABRICKS_HOST, establecido en la dirección URL de la consola de la cuenta de Azure Databricks, https://accounts.azuredatabricks.net.
  • DATABRICKS_ACCOUNT_ID
  • DATABRICKS_CLIENT_ID
  • DATABRICKS_CLIENT_SECRET

Para las operaciones de nivel de área de trabajo, establezca las siguientes variables de entorno:

  • DATABRICKS_HOST, establecido en la URL por espacio de trabajo de Azure Databricks, por ejemplo https://adb-1234567890123456.7.azuredatabricks.net.
  • DATABRICKS_CLIENT_ID
  • DATABRICKS_CLIENT_SECRET

Perfil

Cree o identifique un perfil de configuración de Azure Databricks con los campos siguientes en el archivo .databrickscfg. Si crea el perfil, reemplace los marcadores de posición por los valores adecuados. Para usar el perfil con una herramienta o un SDK, consulte Tipos de autenticación admitidos por la herramienta Azure Databricks o el SDK o la documentación de la herramienta o del SDK. Consulte también Variables de entorno y campos para la autenticación unificada del cliente y Orden predeterminado de evaluación para los métodos de autenticación y credenciales unificados del cliente.

Para las operaciones de nivel de cuenta, establezca los siguientes valores en el archivo .databrickscfg. En este caso, la dirección URL de la consola de la cuenta de Azure Databricks es 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 las operaciones de nivel de área de trabajo, establezca los siguientes valores en el archivo .databrickscfg. En este caso, el host es la dirección URL de Azure Databricks por área de trabajo, por ejemplo 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

Para la CLI de Databricks, realice una de las siguientes acciones:

  • Establezca las variables de entorno como se especifica en la sección “Entorno” de este artículo.
  • Establezca los valores del archivo .databrickscfg tal y como se especifica en la sección “Perfil” de este artículo.

Las variables de entorno siempre tienen prioridad sobre los valores del archivo .databrickscfg.

Consulte también Autenticación de máquina a máquina (M2M) de OAuth.

Conexión

Nota:

La autenticación de OAuth M2M se admite en las siguientes versiones de Databricks Connect:

  • Para Python, Databricks Connect para Databricks Runtime 14.0 y versiones posteriores.
  • Para Scala, Databricks Connect para Databricks Runtime 13.3 LTS y versiones posteriores. El SDK de Databricks para Java que se incluye con Databricks Connect para Databricks Runtime 13.3 LTS y versiones posteriores debe actualizarse al SDK de Databricks para Java 0.17.0 o superior.

Para Databricks Connect, puede realizar una de las siguientes acciones:

Los valores del archivo .databrickscfg siempre tienen prioridad sobre las variables de entorno.

Para inicializar el cliente de Databricks Connect con estas variables de entorno o valores en el archivo .databrickscfg, consulte una de las siguientes opciones:

Código de VS

Para la extensión de Databricks para Visual Studio Code, haga lo siguiente:

  1. Establezca los valores del archivo .databrickscfg para las operaciones de nivel de área de trabajo de Azure Databricks tal como se especifica en esta sección “Perfil” de este artículo.
  2. En el panel Configuración de la extensión de Databricks para Visual Studio Code, haga clic en Configurar Databricks.
  3. En la Paleta de comandos, en Host de Databricks, escriba la dirección URL del área de trabajo como, por ejemplo, https://adb-1234567890123456.7.azuredatabricks.net, y presione Enter.
  4. En la paleta de comandos, seleccione el nombre del perfil de destino en la lista de la dirección URL.

Para obtener más detalles, consulte Configuración de autenticación para la extensión de Databricks para VS Code.

Terraform

Para las operaciones de nivel de cuenta, para la autenticación predeterminada:

provider "databricks" {
  alias = "accounts"
}

Para la configuración directa (reemplace los marcadores de posición retrieve por su propia implementación para recuperar los valores de la consola o de otro almacén de configuración, como HashiCorp Vault. Consulte también Proveedor de Vault). En este caso, la dirección URL de la consola de la cuenta de Azure Databricks es 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 las operaciones de nivel de área de trabajo, para la autenticación predeterminada:

provider "databricks" {
  alias = "workspace"
}

Para la configuración directa (reemplace los marcadores de posición retrieve por su propia implementación para recuperar los valores de la consola o de otro almacén de configuración, como HashiCorp Vault. Consulte también Proveedor de Vault). En este caso, el host es la dirección URL de Azure Databricks por área de trabajo, por ejemplo 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 obtener más información sobre la autenticación con el proveedor Databricks Terraform, consulte Authentication.

Python

Para operaciones de nivel de cuenta, use lo siguiente para la autenticación predeterminada:

from databricks.sdk import AccountClient

a = AccountClient()
# ...

Para la configuración directa, use lo siguiente, pero reemplace los marcadores de posición retrieve por su propia implementación, con el fin de recuperar los valores de la consola o de otro almacén de configuración, como Azure KeyVault. En este caso, la dirección URL de la consola de la cuenta de Azure Databricks es 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()
)
# ...

En el caso de las operaciones de nivel de área de trabajo, en concreto de autenticación predeterminada:

from databricks.sdk import WorkspaceClient

w = WorkspaceClient()
# ...

Para la configuración directa, reemplace los marcadores de posición retrieve por su propia implementación, con el fin de recuperar los valores de la consola, o de otro almacén de configuración, como Azure KeyVault. En este caso, el host es la dirección URL de Azure Databricks por área de trabajo, por ejemplo 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 obtener más información acerca de la autenticación con herramientas y SDK de Databricks que usan Python y que implementan la Autenticación unificada de cliente de Databricks, consulte:

Nota:

La extensión Databricks para Visual Studio Code usa Python pero aún no ha implementado la autenticación de OAuth M2M.

Java

Para las operaciones de nivel de área de trabajo, para la autenticación predeterminada:

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

Para la configuración directa (reemplace los marcadores de posición retrieve por su propia implementación para recuperar los valores de la consola o de otro almacén de configuración, como Azure KeyVault). En este caso, el host es la dirección URL de Azure Databricks por área de trabajo, por ejemplo 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 obtener más información acerca de la autenticación con herramientas y SDK de Databricks que usan Java e implementan Autenticación unificada de cliente de Databricks, consulte:

Go

Para las operaciones de nivel de cuenta, para la autenticación predeterminada:

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

Para la configuración directa (reemplace los marcadores de posición retrieve por su propia implementación para recuperar los valores de la consola o de otro almacén de configuración, como Azure KeyVault). En este caso, la dirección URL de la consola de la cuenta de Azure Databricks es 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 las operaciones de nivel de área de trabajo, para la autenticación predeterminada:

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

Para la configuración directa (reemplace los marcadores de posición retrieve por su propia implementación para recuperar los valores de la consola o de otro almacén de configuración, como Azure KeyVault). En este caso, el host es la dirección URL de Azure Databricks por área de trabajo, por ejemplo 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 obtener más información sobre la autenticación con herramientas y SDK de Databricks que usan Go y que implementan la autenticación unificada de cliente de Databricks, consulte Autenticación del SDK de Databricks para Go con su cuenta de Azure Databricks o su área de trabajo.

Generación manual y uso de tokens de acceso manualmente para la autenticación M2M de OAuth

Las herramientas y los SDK de Azure Databricks que implementan la autenticación unificada del cliente de Databricks estándar generarán, actualizarán y usarán automáticamente tokens de acceso de OAuth de Azure Databricks en su nombre según sea necesario para la autenticación de OAuth M2M.

Si debe generar manualmente, actualizar o usar tokens de acceso de OAuth de Azure Databricks para la autenticación M2M de OAuth, siga las instrucciones de esta sección.

Paso 1: Creación de una entidad de servicio y un secreto de OAuth

Si aún no tiene una entidad de servicio administrada de Azure Databricks o una entidad de servicio administrada de Microsoft Entra ID y su secreto de OAuth de Azure Databricks correspondiente, créelos completando los pasos 1-5 al principio de este artículo.

Paso 2: Generar manualmente un token de acceso

Use la entidad de servicio administrada de Azure Databricks o el identificador de cliente de Microsoft Entra ID y el secreto de OAuth de Azure Databricks para solicitar un token de acceso de OAuth de Azure Databricks para autenticarse en las API de REST de nivel de cuenta y en las API de REST de nivel de área de trabajo. El token expirará en una hora. Debe solicitar un nuevo token de acceso de OAuth de Azure Databricks después de la expiración. El ámbito del token de acceso de OAuth depende del nivel desde el que se crea el token. Puede crear un token en el nivel de cuenta o en el nivel de área de trabajo, como se indica a continuación:

Generar manualmente un token de acceso de nivel de cuenta

Se puede usar un token de acceso de OAuth de Azure Databricks creado a partir del nivel de cuenta en las API de REST de Databricks de la cuenta y en todas las áreas de trabajo a las que se ha asignado la entidad de servicio administrada de Azure Databricks o la entidad de servicio administrada de Microsoft Entra ID.

  1. Como administrador de la cuenta, inicie sesión en la consola de la cuenta.

  2. Haga clic en la flecha hacia abajo situada junto a su nombre de usuario en la esquina superior derecha.

  3. Copie su Id. de cuenta.

  4. Construya la dirección URL del punto de conexión del token reemplazando <my-account-id> en la siguiente dirección URL por el identificador de cuenta que copió.

    https://accounts.azuredatabricks.net/oidc/accounts/<my-account-id>/v1/token
    
  5. Use un cliente como curl para solicitar un token de acceso de OAuth de Azure Databricks con la dirección URL del punto de conexión del token, el identificador de cliente (que también se conoce como identificador de aplicación) de la entidad de servicio administrada de Azure Databricks o la entidad de servicio administrada de Microsoft Entra, y el secreto de OAuth de Azure Databricks que creó para la entidad de servicio administrada de Azure Databricks o la entidad de servicio administrada de Microsoft Entra. El all-apisámbito solicita un token de acceso de OAuth de Azure Databricks que se puede usar para acceder a todas las API de REST de Databricks a las que se ha concedido acceso a la entidad de servicio administrada de Azure Databricks o a la entidad de servicio administrada de Microsoft Entra ID.

    • Reemplace <token-endpoint-URL> por la dirección URL del punto de conexión del token anterior.
    • Reemplace <client-id> por la entidad de servicio administrada de Azure Databricks o el identificador de cliente de la entidad de servicio administrada de Microsoft Entra, que también se conoce como identificador de aplicación.
    • Reemplace <client-secret> por el secreto de OAuth de Azure Databricks que creó para la entidad de servicio administrada de Azure Databricks o la entidad de servicio administrada de 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'
    

    Esto genera una respuesta similar a la siguiente:

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

    Copie el objeto access_token de la respuesta.

    El token de acceso de OAuth de Azure Databricks expirará en una hora. Debe generar manualmente un nuevo token de acceso de OAuth de Azure Databricks después de la expiración.

  6. Vaya directamente a Paso 3: Llamar a una API de REST de Databricks.

Generar manualmente un token de acceso de nivel de área de trabajo

Un token de acceso de OAuth de Azure Databricks creado a partir del nivel de área de trabajo solo puede acceder a las API de REST de esa área de trabajo, incluso si la entidad de servicio administrada de Azure Databricks o la entidad de servicio administrada de Microsoft Entra ID es un administrador de cuenta o es miembro de otras áreas de trabajo.

  1. Construya la URL del punto de conexión de los tokens reemplazando https://<databricks-instance> por la URL del área de trabajo de su implementación de Azure Databricks:

    https://<databricks-instance>/oidc/v1/token
    
  2. Use un cliente como curl para solicitar un token de acceso de OAuth de Azure Databricks con la dirección URL del punto de conexión del token, el identificador de cliente (que también se conoce como identificador de la aplicación) de la entidad de servicio administrada de Azure Databricks o la entidad de servicio administrada de Microsoft Entra, y el secreto de OAuth de Azure Databricks que creó para la entidad de servicio administrada de Azure Databricks o de Microsoft Entra ID. Elall-apis ámbito solicita un token de acceso de OAuth de Azure Databricks que se puede usar para acceder a todas las API de REST de Databricks desde las que se ha concedido acceso a la entidad de servicio administrada de Azure Databricks o a la entidad de servicio administrada de Microsoft Entra ID en el área de trabajo desde la que solicita el token.

    • Reemplace <token-endpoint-URL> por la dirección URL del punto de conexión del token anterior.

    • Reemplace <client-id> por la entidad de servicio administrada de Azure Databricks o el identificador de cliente de la entidad de servicio administrada de Microsoft Entra, que también se conoce como identificador de aplicación.

    • Reemplace <client-secret> por el secreto de OAuth de Azure Databricks que creó para la entidad de servicio administrada de Azure Databricks o la entidad de servicio administrada de 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'
      

      Esto genera una respuesta similar a la siguiente:

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

      Copie el objeto access_token de la respuesta.

Paso 3: Llamada a una API de REST de Databricks

Ahora puede usar un token de acceso de OAuth de Azure Databricks para autenticarse en las API de REST de nivel de cuenta de Azure Databricks y las API de REST de nivel de área de trabajo. La entidad de servicio administrada de Azure Databricks o la entidad de servicio administrada de Microsoft Entra ID deben ser administradores de cuentas para llamar a las API de REST de nivel de cuenta.

Puede incluir el token en el encabezado mediante la autenticación de Bearer. Puede usar este enfoque con curl o cualquier cliente que compile.

Solicitud de API de REST de nivel de cuenta de ejemplo

Este ejemplo usa la autenticación de Bearer para obtener una lista de todas las áreas de trabajo asociadas a una cuenta.

  • Reemplace <oauth-access-token> por el token de acceso de OAuth de Azure Databricks para la entidad de servicio administrada de Azure Databricks o la entidad de servicio administrada de Microsoft Entra ID.
  • Reemplace <account-id> por el id. de su cuenta.
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'

Solicitud de API de REST de nivel de área de trabajo de ejemplo

En este ejemplo se usa la autenticación Bearer para enumerar todos los clústeres disponibles en el área de trabajo especificada.

  • Reemplace <oauth-access-token> por el token de acceso de OAuth de Azure Databricks para la entidad de servicio administrada de Azure Databricks o la entidad de servicio administrada de Microsoft Entra ID.

  • Reemplace <workspace-URL> por la URL de su área de trabajo base, que tiene una forma similar 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'
    

Recursos adicionales