共用方式為


將受控識別存取權指派給 Azure 資源或另一項資源

本文說明如何為 Azure 虛擬機器 (VM) 受控識別提供對 Azure 儲存體帳戶的存取權。 以受控識別設定 Azure 資源後,您便可以為此受控識別提供對另一項資源的存取權,就像任何安全性主體一樣。

必要條件

使用 Azure 入口網站的 Azure RBAC,將受控識別存取權指派給其他資源

重要

以下所述的步驟顯示如何使用 Azure RBAC 來授與服務存取權。 請參閱如何授與存取權的特定服務文件 -例如,請參閱 Azure 資料總管的相關指示。 某些 Azure 服務正在資料平面上採用 Azure RBAC。

  1. 使用與您設定受控識別的 Azure 訂用帳戶相關聯的帳戶,登入 Azure 入口網站

  2. 瀏覽至您要修改其存取控制的資源。 在此範例中,您會為 Azure 虛擬機器 (VM) 提供對儲存體帳戶的存取權,然後您可以瀏覽至儲存體帳戶。

  3. 選取 [存取控制 (IAM)]。

  4. 選取 [新增]> [新增角色指派],開啟 [新增角色指派] 頁面。

  5. 選取 [角色] 與 [受控識別]。 如需詳細步驟,請參閱使用 Azure 入口網站指派 Azure 角色

    螢幕擷取畫面,顯示新增角色指派的頁面。

使用 Azure CLI 以 Azure RBAC 對其他資源指派受控識別存取權

  1. 在此範例中,您會為儲存體帳戶提供 Azure 虛擬機器 (VM) 受控存取權。 首先,使用 az resource list 來取得名為 myVM 的 VM 服務主體:

    spID=$(az resource list -n myVM --query [*].identity.principalId --out tsv)
    

    用於 Azure 虛擬機器 (VM) 擴展集的命令是相同的,不同的是您會取得名為 "DevTestVMSS" 的 VM 服務主體:

    spID=$(az resource list -n DevTestVMSS --query [*].identity.principalId --out tsv)
    
  2. 一旦您有服務主體 ID 後,請使用 az role assignment create 將虛擬機器或虛擬機器擴展集讀者存取權提供給名為 "myStorageAcct" 的儲存體帳戶:

    az role assignment create --assignee $spID --role 'Reader' --scope /subscriptions/<mySubscriptionID>/resourceGroups/<myResourceGroup>/providers/Microsoft.Storage/storageAccounts/myStorageAcct
    

使用 PowerShell 以 Azure RBAC 對其他資源指派受控識別存取權

注意

建議您使用 Azure Az PowerShell 模組來與 Azure 互動。 請參閱安裝 Azure PowerShell 以開始使用。 若要了解如何移轉至 Az PowerShell 模組,請參閱將 Azure PowerShell 從 AzureRM 移轉至 Az

若要在此範例中執行指令碼,您有兩個選項:

  • 使用 Azure Cloud Shell,您可以使用程式碼區塊右上角的 [試用] 按鈕來開啟此服務。
  • 藉由安裝最新版本的 Azure PowerShell,在本機執行指令碼,然後使用 Connect-AzAccount 來登入 Azure。
  1. 您在 Azure 資源 (例如 Azure VM) 上啟用受控識別。

  2. 為 Azure 虛擬機器 (VM) 提供儲存體帳戶的存取權。

    1. 使用 Get-AzVM 取得 VM myVM 的服務主體,這是在您啟用受控識別時所建立的。
    2. 使用 New-AzRoleAssignment 為 VM 提供儲存體帳戶 myStorageAcct存取權:
    $spID = (Get-AzVM -ResourceGroupName myRG -Name myVM).identity.principalid
    New-AzRoleAssignment -ObjectId $spID -RoleDefinitionName "Reader" -Scope "/subscriptions/<mySubscriptionID>/resourceGroups/<myResourceGroup>/providers/Microsoft.Storage/storageAccounts/<myStorageAcct>"
    

下一步