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.
- Para obtener más información sobre las identidades administradas, consulte el artículo sobre Qué son las identidades administradas para recursos de Azure.
- Para aprender a crear una identidad administrada y concederle permiso de acceso a las cuentas y áreas de trabajo de Azure Databricks, consulte Configuración y uso de la autenticación de identidades administradas de Azure para la automatización de Azure Databricks.
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:
- Autenticación de la entidad de servicio de MS Entra
- Autenticación de la CLI de Azure
- Administración de entidades de servicio
- Aprovisionamiento de una entidad de servicio mediante Terraform
- Obtén tokens de Microsoft Entra ID para las entidades de servicio
- Inicio de sesión de la CLI de Azure con una entidad de servicio de Id. de Microsoft Entra
- Inicio de sesión de PowerShell con una entidad de servicio de Microsoft Entra ID
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
.
- Para las operaciones de cuenta, especifique
- 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:
Entorno
Para usar variables de entorno para un tipo de autenticación de Azure Databricks específico con una herramienta o SDK, consulte Autenticación del acceso a los recursos de Azure Databricks 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 Métodos predeterminados para la autenticación unificada 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 entrue
.
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 ejemplohttps://adb-1234567890123456.7.azuredatabricks.net
.ARM_CLIENT_ID
ARM_USE_MSI
, establecida entrue
.
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 Autenticación del acceso a los recursos de Azure Databricks 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 Métodos predeterminados para la autenticación unificada 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.