Comparteix via


Autenticación con entidades de servicio de Microsoft Entra

La autenticación de la entidad de servicio de Microsoft Entra usa las credenciales de una entidad de servicio de Microsoft Entra para autenticarse. Para crear y administrar entidades de servicio para Azure Databricks vea:

Nota:

Databricks recomienda usar la autenticación de máquina a máquina (M2M) de OAuth en la mayoría de los escenarios. OAuth M2M usa tokens de acceso de OAuth que son más sólidos al autenticarse solo con Azure Databricks. Use solo la autenticación de entidad de servicio de Microsoft Entra cuando necesite autenticarse, al mismo tiempo, con Azure Databricks y otros recursos de Azure.

Para más información, consulte Uso de identidades administradas de Azure con Azure Databricks y Autenticación con Azure DevOps en Azure Databricks.

Para configurar la autenticación del principal de servicio de Microsoft Entra con Azure Databricks, debe establecer las siguientes variables de entorno asociadas, .databrickscfg campos, campos de Terraform o Config campos:

  • El host de Azure Databricks.

    • Para las operaciones de cuenta, especifique https://accounts.azuredatabricks.net.
    • Para las operaciones del espacio de trabajo, Databricks recomienda especificar la dirección URL por espacio de trabajo, por ejemplo https://adb-1234567890123456.7.azuredatabricks.net y asignar explícitamente la entidad de servicio de Microsoft Entra al espacio de trabajo. Como alternativa, especifique el identificador de recurso de Azure. Este enfoque requiere permisos de colaborador o propietario en el recurso de Azure o un rol personalizado con permisos específicos de Azure Databricks.
  • En el caso de las operaciones de cuenta, el identificador de cuenta de Azure Databricks.

  • El Id. de recurso de Azure.

  • Identificador de inquilino de la entidad de servicio de Microsoft Entra.

  • Identificador de cliente del principal de servicio de Microsoft Entra.

  • Secreto de cliente del principal de servicio de Microsoft Entra.

Para realizar la autenticación de la entidad de servicio de Microsoft Entra con Azure Databricks, integre lo siguiente en el código, en función de la herramienta o el SDK participantes:

Variables de entorno

Para usar variables de entorno para un tipo de autenticación de Azure Databricks específico con una herramienta o SDK, consulte Autorización del acceso a recursos de Azure Databricks o la documentación de la herramienta o el SDK. Consulte también Variables y campos de entorno para la autenticación unificada y la prioridad del método de autenticación.

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

  • DATABRICKS_HOST, establecida en el valor de la dirección URL de la consola de la cuenta de Azure Databricks, https://accounts.azuredatabricks.net.
  • DATABRICKS_ACCOUNT_ID
  • ARM_TENANT_ID
  • ARM_CLIENT_ID
  • ARM_CLIENT_SECRET

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

  • DATABRICKS_HOST, establecido en el valor de su Azure Databricks por dirección URL de área de trabajo, por ejemplo https://adb-1234567890123456.7.azuredatabricks.net.
  • ARM_TENANT_ID
  • ARM_CLIENT_ID
  • ARM_CLIENT_SECRET

Databricks recomienda usar DATABRICKS_HOST y asignar explícitamente la entidad de servicio de Microsoft Entra al área de trabajo. Como alternativa, use DATABRICKS_AZURE_RESOURCE_ID con el identificador de recurso de Azure. Este enfoque requiere permisos de colaborador o propietario en el recurso de Azure o un rol personalizado con permisos específicos de Azure Databricks.

Perfiles de configuración

Cree o identifique un perfil de configuración de Azure Databricks con los campos siguientes en el .databrickscfg archivo. 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 Autorización del acceso a los recursos de Azure Databricks o a la documentación del SDK o de la herramienta. Consulte también Variables y campos de entorno para la autenticación unificada y la prioridad del método de autenticación.

Para las operaciones de nivel de cuenta, establezca los valores siguientes en el .databrickscfg archivo. 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>
azure_tenant_id     = <azure-service-principal-tenant-id>
azure_client_id     = <azure-service-principal-application-id>
azure_client_secret = <azure-service-principal-client-secret>

Para las operaciones a 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>
azure_tenant_id     = <azure-service-principal-tenant-id>
azure_client_id     = <azure-service-principal-application-id>
azure_client_secret = <azure-service-principal-client-secret>

Databricks recomienda usar host y asignar explícitamente la entidad de servicio de Microsoft Entra al área de trabajo. Como alternativa, use azure_workspace_resource_id con el identificador de recurso de Azure. Este enfoque requiere permisos de colaborador o propietario en el recurso de Azure o un rol personalizado con permisos específicos de Azure Databricks.

CLI de Databricks

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

  • Establezca las variables de entorno como se especifica en la pestaña Entorno .
  • Establezca los valores del .databrickscfg archivo como se especifica en la pestaña Perfil .

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

Consulte también Autenticación de la entidad de servicio de Microsoft Entra ID.

Conexión de Databricks

Nota:

La autenticación del servicio de Microsoft Entra es compatible con las siguientes versiones de Databricks Connect:

  • Para Python, Databricks Connect para Databricks Runtime 13.1 y versiones posteriores.
  • Para Scala, Databricks Connect para Databricks Runtime 13.3 LTS y versiones posteriores.

Para Databricks Connect, puede optar por:

  • Use un perfil de configuración: Establezca los valores a nivel de área de trabajo en el .databrickscfg archivo según lo descrito en la pestaña Perfil. También configure la cluster_id dirección URL de la instancia de su área de trabajo.
  • Usar variables de entorno: Establezca los mismos valores que se muestran en la pestaña Entorno. Además, establezca la dirección URL de la instancia del área de trabajo en DATABRICKS_CLUSTER_ID.

Los valores de .databrickscfg tienen prioridad sobre las variables de entorno.

Para inicializar Databricks Connect con estas opciones, consulte Configuración de proceso para Databricks Connect.

Extensión de Visual Studio Code

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

  1. Establezca los valores del .databrickscfg archivo para las operaciones de nivel de área de trabajo de Azure Databricks tal como se especifica en la pestaña Perfil .
  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 información, consulte Configuración de la autorización para la extensión de Databricks para Visual Studio 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 por valores de la consola o de algún otro almacén de configuración, como HashiCorp Vault. Consulte también Proveedor de almacén. 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                = <your-account-console-url>
  account_id          = <your-account-id>
  azure_tenant_id     = <your-azure-tenant-id>
  azure_client_id     = <your-azure-client-id>
  azure_client_secret = <your-azure-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 por valores de la consola o de algún otro almacén de configuración, como HashiCorp Vault. Consulte también Proveedor de almacén. 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                = <your-workspace-url>
  azure_tenant_id     = <your-azure-tenant-id>
  azure_client_id     = <your-azure-client-id>
  azure_client_secret = <your-azure-client-secret>
}

Databricks recomienda usar host y asignar explícitamente la entidad de servicio de Microsoft Entra al área de trabajo. Como alternativa, use azure_workspace_resource_id con el identificador de recurso de Azure. Este enfoque requiere permisos de colaborador o propietario en el recurso de Azure o un rol personalizado con permisos específicos de Azure Databricks.

Para obtener más información sobre la autenticación con el proveedor de Terraform de Databricks, consulte Autenticación.

SDK de Databricks para Python

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

from databricks.sdk import AccountClient

a = AccountClient()
# ...

Para la configuración directa, reemplace las llamadas de función por código que obtiene valores de la consola o de algún 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                = get_account_console_url(),
  account_id          = get_account_id(),
  azure_tenant_id     = get_azure_tenant_id(),
  azure_client_id     = get_azure_client_id(),
  azure_client_secret = get_azure_client_secret()
)
# ...

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

from databricks.sdk import WorkspaceClient

w = WorkspaceClient()
# ...

Para la configuración directa, reemplace las llamadas de función por código que obtiene valores de la consola o de algún 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                = get_workspace_url(),
  azure_tenant_id     = get_azure_tenant_id(),
  azure_client_id     = get_azure_client_id(),
  azure_client_secret = get_azure_client_secret()
)
# ...

Databricks recomienda usar host y asignar explícitamente la entidad de servicio de Microsoft Entra al área de trabajo. Como alternativa, use azure_workspace_resource_id con el identificador de recurso de Azure. Este enfoque requiere permisos de colaborador o propietario en el recurso de Azure o un rol personalizado con permisos específicos de Azure Databricks.

Para más información sobre la autenticación con herramientas y SDK de Databricks que usan Python y que implementan la autenticación unificada de Databricks, consulte:

SDK de Databricks para Java

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

import com.databricks.sdk.AccountClient;
// ...
AccountClient a = new AccountClient();
// ...

Para la configuración directa, reemplace las llamadas de función por código que obtiene valores de la consola o de algún 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 com.databricks.sdk.AccountClient;
import com.databricks.sdk.core.DatabricksConfig;
// ...
DatabricksConfig cfg = new DatabricksConfig()
  .setHost(getAccountConsoleUrl())
  .setAccountId(getAccountId())
  .setAzureTenantId(getAzureTenantId())
  .setAzureClientId(getAzureClientId())
  .setAzureClientSecret(getAzureClientSecret())
AccountClient a = new AccountClient(cfg);
// ...

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 las llamadas de función por código que obtiene valores de la consola o de algún 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(getWorkspaceUrl())
  .setAzureTenantId(getAzureTenantId())
  .setAzureClientId(getAzureClientId())
  .setAzureClientSecret(getAzureClientSecret())
WorkspaceClient w = new WorkspaceClient(cfg);
// ...

Databricks recomienda usar setHost y asignar explícitamente la entidad de servicio de Microsoft Entra al área de trabajo. Como alternativa, use setAzureWorkspaceResourceId con el identificador de recurso de Azure. Este enfoque requiere permisos de colaborador o propietario en el recurso de Azure o un rol personalizado con permisos específicos de Azure Databricks.

Para obtener más información sobre la autenticación con herramientas y SDK de Databricks que usan Java y que implementan la autenticación unificada de Databricks, consulte:

SDK de Databricks para Go

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

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

Para la configuración directa, reemplace las llamadas de función por código que obtiene valores de la consola o de algún 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"
)
// ...
a := databricks.Must(databricks.NewAccountClient(&databricks.Config{
  Host:              getAccountConsoleUrl(),
  AccountId:         getAccountId(),
  AzureTenantId:     getAzureTenantId(),
  AzureClientId:     getAzureClientId(),
  AzureClientSecret: getAzureClientSecret(),
}))
// ...

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

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

Para la configuración directa, reemplace las llamadas de función por código que obtiene valores de la consola o de algún 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"
)
// ...
w := databricks.Must(databricks.NewWorkspaceClient(&databricks.Config{
  Host:              getWorkspaceUrl(),
  AzureTenantId:     getAzureTenantId(),
  AzureClientId:     getAzureClientId(),
  AzureClientSecret: getAzureClientSecret(),
}))
// ...

Databricks recomienda usar Host y asignar explícitamente la entidad de servicio de Microsoft Entra al área de trabajo. Como alternativa, use AzureWorkspaceResourceId con el identificador de recurso de Azure. Este enfoque requiere permisos de colaborador o propietario en el recurso de Azure o un rol personalizado con permisos específicos de Azure Databricks.

Para más información sobre la autenticación con herramientas y SDK de Databricks que usan Go y que implementan la autenticación unificada del cliente de Databricks, consulte Autenticación del SDK de Databricks para Go con su cuenta o área de trabajo de Azure Databricks.

Recursos adicionales