Partilhar via


Login do PowerShell com uma entidade de serviço do Microsoft Entra ID

Siga estas etapas para usar o PowerShell para fazer logon no Azure Databricks com uma entidade de serviço do Microsoft Entra ID. Para obter informações sobre entidades de serviço do Azure Databricks, consulte Gerenciar entidades de serviço.

Importante

As entidades de serviço gerenciado do Azure Databricks são gerenciadas diretamente no Azure Databricks. As entidades de serviço gerenciadas do Microsoft Entra ID são gerenciadas no Microsoft Entra ID, o que requer permissões adicionais. O Databricks recomenda que você use entidades de serviço gerenciado do Azure Databricks para a maioria dos casos de uso. No entanto, o Databricks recomenda que você use entidades de serviço gerenciado do Microsoft Entra ID nos casos em que você deve se autenticar com o Azure Databricks e outros recursos do Azure ao mesmo tempo.

Para criar uma entidade de serviço gerenciado do Azure Databricks em vez de uma entidade de serviço gerenciado do Microsoft Entra ID, consulte Gerenciar entidades de serviço.

  1. Recolha as seguintes informações:

    Parâmetro Description
    Tenant ID O Directory (tenant) ID para o aplicativo relacionado registrado no Microsoft Entra ID.
    Client ID O Application (client) ID para o aplicativo relacionado registrado no Microsoft Entra ID.
    Client secret O Value segredo do cliente para o aplicativo relacionado registrado no Microsoft Entra ID.
  2. Entre na entidade de serviço no Azure usando o PowerShell para executar as seguintes linhas de código, uma linha de cada vez, concluindo chamando o 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

    Se uma mensagem de erro indicar que o Connect-AzAccount cmdlet não é reconhecido, instale-o executando o seguinte cmdlet:

    Install-Module -Name Az -Repository PSGallery -Force
    
  3. Confirme se você está conectado à assinatura correta para sua entidade de serviço conectada. Para obter o nome e a ID da sua assinatura conectada, bem como a ID de locatário relacionada à assinatura, execute o seguinte cmdlet:

    Get-AzContext | Select-Object -ExpandProperty Subscription
    

    Se não tiver certeza de qual deve ser a assinatura correta, você pode, por exemplo, obter a ID de assinatura para um espaço de trabalho do Azure Databricks clicando em seu nome >de usuário Portal do Azure na barra de navegação do espaço de trabalho. Na página de recursos do espaço de trabalho do Azure Databricks exibida, clique em Visão geral na barra lateral. Em seguida, procure o campo ID da assinatura, que contém a ID da assinatura.

    Se não conseguir aceder ao Portal do Azure, mas tiver acesso à consola da conta do Azure Databricks, pode obter a subscrição correta para uma área de trabalho do Azure Databricks da seguinte forma:

    1. Anote o nome programático do espaço de trabalho, que está localizado ao lado do seu nome de usuário na barra de navegação do espaço de trabalho.
    2. Clique no seu nome >de utilizador Gerir Conta na barra de navegação da área de trabalho.
    3. Na barra lateral, clique em Espaços de trabalho.
    4. Na caixa Filtrar espaços de trabalho, insira o nome programático do espaço de trabalho e pressione Enter.
    5. Clique no nome programático do espaço de trabalho na lista de resultados.
    6. Anote o campo Assinatura , que contém a ID da assinatura.

    Se você precisar alternar para uma assinatura diferente, execute o cmdllet Set-AzContext , usando o -Name parâmetro or -Subscription para especificar o nome ou ID da assinatura correto.

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

    Se a seguinte mensagem for exibida, você está conectado ao locatário errado: The subscription of '<subscription-id>' doesn't exist in cloud 'AzureCloud'. Para entrar no locatário correto, execute o Connect-AzAccount cmdlet novamente, usando a -Tenant opção para especificar a ID do locatário correta.

    Você pode obter a ID do locatário para um espaço de trabalho do Azure Databricks executando o comando curl -v <per-workspace-URL>/aad/auth e procurando na saída < location: https://login.microsoftonline.com/00000000-0000-0000-0000-000000000000, onde 00000000-0000-0000-0000-000000000000 é a ID do locatário. Consulte também Obter IDs de assinatura e locatário no portal do Azure.

    Connect-AzAccount -Tenant <tenant-id>