Поделиться через


Имя входа PowerShell с субъектом-службой Идентификатора Microsoft Entra

Выполните следующие действия, чтобы использовать PowerShell для входа в Azure Databricks с помощью субъекта-службы идентификатора Microsoft Entra. Сведения о субъектах-службах Azure Databricks см. в статье "Управление субъектами-службами".

Внимание

Управляемые субъекты-службы Azure Databricks управляются непосредственно в Azure Databricks. Управляемые субъекты-службы идентификатора Microsoft Entra управляются в идентификаторе Microsoft Entra, для которого требуются дополнительные разрешения. Databricks рекомендует использовать управляемые субъекты-службы Azure Databricks для большинства вариантов использования. Однако Databricks рекомендует использовать управляемые субъекты-службы Идентификатора Microsoft Entra в случаях, когда необходимо выполнить проверку подлинности с помощью Azure Databricks и других ресурсов Azure одновременно.

Сведения о создании управляемого субъекта-службы Azure Databricks вместо управляемого субъекта-службы идентификатора Microsoft Entra см. в статье "Управление субъектами-службами".

  1. Соберите следующие сведения:

    Параметр Описание
    Tenant ID Для Directory (tenant) ID связанного приложения, зарегистрированного в идентификаторе Microsoft Entra.
    Client ID Для Application (client) ID связанного приложения, зарегистрированного в идентификаторе Microsoft Entra.
    Client secret Секрет Value клиента для связанного приложения, зарегистрированного в идентификаторе Microsoft Entra.
  2. Войдите в Azure с помощью PowerShell для выполнения следующих строк кода, одной строки за раз, завершив вызов командлета Подключение-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
    

    Примечание.

    Если сообщение об ошибке указывает, что Connect-AzAccount командлет не распознается, установите его, выполнив следующий командлет:

    Install-Module -Name Az -Repository PSGallery -Force
    
  3. Убедитесь, что вы вошли в правильную подписку для субъекта-службы, выполнившего вход. Чтобы получить имя и идентификатор вошедшего в систему подписки, а также идентификатор связанного клиента подписки, выполните следующий командлет:

    Get-AzContext | Select-Object -ExpandProperty Subscription
    

    Если вы не уверены, что должна быть правильная подписка, можно, например, получить идентификатор подписки для рабочей области Azure Databricks, щелкнув имя пользователя >портала Azure на панели навигации рабочей области. На появившемся ресурсе рабочей области Azure Databricks щелкните " Обзор " на боковой панели. Затем найдите поле "Идентификатор подписки", содержащее идентификатор подписки.

    Если вы не можете получить доступ к порталу Azure, но у вас есть доступ к консоли учетной записи Azure Databricks, вы можете получить правильную подписку для рабочей области Azure Databricks следующим образом:

    1. Запишите программное имя рабочей области, которое находится рядом с именем пользователя в панели навигации рабочей области.
    2. Щелкните имя пользователя >"Управление учетной записью" на панели навигации рабочей области.
    3. На боковой панели щелкните "Рабочие области".
    4. В поле " Фильтрация рабочих областей " введите программное имя рабочей области и нажмите клавишу Enter.
    5. Щелкните программное имя рабочей области в списке результатов.
    6. Запишите поле подписки , содержащее идентификатор подписки.

    Если вам нужно переключиться на другую подписку, запустите cmdllet Set-AzContext , используя -Name или -Subscription параметр, чтобы указать правильное имя или идентификатор подписки.

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

    Если отображается следующее сообщение, вы вошли в неправильный клиент: The subscription of '<subscription-id>' doesn't exist in cloud 'AzureCloud'. чтобы войти в правильный клиент, необходимо снова запустить Connect-AzAccount командлет, используя -Tenant параметр, чтобы указать правильный идентификатор клиента.

    Вы можете получить идентификатор клиента для рабочей области Azure Databricks, выполнив команду curl -v <per-workspace-URL>/aad/auth и указав выходные данные < location: https://login.microsoftonline.com/00000000-0000-0000-0000-000000000000, где 00000000-0000-0000-0000-000000000000 находится идентификатор клиента. Кроме этого, см. статью о получении идентификаторов подписок и арендаторов на портале Azure.

    Connect-AzAccount -Tenant <tenant-id>