Tutorial: Criar entidades de serviço e atribuições de função com o PowerShell na Área de Trabalho Virtual do Azure (clássico)
Importante
Este conteúdo aplica-se ao Ambiente de Trabalho Virtual do Azure (clássico), que não suporta objetos do Azure Resource Manager do Ambiente de Trabalho Virtual do Azure.
Entidades de serviço são identidades que você pode criar no Microsoft Entra ID para atribuir funções e permissões para uma finalidade específica. Na Área de Trabalho Virtual do Azure, pode-se criar um service principal para:
- Automatize tarefas específicas de gerenciamento da Área de Trabalho Virtual do Azure.
- Utilize as credenciais no lugar de usuários que necessitam de MFA ao executar qualquer modelo do Azure Resource Manager para a Área de Trabalho Virtual do Azure.
Neste tutorial, saiba como:
- Crie um principal de serviço no Microsoft Entra ID.
- Crie uma atribuição de função na Área de Trabalho Virtual do Azure.
- Entre na Área de Trabalho Virtual do Azure usando o principal de serviço.
Pré-requisitos
Antes de criar entidades de serviço e atribuições de função, deves proceder da seguinte forma:
Siga os passos para instalar o módulo Azure Az PowerShell.
Baixe e importe o módulo PowerShell da Área de Trabalho Virtual do Azure.
Importante
Siga todas as instruções neste artigo na mesma sessão do PowerShell. O processo pode não funcionar se você interromper sua sessão do PowerShell fechando a janela e reabrindo-a mais tarde.
Criar uma entidade de serviço no Microsoft Entra ID
Depois de cumprir os pré-requisitos na sua sessão do PowerShell, execute os seguintes cmdlets do PowerShell para criar um principal de serviço multilocatário no Azure.
Import-Module Az.Resources
Connect-AzConnect
$aadContext = Get-AzContext
$svcPrincipal = New-AzADApplication -AvailableToOtherTenants $true -DisplayName "Azure Virtual Desktop Svc Principal"
$svcPrincipalCreds = New-AzADAppCredential -ObjectId $svcPrincipal.Id
Exibir suas credenciais no PowerShell
Antes de criar a atribuição de função para a sua entidade de serviço, exiba as suas credenciais e registe-as para referência futura. A senha é especialmente importante porque você não poderá recuperá-la depois de fechar esta sessão do PowerShell.
Aqui estão os três valores que você deve anotar e os cmdlets que você precisa executar para obtê-los:
Palavra-passe:
$svcPrincipalCreds.SecretText
ID do inquilino:
$aadContext.Tenant.Id
ID do aplicativo:
$svcPrincipal.AppId
Criar uma atribuição de função na Área de Trabalho Virtual do Azure
Em seguida, é necessário criar uma atribuição de função para que o principal de serviço possa entrar na Área de Trabalho Virtual do Azure. Certifique-se de entrar com uma conta que tenha permissões para criar atribuições de função.
Primeiro, baixe e importe o módulo PowerShell da Área de Trabalho Virtual do Azure para usar na sua sessão do PowerShell, caso ainda não o tenha feito.
Execute os seguintes cmdlets do PowerShell para se conectar à Área de Trabalho Virtual do Azure e exibir seus locatários.
Add-RdsAccount -DeploymentUrl "https://rdbroker.wvd.microsoft.com"
Get-RdsTenant
Quando encontrar o nome do locatário para o qual deseja criar uma atribuição de função, use esse nome no cmdlet a seguir:
$myTenantName = "<Azure Virtual Desktop Tenant Name>"
New-RdsRoleAssignment -RoleDefinitionName "RDS Owner" -ApplicationId $svcPrincipal.AppId -TenantName $myTenantName
Iniciar sessão com a entidade de serviço
Depois de criar uma atribuição de função para a entidade de serviço, verifique se a entidade de serviço pode entrar na Área de Trabalho Virtual do Azure executando o seguinte cmdlet:
$creds = New-Object System.Management.Automation.PSCredential($svcPrincipal.AppId, (ConvertTo-SecureString $svcPrincipalCreds.Value -AsPlainText -Force))
Add-RdsAccount -DeploymentUrl "https://rdbroker.wvd.microsoft.com" -Credential $creds -ServicePrincipal -AadTenantId $aadContext.Tenant.Id
Se conseguir iniciar sessão com êxito, o service principal está configurado corretamente.
Próximos passos
Depois de criar o principal de serviço e lhe atribuir uma função no seu inquilino do Ambiente de Trabalho Virtual do Azure, pode utilizá-lo para criar um pool de hosts. Para saber mais sobre pools de hosts, continue para o tutorial para criar um pool de hosts na Área de Trabalho Virtual do Azure.