Obtención de tokens de id. de Microsoft Entra para entidades de servicio de Id. de Microsoft Entra mediante la CLI de Azure
Importante
En este artículo se describe cómo crear manualmente tokens de Microsoft Entra ID para entidades de servicio de Microsoft Entra ID mediante la CLI de Azure.
Las entidades de servicio administradas de Azure Databricks se administran directamente en Azure Databricks. Las entidades de servicio administradas de Microsoft Entra ID se administran en Microsoft Entra ID, lo que requiere permisos adicionales. Databricks recomienda usar entidades de servicio administradas de Azure Databricks para la mayoría de los casos de uso. Sin embargo, Databricks recomienda usar entidades de servicio administradas de Microsoft Entra ID en aquellos casos en los que deba autenticarse con Azure Databricks y otros recursos de Azure al mismo tiempo.
Para crear una entidad de servicio administrada de Azure Databricks en lugar de una entidad de servicio administrada de Microsoft Entra ID, consulte Administración de entidades de servicio.
Databricks no recomienda crear tokens de Microsoft Entra ID para entidades de servicio de Microsoft Entra ID 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 aprovechan los siguientes tipos de autenticación de Databricks:
Puede usar la CLI de Azure a fin de obtener tokens de acceso de Microsoft Entra ID para entidades de servicio de Microsoft Entra ID.
Recopile la información siguiente:
Parámetro Descripción Tenant ID
El valor Directory (tenant) ID
para la aplicación relacionada registrada en Microsoft Entra ID.Client ID
El valor Application (client) ID
para la aplicación relacionada registrada en Microsoft Entra ID.Client secret
El valor Value
del secreto de cliente de la aplicación relacionada registrada en Microsoft Entra ID.Obtenga el id. de suscripción de Azure correcto para la entidad de servicio de Microsoft Entra ID, si aún no lo conoce, mediante 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>
Después de tener el id. de inquilino de Azure, el id. de cliente, el secreto de cliente y el id. de suscripción correcto para la entidad de servicio de Microsoft Entra ID, inicie sesión en Azure mediante la CLI de Azure para ejecutar el comando az login. Use la opción
--service-principal
junto con la especificación de los valores de los parámetrosTenant ID
(Directory (tenant) ID
),Client ID
(Application (client) ID
) yClient secret
(Value
) para la aplicación relacionada registrada en Microsoft Entra ID.az login \ --service-principal \ -t <Tenant-ID> \ -u <Client-ID> \ -p <Client-secret>
Confirme que haya iniciado sesión en la suscripción correcta de la entidad de servicio de Microsoft Entra ID en la que inició 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 para la entidad de servicio de Microsoft Entra ID en la que ha iniciado sesión; para ello, ejecute el 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 utilizar MSAL directamente a fin de obtener un token de acceso de Microsoft Entra ID para una entidad de servicio de Microsoft Entra ID. Consulte Obtener tokens de Microsoft Entra ID para las entidades de servicio.