你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

教程:使用 PowerShell 在 Azure 虚拟桌面(经典)中创建服务主体和角色分配

重要

此内容适用于 Azure 虚拟桌面(经典),后者不支持 Azure 资源管理器 Azure 虚拟桌面对象。

服务主体是可以在 Microsoft Entra ID 中创建的、用于根据特定目的分配角色和权限的标识。 在 Azure 虚拟桌面中,可以创建服务主体来实现以下目的:

  • 自动执行特定的 Azure 虚拟桌面管理任务。
  • 运行任何 Azure 虚拟桌面的 Azure 资源管理器模板时,将服务主体用作凭据,而无需让用户执行 MFA。

本教程介绍如何执行下列操作:

  • 在 Microsoft Entra ID 中创建一个服务主体。
  • 在 Azure 虚拟桌面中创建角色分配。
  • 使用服务主体登录到 Azure 虚拟桌面。

先决条件

在创建服务主体和角色分配之前,需要先完成以下操作:

  1. 按照步骤安装 Azure Az PowerShell 模块

  2. 下载并导入 Azure 虚拟桌面 PowerShell 模块

重要

在同一 PowerShell 会话中,遵照本文中的所有说明操作。 如果通过关闭窗口并稍后重新打开该窗口来中断 PowerShell 会话,则该过程可能无法运行。

在 Microsoft Entra ID 中创建一个服务主体

在满足 PowerShell 会话中的先决条件之后,运行以下 PowerShell cmdlet,以在 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

在 PowerShell 中查看凭据

在为服务主体创建角色分配之前,请查看凭据并将其记下以供将来参考。 密码特别重要,因为关闭此 PowerShell 会话后将无法检索密码。

下面是应该记下的三个值,以及用于获取这些值的 cmdlet:

  • 密码:

    $svcPrincipalCreds.SecretText
    
  • 租户 ID:

    $aadContext.Tenant.Id
    
  • 应用程序 ID:

    $svcPrincipal.AppId
    

在 Azure 虚拟桌面中创建角色分配

接下来,需要创建角色分配,使服务主体可以登录到 Azure 虚拟桌面。 请确保使用有权创建角色分配的帐户登录。

首先下载并导入 Azure 虚拟桌面 PowerShell 模块(如果尚未这样做),方便在 PowerShell 会话中使用。

运行以下 PowerShell cmdlet 以连接到 Azure 虚拟桌面,并显示你的租户。

Add-RdsAccount -DeploymentUrl "https://rdbroker.wvd.microsoft.com"
Get-RdsTenant

找到要为其创建角色分配的租户的租户名称时,请在以下 cmdlet 中使用该名称:

$myTenantName = "<Azure Virtual Desktop Tenant Name>"
New-RdsRoleAssignment -RoleDefinitionName "RDS Owner" -ApplicationId $svcPrincipal.AppId -TenantName $myTenantName

使用服务主体登录

为服务主体创建角色分配后,请通过运行以下 cmdlet,确保该服务主体可以登录到 Azure 虚拟桌面:

$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

如果你可以成功登录,则你的服务主体配置正确。

后续步骤

创建了服务主体并在 Azure 虚拟桌面租户中为其分配角色后,可以用它来创建主机池。 若要详细了解主机池,请继续学习有关在 Azure 虚拟桌面中创建主机池的教程。