Compartir a través de


Autenticación de identidades administradas de Azure

La autenticación de identidades administradas de Azure usa identidades administradas para recursos de Azure (anteriormente Managed Service Identities (MSI)) para la autenticación con Azure Databricks. Las llamadas mediante programación a las operaciones de área de trabajo y cuenta de Azure Databricks usan esta identidad administrada al trabajar con recursos de Azure que admiten identidades administradas, como máquinas virtuales de Azure.

Nota:

Las identidades administradas para recursos de Azure son diferentes de las entidades de servicio de Microsoft Entra ID, que Azure Databricks también admite para la autenticación. Para obtener información sobre cómo usar entidades de servicio de Microsoft Entra ID para la autenticación de Azure Databricks en lugar de identidades administradas para recursos de Azure, consulte:

La autenticación de identidades administradas de Azure solo se admite entre recursos configurados correctamente que admiten identidades administradas —como máquinas virtuales de Azure (VM de Azure)— y cuentas y áreas de trabajo de Azure Databricks.

Para configurar la autenticación de identidades administradas de Azure con Azure Databricks, debe establecer las siguientes variables de entorno, campos .databrickscfg, campos de Terraform o campos Config en una máquina virtual de Azure compatible:

  • El host de Azure Databricks.
    • Para las operaciones de cuenta, especifique https://accounts.azuredatabricks.net.
    • Para las operaciones del área de trabajo, especifique la dirección URL por área de trabajo, por ejemplo https://adb-1234567890123456.7.azuredatabricks.net.
  • En el caso de las operaciones de cuenta, el identificador de cuenta de Azure Databricks.
  • Id. del inquilino de la identidad administrada.
  • Id. del cliente de la identidad administrada.
  • El Id. de recurso de Azure.
  • Establezca Azure usa identidades administradas en true.

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

Environment

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, 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_CLIENT_ID
  • ARM_USE_MSI, establecida en true.

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_CLIENT_ID
  • ARM_USE_MSI, establecida en true.

Para las operaciones de nivel de área de trabajo, si la identidad de destino aún no se ha agregado al área de trabajo, especifique DATABRICKS_AZURE_RESOURCE_ID junto con el identificador de recurso de Azure del área de trabajo de Azure Databricks, en lugar de DATABRICKS_HOST junto con la dirección URL del área de trabajo. En este caso, la identidad de destino debe tener al menos permisos de Colaborador o Propietario en el recurso del área de trabajo de Azure Databricks.

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>
azure_client_id = <azure-managed-identity-application-id>
azure_use_msi   = true

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>
azure_client_id = <azure-managed-identity-application-id>
azure_use_msi   = true

Para las operaciones de nivel de área de trabajo, si la identidad de destino aún no se ha agregado al área de trabajo, especifique azure_workspace_resource_id junto con el identificador de recurso de Azure del área de trabajo de Azure Databricks, en lugar de host junto con la dirección URL del área de trabajo. En este caso, la identidad de destino debe tener al menos permisos de Colaborador o Propietario en el recurso del área de trabajo de Azure Databricks.

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 Autenticación de identidades administradas de Azure.

Conexión

Nota:

Databricks Connect se basa en el SDK de Databricks para Python para la autenticación. El SDK de Databricks para Python aún no ha implementado la autenticación de identidades administradas de Azure.

Código de VS

Nota:

La extensión de Databricks para Visual Studio Code aún no admite la autenticación con identidades administradas de Azure.

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>
  azure_client_id = <retrieve-azure-client-id>
  azure_use_msi   = true
}

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>
  azure_client_id = <retrieve-azure-client-id>
  azure_use_msi   = true
}

Para las operaciones de nivel de área de trabajo, si la identidad de destino aún no se ha agregado al área de trabajo, especifique azure_workspace_resource_id junto con el identificador de recurso de Azure del área de trabajo de Azure Databricks, en lugar de host junto con la dirección URL del área de trabajo. En este caso, la identidad de destino debe tener al menos permisos de Colaborador o Propietario en el recurso del área de trabajo de Azure Databricks.

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

Python

Nota:

El SDK de Databricks para Python aún no ha implementado la autenticación de identidades administradas de Azure.

Java

Nota:

El SDK de Databricks para Java aún no ha implementado la autenticación de identidades administradas de Azure.

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 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"
)
// ...
a := databricks.Must(databricks.NewAccountClient(&databricks.Config{
  Host:          retrieveAccountConsoleUrl(),
  AccountId:     retrieveAccountId(),
  AzureClientId: retrieveAzureClientId(),
  AzureUseMSI:   true,
}))
// ...

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 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"
)
// ...
w := databricks.Must(databricks.NewWorkspaceClient(&databricks.Config{
  Host:          retrieveWorkspaceUrl(),
  AzureClientId: retrieveAzureClientId(),
  AzureUseMSI:   true,
}))
// ...

Para las operaciones de nivel de área de trabajo, si la identidad de destino aún no se ha agregado al área de trabajo, especifique AzureResourceID junto con el identificador de recurso de Azure del área de trabajo de Azure Databricks, en lugar de Host junto con la dirección URL del área de trabajo. En este caso, la identidad de destino debe tener al menos permisos de Colaborador o Propietario en el recurso del área de trabajo de Azure Databricks.

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.