Share via


Obtención de tokens de Microsoft Entra ID (anteriormente Azure Active Directory) para entidades de servicio de Microsoft Entra ID mediante la CLI de Azure

Importante

En este artículo se describe cómo crear manualmente tokens de Microsoft Entra ID (anteriormente Azure Active Directory) 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 (anteriormente Azure Active Directory) para entidad 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.

  1. 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.
  2. 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. Reemplace adb-0000000000000000.0.azuredatabricks.net por el nombre de la instancia del área de trabajo, sin incluir https://. 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 comando az 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, donde 00000000-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>
      
  3. 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ámetros Tenant ID (Directory (tenant) ID), Client ID (Application (client) ID) y Client secret (Value) para la aplicación relacionada registrada en Microsoft Entra ID (anteriormente Azure Active Directory).

    az login \
    --service-principal \
    -t <Tenant-ID> \
    -u <Client-ID> \
    -p <Client-secret>
    
  4. 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>
    
  5. 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 es 2ff814a6-3304-4ab8-85cb-cd0e6f879c1d. Solo se puede mostrar el valor del token de Microsoft Entra ID (anteriormente Azure Active Directory) 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 (anteriormente Azure Active Directory) para entidades de servicio.