Compartir vía


Inicio de sesión de PowerShell con una entidad de servicio de Microsoft Entra ID

Siga estos pasos para usar PowerShell para iniciar sesión en Azure Databricks con una entidad de servicio de Microsoft Entra ID. Para obtener información sobre las entidades de servicio de Azure Databricks, vea Administración de entidades de servicio.

Importante

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.

  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. Inicie sesión en la entidad de servicio en Azure mediante PowerShell para ejecutar las siguientes líneas de código, una línea a la vez, con la conclusión de llamar al cmdlet Connect-AzAccount.

    $SecurePassword = ConvertTo-SecureString -String "<Client-secret>" -AsPlainText -Force
    $TenantId = "<Tenant-ID>"
    $ApplicationId = "<Client-ID>"
    $Credential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $ApplicationId, $SecurePassword
    Connect-AzAccount -ServicePrincipal -TenantId $TenantId -Credential $Credential
    

    Nota:

    Si un mensaje de error indica que el cmdlet Connect-AzAccount no se reconoce, instálelo ejecutando el siguiente cmdlet:

    Install-Module -Name Az -Repository PSGallery -Force
    
  3. Confirme que ha iniciado sesión en la suscripción correcta para la entidad de servicio que ha iniciado sesión. Para obtener el nombre y el id. de la suscripción que ha iniciado sesión, así como el id. de inquilino relacionado de la suscripción, ejecute el siguiente cmdlet:

    Get-AzContext | Select-Object -ExpandProperty Subscription
    

    Si no está seguro de cuál debería ser la suscripción correcta, puede obtener, por ejemplo, el id. de suscripción de un área de trabajo de Azure Databricks haciendo clic en el nombre de usuario > de Azure Portal en la barra de navegación del área de trabajo. 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.

    Si no puede acceder a Azure Portal, pero tiene acceso a la consola de la cuenta de Azure Databricks, puede obtener la suscripción correcta para un área de trabajo de Azure Databricks de la siguiente manera:

    1. Anote el nombre de programación del área de trabajo, que se encuentra junto al nombre de usuario en la barra de navegación del área de trabajo.
    2. Haga clic en el nombre de usuario >Administrar cuenta en la barra de navegación del área de trabajo.
    3. En la barra lateral, haz clic en Área de trabajo.
    4. En el cuadro Filtrar áreas de trabajo, escriba el nombre de programación del área de trabajo y presione Enter.
    5. Haga clic en el nombre de programación del área de trabajo en la lista de resultados.
    6. Anote el campo Suscripción, que contiene el id. de suscripción.

    Si necesita cambiar a otra suscripción, ejecute el cmdllet Set-AzContext con el parámetro -Name o -Subscription para especificar el nombre o el id. de suscripción correcto.

    Set-AzContext -Name "<subscription-name>"
    
    # Or ...
    
    Set-AzContext -Subscription <subscription-id>
    

    Si se muestra el mensaje siguiente, es que ha iniciado sesión en el inquilino incorrecto: The subscription of '<subscription-id>' doesn't exist in cloud 'AzureCloud'.. Para iniciar sesión en el inquilino correcto, debe volver a ejecutar el cmdlet Connect-AzAccount con la opción -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.

    Connect-AzAccount -Tenant <tenant-id>