Obtener tokens de Microsoft Entra ID para usuarios mediante la CLI de Azure
Importante
En este artículo se describe cómo crear manualmente tokens de Microsoft Entra ID para los usuarios mediante la CLI de Azure.
Databricks no recomienda que cree tokens de Microsoft Entra ID para usuarios de Azure Databricks manualmente. Esto se debe a que cada token de Microsoft Entra ID es de corta duración y, por lo general, caduca en una hora. Después de este tiempo, debe generar manualmente un token de reemplazo de Microsoft Entra ID. En su lugar, usa una de las herramientas participantes o SDK que implementan el estándar de la autenticación unificada del cliente de Databricks. Estas herramientas y SDK generan y reemplazan automáticamente los tokens de Microsoft Entra ID caducados, y sacan provecho de la autenticación de la CLI de Azure.
Puede usar la CLI de Azure para obtener tokens de acceso de Microsoft Entra ID para los usuarios.
Nota:
También puede definir una entidad de servicio en Azure Active Directory y, a continuación, obtener un token de acceso de Microsoft Entra ID para esa entidad de servicio, en lugar de para un usuario. Consulte Obtener tokens de Microsoft Entra ID para las entidades de servicio.
Obtenga el id. de suscripción de Azure correcto para la cuenta de usuario, si aún no conoce este identificador, para lo que debe hacer lo siguiente:
En la barra de navegación superior de su área de trabajo Azure Databricks, haga clic en su nombre de usuario y después en Azure Portal. En la página de recursos del área de trabajo de Azure Databricks que aparece, haga clic en Información general en la barra lateral. A continuación, busque el campo id. de suscripción, que contiene el id. de suscripción.
Use la CLI de Azure para ejecutar el comando az databricks workspace list, con las opciones
--query
y-o
o--output
, para restringir los resultados. Reemplaceadb-0000000000000000.0.azuredatabricks.net
por el nombre de la instancia del área de trabajo, sin incluirhttps://
. En este ejemplo,00000000-0000-0000-0000-000000000000
después de/subscriptions/
en la salida es el id. de suscripción.az databricks workspace list --query "[?workspaceUrl==\`adb-0000000000000000.0.azuredatabricks.net\`].{id:id}" -o tsv # /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/my-rg/providers/Microsoft.Databricks/workspaces/my-ws
Si aparece el siguiente mensaje, significa que ha iniciado sesión en el inquilino equivocado:
The subscription of '<subscription-id>' doesn't exist in cloud 'AzureCloud'.
Para conectarse al inquilino correcto, debe ejecutar el comandoaz login
de nuevo, utilizando la opción-t
o--tenant
para especificar el id. de inquilino correcto.Puede obtener el id. de inquilino de un área de trabajo de Azure Databricks ejecutando el comando
curl -v <per-workspace-URL>/aad/auth
y buscando< location: https://login.microsoftonline.com/00000000-0000-0000-0000-000000000000
en los resultados, donde00000000-0000-0000-0000-000000000000
es el id. del inquilino. Consulte también Obtención de identificadores de suscripción y de inquilino en Azure Portal.az login -t <tenant-id>
Cuando tenga el identificador de suscripción de Azure correcto para la cuenta de usuario, inicie sesión en Azure mediante la CLI de Azure para ejecutar el comando az login. Después de ejecutar este comando, siga las instrucciones de la pantalla para terminar de iniciar sesión con la cuenta.
az login
Confirme que ha iniciado sesión en la suscripción correcta para el usuario que ha iniciado sesión. Para ello, ejecute el comando az account set con la opción
-s
o--subscription
para especificar el identificador de suscripción correcto.az account set -s <subscription-id>
Genere el token de acceso de Microsoft Entra ID mediante la ejecución del comando az account get-access-token. Use la opción
--resource
para especificar el identificador de recurso único para el servicio Azure Databricks, que es2ff814a6-3304-4ab8-85cb-cd0e6f879c1d
. Solo se puede mostrar el valor del token de Microsoft Entra ID en los resultados del comando, mediante las opciones--query
y-o
, o bien--output
.az account get-access-token \ --resource 2ff814a6-3304-4ab8-85cb-cd0e6f879c1d \ --query "accessToken" \ -o tsv
Nota:
La CLI de Azure basada en MSAL usa la Biblioteca de autenticación de Microsoft (MSAL) como biblioteca de autenticación subyacente. Si no puede usar correctamente el token de acceso de Microsoft Entra ID que genera la CLI de Azure, como alternativa, puede intentar usar MSAL directamente para obtener un token de acceso de Microsoft Entra ID para un usuario. Consulte Obtener tokens de Microsoft Entra ID para los usuarios mediante MSAL.