共用方式為


快速入門:使用 Bicep 指派 Azure 角色

Azure 角色型存取控制 (Azure RBAC) 是您可用來管理 Azure 資源存取權的方法。 在本快速入門中,您會建立資源群組,並授與使用者建立和管理資源群組中虛擬機的存取權。 本快速入門會使用 Bicep 來授與存取權。

Bicep 是使用宣告式語法來部署 Azure 資源的特定領域語言 (DSL)。 其提供簡潔的語法、可靠的類型安全,並支援程式碼重複使用。 Bicep 能夠為您在 Azure 中的基礎結構即程式碼解決方案,提供最佳的製作體驗。

必要條件

若要指派 Azure 角色並移除角色指派,您必須具備:

  • 如尚未擁有 Azure 訂用帳戶,請在開始之前先建立免費帳戶
  • Microsoft.Authorization/roleAssignments/writeMicrosoft.Authorization/roleAssignments/delete 許可權,例如角色型 存取控制 系統管理員
  • 若要指派角色,您必須指定三個元素:安全性主體、角色定義和範圍。 在本快速入門中,安全性主體是您或目錄中的另一位使用者,角色定義是 虛擬機參與者,而範圍是您指定的資源群組。

檢閱 Bicep 檔案

此快速入門中使用的 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 檔案

  1. 將 Bicep 檔案以 main.bicep 儲存至本機電腦。

  2. 使用 Azure CLI 或 Azure PowerShell 部署 Bicep 檔案。

    az group create --name exampleRG --location eastus
    az deployment group create --resource-group exampleRG --template-file main.bicep --parameters roleDefinitionID=9980e02c-c2be-4d73-94e8-173b1dc7cf3c principalId=<principal-id>
    

注意

將 principal-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

下一步