Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
可以通过 Azure 基于角色的访问控制 (Azure RBAC) 管理对 Azure 资源的访问权限。 在本快速入门中,你将创建资源组并授予用户在资源组中创建和管理虚拟机的访问权限。 本快速入门使用 Bicep 来授予访问权限。
Bicep 是一种特定于域的语言 (DSL),使用声明性语法来部署 Azure 资源。 它提供简明的语法、可靠的类型安全性以及对代码重用的支持。 Bicep 会针对你的 Azure 基础结构即代码解决方案提供最佳创作体验。
若要分配 Azure 角色和删除角色分配,必须满足以下条件:
- 如果没有 Azure 订阅,可在开始前创建一个试用帐户。
Microsoft.Authorization/roleAssignments/write
和Microsoft.Authorization/roleAssignments/delete
权限,例如基于角色的访问控制管理员。- 若要分配角色,必须指定三个要素:安全主体、角色定义和范围。 在本快速入门中,安全主体是你或目录中的其他用户,角色定义是虚拟机参与者,范围是指定的资源组。
本快速入门中使用的 Bicep 文件来自 Azure 快速入门模板。 Bicep 文件具有两个参数和一个资源部分。 请注意,资源部分包含角色分配的三个要素:安全主体、角色定义和作用域。
@description('Specifies the role definition ID used in the role assignment.')
param roleDefinitionID string
@description('Specifies the principal ID assigned to the role.')
param principalId string
var roleAssignmentName= guid(principalId, roleDefinitionID, resourceGroup().id)
resource roleAssignment 'Microsoft.Authorization/roleAssignments@2022-04-01' = {
name: roleAssignmentName
properties: {
roleDefinitionId: resourceId('Microsoft.Authorization/roleDefinitions', roleDefinitionID)
principalId: principalId
}
}
output name string = roleAssignment.name
output resourceGroupName string = resourceGroup().name
output resourceId string = roleAssignment.id
Bicep 文件中定义了以下资源:
将该 Bicep 文件另存为本地计算机上的 main.bicep。
使用 Azure CLI 或 Azure PowerShell 来部署该 Bicep 文件。
az group create --name exampleRG --location chinanorth az deployment group create --resource-group exampleRG --template-file main.bicep --parameters roleDefinitionID=9980e02c-c2be-4d73-94e8-173b1dc7cf3c principalId=<principal-id>
Nota
将 <principal-id> 替换为分配给角色的主体 ID。
部署完成后,应会看到一条指出部署成功的消息。
使用 Azure 门户、Azure CLI 或 Azure PowerShell 列出资源组中已部署的资源。
az role assignment list --resource-group exampleRG
如果不再需要角色分配,请使用 Azure 门户、Azure CLI 或 Azure PowerShell 将其移除。 有关详细信息,请参阅删除 Azure 角色分配。
使用 Azure 门户、Azure CLI 或 Azure PowerShell 删除资源组。
az group delete --name exampleRG