你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
在 Azure 开发测试实验室中添加实验室所有者、参与者和用户
Azure 开发测试实验室使用 Azure 基于角色的访问控制 (Azure RBAC) 来定义那些仅具有执行特定实验室任务所需的访问权限的角色。 开发测试实验室有三个内置角色:所有者、参与者和开发测试实验室用户。 本文介绍每个角色可以执行的任务,以及如何使用 Azure 门户或 Azure PowerShell 脚本将成员添加到实验室角色。
每个角色可以执行的操作
实验室所有者、参与者和开发测试实验室用户角色可在开发测试实验室中执行以下操作:
所有者
实验室所有者角色可以执行以下所有操作:
实验室任务:
- 将用户添加到实验室。
- 更新成本设置。
虚拟机 (VM) 基础任务:
- 添加和删除自定义映像。
- 添加、更新和删除公式。
- 启用市场图像。
VM 任务:
- 创建 VM。
- 启动、停止或删除 VM。
- 更新 VM 策略。
- 添加或删除 VM 数据磁盘。
项目任务:
- 添加和删除项目存储库。
- 将项目应用到 VM。
参与者
实验室参与者角色可以执行与实验室所有者相同的所有操作,但无法将用户添加到实验室。
DevTest 实验室用户
开发测试实验室用户角色可在开发测试实验室中执行以下操作:
- 添加、更新和删除 VM 基础公式。
- 创建 VM。
- 启动、停止或删除用户创建的 VM。
- 在用户创建的 VM 中添加或删除数据磁盘。
- 将项目应用到 VM。
注意
实验室用户会在其创建的 VM 上自动拥有所有者角色。
添加所有者、参与者或开发测试实验室用户
实验室所有者可以通过使用 Azure 门户或 Azure PowerShell 脚本向实验室角色中添加成员。 要添加的用户可以是具有有效 Microsoft 帐户 (MSA) 的外部用户。
Azure 权限会从父范围传播到子范围。 某个包含实验室的 Azure 订阅的所有者会自动成为该订阅的开发测试实验室服务、实验室和实验室 VM 及资源的所有者。 订阅所有者可以将所有者、参与者和开发测试实验室用户添加到订阅中的实验室。
注意
添加的实验室所有者的管理范围比订阅所有者的范围窄。 添加的所有者没有开发测试实验室服务创建的某些资源的完全访问权限。
先决条件
若要将成员添加到实验室,你必须:
使用 Azure 门户添加实验室成员
若要添加成员,请执行以下操作:
- 在订阅级别,打开订阅页。
- 在实验室级别,打开包含实验室的资源组,然后从资源列表中选择实验室。
在订阅或实验室的左侧导航栏中,选择“访问控制(IAM)”。
选择“添加”>“添加角色分配”。
在“添加角色分配”页上,选择“所有者”、“参与者”或“开发测试实验室用户”角色,然后选择“下一步”。
在“成员”选项卡上,选择“选择成员”。
在“选择成员”屏幕上,选择要添加的成员,然后选择“选择”。
选择“查看 + 分配”,查看详细信息后,再次选择“查看 + 分配”。
使用 Azure PowerShell 向实验室添加开发测试实验室用户
注意
建议使用 Azure Az PowerShell 模块与 Azure 交互。 若要开始,请参阅安装 Azure PowerShell。 若要了解如何迁移到 Az PowerShell 模块,请参阅 将 Azure PowerShell 从 AzureRM 迁移到 Az。
可以使用以下 Azure PowerShell 脚本向实验室添加开发测试实验室用户。 该脚本要求用户位于 Microsoft Entra ID 中。 要了解如何将外部用户作为来宾添加到 Microsoft Entra ID,请参阅添加新的来宾用户。 如果用户不在 Microsoft Entra ID 中,请改用门户过程。
在以下脚本中,更新 # Values to change
注释下的参数值。 可以从 Azure 门户中的实验室主页获取 subscriptionId
、labResourceGroup
和 labName
值。
# Add an external user to a lab user role in DevTest Labs.
# Make sure the guest user is added to Azure AD.
# Values to change
$subscriptionId = "<Azure subscription ID>"
$labResourceGroup = "<Lab's resource group name>"
$labName = "<Lab name>"
$userDisplayName = "<User's display name>"
# Log into your Azure account.
Connect-AzAccount
# Select the Azure subscription that contains the lab. This step is optional if you have only one subscription.
Select-AzSubscription -SubscriptionId $subscriptionId
# Get the user object.
$adObject = Get-AzADUser -SearchString $userDisplayName
# Create the role assignment.
$labId = ('subscriptions/' + $subscriptionId + '/resourceGroups/' + $labResourceGroup + '/providers/Microsoft.DevTestLab/labs/' + $labName)
New-AzRoleAssignment -ObjectId $adObject.Id -RoleDefinitionName 'DevTest Labs User' -Scope $labId