Compartir a través de


Autentica con los tokens de acceso personal de Azure Databricks (heredado)

Azure Databricks PAT (tokens de acceso personal) le permiten autenticarse a recursos y API a nivel de área de trabajo. Puede almacenarlos en variables de entorno o Azure Databricks perfiles de configuración. Cada PAT es válido solo para una área de trabajo y un usuario puede crear hasta 600 PAT por área de trabajo. Azure Databricks revoca automáticamente los PAT que no se han usado durante 90 días.

Importante

La autenticación de nombre de usuario y contraseña (sin tokens) alcanzó el final del ciclo de vida el 10 de julio de 2024. Databricks recomienda encarecidamente usar OAuth en lugar de PAT para la autenticación de cuenta de usuario, ya que OAuth proporciona una mayor seguridad. Para obtener información sobre cómo autenticarse con una cuenta de usuario de Databricks mediante OAuth, consulte Authorize user access to Azure Databricks with OAuth.

No puede usar tokens de acceso personal para automatizar la funcionalidad a nivel de cuenta de Azure Databricks. En su lugar, use los tokens de Microsoft Entra ID de los administradores de cuentas de Azure Databricks. Los administradores de cuentas de Azure Databricks pueden ser usuarios o entidades de servicio. Para más información, consulte:

Creación de tokens de acceso personal para usuarios del área de trabajo

Para crear un token de acceso personal para el usuario del área de trabajo de Azure Databricks, haga lo siguiente:

  1. En el área de trabajo de Azure Databricks, haga clic en el nombre de usuario en la barra superior y seleccione Settings.
  2. Haga clic en Desarrollador.
  3. Junto a Tokens de acceso, haga clic en Administrar.
  4. Haga clic en Generate new token (Generar nuevo token).
  5. Escriba un comentario que le ayude a identificar este token en el futuro.
  6. Establezca la duración del token en días. Consulte Establecimiento de la duración máxima de los nuevos tokens de acceso personal.
  7. Para limitar los permisos del token, seleccione un tipo de token y agregue ámbitos de API. Consulte Tokens de acceso personal con ámbito.
  8. Haga clic en Generar.
  9. Copie el token mostrado en una ubicación segura y, a continuación, haga clic en Listo. Guarde el token de forma segura y no lo comparta. Si lo pierde, debe crear un nuevo token.

Si no puede crear o usar tokens, es posible que el administrador del área de trabajo haya deshabilitado los tokens o no le haya concedido permiso. Consulte al administrador del área de trabajo o los siguientes recursos:

Tokens de acceso personal con ámbito

Los tokens de acceso personal con alcance restringen los permisos de un token a operaciones de API específicas. En lugar de conceder acceso completo al área de trabajo, asigne uno o varios ámbitos de API, como sql, unity-catalogo scim, que limiten las operaciones de API REST a las que puede llamar el token.

Advertencia

Los tokens con el authentication alcance pueden crear nuevos tokens con cualquier alcance. Conceda este ámbito solo a tokens que necesiten administrar otros tokens.

Para crear un token con ámbito en la interfaz de usuario del área de trabajo, seleccione un tipo de token y agregue ámbitos de API al generar un nuevo token. Si no asigna ningún ámbito, el token conserva los permisos completos de la identidad de creación.

Para obtener una lista completa de los ámbitos y sus operaciones de API asociadas, consulte Ámbitos de API.

Creación de tokens de acceso personal para entidades de servicio

Una entidad de servicio puede crear tokens de acceso personal para sí mismo.

  1. Ejecute el comando siguiente para generar un token de acceso:

    databricks tokens create \
      --lifetime-seconds <lifetime-seconds> \
      -p <profile-name>
    

    Reemplace los siguientes valores:

    • <lifetime-seconds>: duración del token en segundos, como 86400 durante 1 día. El valor predeterminado es el máximo del espacio de trabajo (normalmente 730 días).
    • <profile-name>: perfil de configuración con información de autenticación. Tiene como valor predeterminado DEFAULT.
  2. Copie el token_value de la respuesta, que es el token de acceso para su principal del servicio. Guarde el token de forma segura y no lo comparta. Si lo pierde, debe crear un nuevo token.

Si no puede crear o usar tokens, es posible que el administrador del área de trabajo haya deshabilitado los tokens o no le haya concedido permiso. Consulte al administrador del área de trabajo o los siguientes recursos:

Realización de la autenticación de token de acceso personal

Para configurar la autenticación con token de acceso personal de Azure Databricks, establezca las siguientes variables de entorno asociadas, campos de .databrickscfg o Config, o campos de Terraform:

  • Host de Azure Databricks, especificado como dirección URL de Azure Databricks per-workspace, por ejemplo, https://adb-1234567890123456.7.azuredatabricks.net.
  • Azure Databricks token de acceso personal para la cuenta de usuario de Azure Databricks.

Para realizar la autenticación de token de acceso personal en Azure Databricks, integre lo siguiente en su código, dependiendo de la herramienta o el SDK involucrados:

Entorno

Para usar variables de entorno para un tipo de autenticación de Azure Databricks específico con una herramienta o SDK, consulte Authorize access to Azure Databricks resources or the tool's or SDK's documentation. Consulte también Variables y campos de entorno para la autenticación unificada y la prioridad del método de autenticación.

Establezca estas variables de entorno:

  • , establezca en la URL por espacio de trabajo de Azure Databricks , por ejemplo, .
  • DATABRICKS_TOKEN, se establece en la cadena de tokens.

Perfil

Cree o identifique un perfil de configuración de Azure Databricks con los campos siguientes en su 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 Authorize access to Azure Databricks resources or the tool's or SDK's documentation (Acceso de autenticación a recursos de Azure Databricks o la documentación del SDK o la herramienta. Consulte también Variables y campos de entorno para la autenticación unificada y la prioridad del método de autenticación.

Establezca los siguientes valores en el archivo .databrickscfg. En este caso, el host es la dirección URL Azure Databricks per-workspace, por ejemplo, https://adb-1234567890123456.7.azuredatabricks.net:

[<some-unique-configuration-profile-name>]
host  = <workspace-url>
token = <token>

En lugar de establecer manualmente los valores, puede usar la CLI de Databricks para establecer estos valores en su lugar:

Nota:

En el procedimiento siguiente se usa la CLI de Databricks para crear un perfil de Azure Databricks configuration con el nombre DEFAULT. Si ya tiene un perfil de configuración DEFAULT, este procedimiento sobrescribe el perfil de configuraciónDEFAULT existente.

Para comprobar si ya tiene un DEFAULT perfil de configuración y para ver la configuración de este perfil si existe, use la CLI de Databricks para ejecutar el comando databricks auth env --profile DEFAULT.

Para crear un perfil de configuración con un nombre distinto de DEFAULT, reemplace la parte DEFAULT de --profile DEFAULT en el siguiente comando databricks configure por un nombre diferente para el perfil de configuración.

  1. Utiliza la CLI de Databricks para crear un perfil de configuración de Azure Databricks denominado DEFAULT que usa la autenticación mediante token de acceso personal de Azure Databricks. Para ello, ejecute el siguiente comando:

    databricks configure --profile DEFAULT
    
  2. En el símbolo del sistema Databricks Host, escriba la dirección URL de Azure Databricks por espacio de trabajo, por ejemplo, https://adb-1234567890123456.7.azuredatabricks.net.

  3. Para la entrada Token de acceso personal, escriba el token de acceso personal de Azure Databricks para su área de trabajo.

Interfaz de línea de comandos (CLI)

Para la CLI de Databricks, ejecute el comando databricks configure. En las indicaciones, introduzca la siguiente configuración:

  • Host de Azure Databricks, especificado como dirección URL de Azure Databricks per-workspace, por ejemplo, https://adb-1234567890123456.7.azuredatabricks.net.
  • El token de acceso personal de Azure Databricks para la cuenta de usuario de Azure Databricks.

Para más información, consulte Autenticación de token de acceso personal (en desuso).

Conexión

Nota:

La autenticación mediante tokens de acceso personal de Azure Databricks se admite en las siguientes versiones de Databricks Connect:

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

Para Databricks Connect, use la CLI de Databricks para establecer los valores en su archivo .databrickscfg, para las operaciones de Azure Databricks a nivel de espacio de trabajo como se especifica en la sección de perfil.

El siguiente procedimiento crea un perfil de configuración de Azure Databricks denominado DEFAULT, que sobrescribe cualquier perfil de DEFAULT existente. Para comprobar si existe un DEFAULT perfil, ejecute databricks auth env --profile DEFAULT. Si existe, use otro nombre de perfil.

  1. Ejecute el comando siguiente para crear un perfil de configuración de Azure Databricks denominado DEFAULT que usa la autenticación de token de acceso personal.

    databricks configure \
      --configure-cluster \
      --profile DEFAULT
    
  2. En el símbolo del sistema Databricks Host, escriba la URL del área de trabajo individual de Azure Databricks , por ejemplo ().

  3. En la solicitud de token de acceso personal, escriba el token de acceso personal de su área de trabajo.

  4. En la lista de clústeres disponibles, seleccione el clúster de destino Azure Databricks en el área de trabajo. Puede escribir cualquier parte del nombre para mostrar del clúster para filtrar la lista de clústeres disponibles.

Uso de la API REST de Azure Databricks para emitir tokens de acceso personal

Azure Databricks proporciona un punto de conexión REST /api/2.0/token/create para emitir PAT. Consulte Creación de un token de usuario para obtener más información sobre la API.

En el ejemplo siguiente, establezca estos valores:

  • <databricks-instance>: dirección URL del área de trabajo de Databricks. Por ejemplo, dbc-abcd1234-5678.cloud.databricks.com.
  • <your-existing-access-token>: Un PAT (cadena) válido existente que tiene permisos para crear nuevos tokens.
  • <lifetime-seconds>: duración del token en segundos.
  • <scopes>: una lista de ámbitos que se van a asignar al token. Consulte Tokens de acceso personal con ámbito.
curl -X POST https://<databricks-instance>/api/2.0/token/create \
-H "Authorization: Bearer <your-existing-access-token>" \
-H "Content-Type: application/json" \
-d '{
  "lifetime_seconds": <lifetime-seconds>,
  "scopes": [
    "sql",
    "authentication"
  ]
}'

Si se ejecuta correctamente, esto da como resultado una carga de respuesta similar a la siguiente:

{
  "token_value": "<your-newly-issued-pat>",
  "token_info": {
    "token_id": "<token-id>",
    "creation_time": <creation-timestamp>,
    "expiry_time": <expiry-timestamp>,
    "comment": "<comment>",
    "scopes": ["authentication", "sql"],
    "last_accessed_time": 0
  }
}

Proporcione el nuevo token de la respuesta en el encabezado de autorización de las llamadas posteriores a las API REST de Databricks. Por ejemplo:

# This example uses a simple GET. For POST or other REST verbs, you may need to provide additional parameters.
curl -X GET "https://<databricks-instance>/api/2.0/<path-to-endpoint>" \
     -H "Authorization: Bearer <your-new-pat>"
import requests

headers = {
    'Authorization': 'Bearer <your-new-pat>'
}
# This example is for an HTTP GET operation.
response = requests.get('https://<databricks-instance>/api/2.0/<path-to-endpoint>', headers=headers)

Actualización de los ámbitos de un token de acceso personal

Si un token con el ámbito requerido para una llamada API está ausente, la solicitud falla con un error que indica el ámbito que falta. Para actualizar los ámbitos de un token, use el punto de conexión /api/2.0/token/<token_id>REST. El token de llamada debe tener el authentication ámbito , que permite administrar otros tokens. Use el update_mask campo para especificar qué campos de token se van a actualizar.

curl -X PATCH https://<databricks-instance>/api/2.0/token/<token_id> \
-H "Authorization: Bearer <your-existing-access-token>" \
-H "Content-Type: application/json" \
-d '{
  "token": {
    "scopes": ["sql", "unity-catalog"]
  },
  "update_mask": "scopes"
}'

Los cambios de ámbito pueden tardar hasta diez minutos en propagarse.

Para ver todos los ámbitos disponibles, use GET /api/2.0/token-scopes.