Autenticación mediante tokens de acceso personal de Azure Databricks

Para autenticarse en las API de REST de Databricks y acceder a ellas, se pueden usar los tokens de acceso personal de Azure Databricks o los tokens de Azure Active Directory (Azure AD).

En este artículo se describe cómo usar tokens de acceso personal de Azure Databricks. En el caso de los tokens de Azure AD, consulte Autenticación mediante tokens de Azure Active Directory.

Importante

Los tokens reemplazan contraseñas en un flujo de autenticación y deben protegerse como contraseñas. Para proteger tokens, Databricks recomienda almacenarlos en:

Nota:

Como procedimiento recomendado de seguridad, al autenticarse con herramientas, sistemas, scripts y aplicaciones automatizadas, Databricks recomienda usar tokens de acceso que pertenezcan a entidades de servicio en lugar de usuarios del área de trabajo. Para obtener más información, consulte Administración de roles de una entidad de servicio.

Requisitos

La autenticación basada en tokens está habilitada de forma predeterminada para todas las cuentas de Azure Databricks iniciadas después de enero de 2018. Si la autenticación basada en tokens está deshabilitada, el administrador debe habilitarla para poder realizar las tareas descritas en Administración de tokens de acceso personal.

Generar un token de acceso personal

En esta sección se describe cómo generar un token de acceso personal en la interfaz de usuario de Azure Databricks. También puede generar y revocar tokens mediante la API de token 2.0.

El número de tokens de acceso personal por usuario está limitado a 600 por área de trabajo.

  1. Haga clic en el nombre de usuario en la barra superior del área de trabajo de Azure Databricks y seleccione Configuración de usuario en la lista desplegable.
  2. Vaya a la pestaña Tokens de acceso.
  3. Haga clic en el botón Generar nuevo token.
  4. Opcionalmente, escriba una descripción (comentario) y un período de expiración.
  5. Haga clic en Generar.
  6. Copie el token generado y almacénelo en una ubicación segura.

Revocar un token de acceso personal

En esta sección se describe cómo revocar un token de acceso personal mediante la interfaz de usuario de Azure Databricks. También puede generar y revocar tokens de acceso mediante la API de token 2.0.

  1. Haga clic en el nombre de usuario en la barra superior del área de trabajo de Azure Databricks y seleccione Configuración de usuario en la lista desplegable.
  2. Vaya a la pestaña Tokens de acceso.
  3. Haga clic en x para el token que desea revocar.
  4. En el cuadro de diálogo Revocar token, haga clic en el botón Revocar token.

Uso de un token de acceso personal para acceder a la API de REST de Databricks

Puede almacenar un token de acceso personal en un archivo .netrc y usarlo en curl o pasarlo al encabezado Authorization: Bearer.

Almacenar tokens en un archivo .netrc y usarlos en curl

Cree un archivo .netrc con las propiedades machine, login y password:

machine <databricks-instance>
login token
password <token-value>

donde:

  • <databricks-instance> es la parte del identificador de instancia de la dirección URL de área de trabajo para la implementación de Azure Databricks. Por ejemplo, si la dirección URL del área de trabajo es https://adb-1234567890123456.7.azuredatabricks.net, entonces <databricks-instance> es adb-1234567890123456.7.azuredatabricks.net.
  • token es la cadena literal token.
  • <token-value> es el valor del token, por ejemplo dapi1234567890ab1cde2f3ab456c7d89efa.

El resultado es algo como esto:

machine adb-1234567890123456.7.azuredatabricks.net
login token
password dapi1234567890ab1cde2f3ab456c7d89efa

Para varias entradas de máquina/token, agregue una línea por entrada, con las propiedades machine, login y password para cada par coincidente de máquina/token en la misma línea. El resultado es algo como esto:

machine adb-1234567890123456.7.azuredatabricks.net login token password dapi1234567890ab1cde2f3ab456c7d89efa
machine adb-2345678901234567.8.azuredatabricks.net login token password dapi2345678901cd2efa3b4cd567e8f90abc
machine adb-3456789012345678.9.azuredatabricks.net login token password dapi3456789012de3fab4c5de678f9a01bcd

En este ejemplo se invoca el archivo .netrc mediante --netrc (también se puede usar -n) en el comando curl. Usa la dirección URL del área de trabajo especificada para localizar la entrada machine correspondiente en el archivo .netrc.

curl --netrc -X GET https://adb-1234567890123456.7.azuredatabricks.net/api/2.0/clusters/list

Paso del token a la autenticación de Bearer

Puede incluir el token en el encabezado mediante la autenticación de Bearer. Puede usar este enfoque con curl o cualquier cliente que compile. Para este último, consulte Carga de un archivo grande en DBFS.

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

export DATABRICKS_TOKEN=dapi1234567890ab1cde2f3ab456c7d89efa

curl -X GET --header "Authorization: Bearer $DATABRICKS_TOKEN" \
https://adb-1234567890123456.7.azuredatabricks.net/api/2.0/clusters/list