管理使用者指派的受控識別

Azure 資源受控識別可以免除以程式碼管理認證的需求。 您可以使用它們來取得應用程式的 Microsoft Entra 令牌。 應用程式可以在存取支援 Microsoft Entra 驗證的資源時使用令牌。 Azure 會管理身分識別,因此您不需要。

有兩種受控識別:系統指派和使用者指派。 系統指派的受控識別生命週期與建立該受控識別的資源密切相關。 使用者指派的受控識別可用於多個資源。 若要深入瞭解受控識別,請參閱 什麼是 Azure 資源的受控識別?

在本文中,您將瞭解如何使用 Azure 入口網站,建立、列出、刪除或指派角色給使用者指派的受控識別。

必要條件

建立使用者指派的受控識別

提示

本文中的步驟可能會根據您從開始的入口網站稍有不同。

若要建立使用者指派的受控識別,您的帳戶需要 受控識別參與者 角色指派。

  1. 登入 Azure 入口網站

  2. 在搜尋方塊中,輸入受控識別。 在 [服務] 底下,選取 [受控識別]。

  3. 選取 [新增],然後在 [建立使用者指派的受控識別] 窗格中的下列方塊中輸入值:

    • 訂閱:選擇要在其下建立使用者使用者指派的受控識別的訂閱。
    • 資源群組:選擇要在 中建立使用者指派的受控識別的資源群組,或選取 [ 新建 ] 以建立新的資源群組。
    • 區域:選擇區域以部署使用者指派的受控識別,例如 美國西部。
    • 名稱:輸入使用者指派受控識別的名稱,例如 UAI1。

    重要

    當您建立使用者指派的受控識別時,名稱必須以字母或數字開頭,而且可能包含英數位元、連字元(-) 和底線的組合(_)。 若要讓虛擬機器或虛擬機器擴展集的指派正常運作,名稱長度上限為 24 個字元。 如需詳細資訊,請參閱 常見問題和已知問題

    顯示 [建立使用者指派的受控識別] 窗格的螢幕快照。

  4. 選取 [ 檢閱 + 建立 ] 以檢閱變更。

  5. 選取 建立

列出使用者指派的受控識別

若要列出或讀取使用者指派的受控識別,您的帳戶必須具有 受控識別操作員受控識別參與者 角色指派。

  1. 登入 Azure 入口網站

  2. 在搜尋方塊中,輸入受控識別。 在 [服務] 底下,選取 [受控識別]。

  3. 會傳回您訂用帳戶的使用者指派受控識別清單。 若要查看使用者指派受控識別的詳細數據,請選取其名稱。

  4. 您現在可以檢視受控識別的詳細數據,如下圖所示。

    顯示使用者指派受控識別清單的螢幕快照。

刪除使用者指派的受控識別

若要刪除使用者指派的受控識別,您的帳戶需要 受控識別參與者 角色指派。

刪除使用者指派的身分識別並不會將它從指派給的 VM 或資源中移除。 若要從 VM 移除使用者指派的身分識別,請參閱 從 VM 移除使用者指派的受控識別。

  1. 登入 Azure 入口網站

  2. 選取使用者指派的受控識別,然後選取 [ 刪除]。

  3. 在確認方塊底下,選取 [ ]。

    顯示刪除使用者指派受控識別的螢幕快照。

管理使用者指派受控識別的存取權

在某些環境中,系統管理員選擇限制誰可以管理使用者指派的受控識別。 管理員 istrators 可以使用內建的 RBAC 角色來實作這項限制。 您可以使用這些角色,授與組織中使用者或群組使用者指派受控識別的許可權。

  1. 登入 Azure 入口網站

  2. 在搜尋方塊中,輸入受控識別。 在 [服務] 底下,選取 [受控識別]。

  3. 會傳回您訂用帳戶的使用者指派受控識別清單。 選取您要管理的使用者指派受控識別。

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

  5. 選擇 [新增角色指派]

    顯示使用者指派受控識別訪問控制畫面的螢幕快照。

  6. 在 [ 新增角色指派 ] 窗格中,選擇要指派的角色,然後選擇 [ 下一步]。

  7. 選擇應指派角色的人員。

注意

您可以在使用 Azure 入口網站 將受控識別存取權指派給資源中找到將角色指派給受控識別的資訊

在本文中,您將瞭解如何使用 Azure CLI 建立、列出、刪除或指派角色給使用者指派的受控識別。

必要條件

重要

若要在使用 CLI 使用應用程式服務主體時修改用戶權力,您必須在 Azure Active Directory Graph API 中提供更多許可權的服務主體,因為 CLI 的部分會對圖形 API 執行 GET 要求。 否則,您最終可能會收到「許可權不足而無法完成作業」訊息。 若要執行此步驟,請移至 Microsoft Entra ID 中的應用程式註冊 、選取您的應用程式、選取 API 許可權,然後向下捲動並選取 [Azure Active Directory Graph]。 從該處選取 [ 應用程式許可權],然後新增適當的許可權。

建立使用者指派的受控識別

若要建立使用者指派的受控識別,您的帳戶需要 受控識別參與者 角色指派。

使用 az identity create 命令來建立使用者指派的受控識別。 參數 -g 會指定要在其中建立使用者指派受控識別的資源群組。 參數 -n 會指定其名稱。 將 <RESOURCE GROUP><USER ASSIGNED IDENTITY NAME> 參數值取代為您自己的值。

重要

當您建立使用者指派的受控識別時,名稱必須以字母或數字開頭,而且可能包含英數位元、連字元(-) 和底線的組合(_)。 若要讓虛擬機器或虛擬機器擴展集的指派正常運作,名稱長度上限為 24 個字元。 如需詳細資訊,請參閱 常見問題和已知問題

az identity create -g <RESOURCE GROUP> -n <USER ASSIGNED IDENTITY NAME>

列出使用者指派的受控識別

若要列出或讀取使用者指派的受控識別,您的帳戶需要 受控識別操作員受控識別參與者 角色指派。

若要列出使用者指派的受控識別,請使用 az identity list 命令。 將 <RESOURCE GROUP> 值取代為您自己的值。

az identity list -g <RESOURCE GROUP>

在 JSON 回應中,使用者指派的受控識別會 "Microsoft.ManagedIdentity/userAssignedIdentities" 傳回索引鍵 type的值。

"type": "Microsoft.ManagedIdentity/userAssignedIdentities"

刪除使用者指派的受控識別

若要刪除使用者指派的受控識別,您的帳戶需要 受控識別參與者 角色指派。

若要刪除使用者指派的受控識別,請使用 az identity delete 命令。 -n 參數會指定其名稱。 -g 參數會指定建立使用者指派受控識別的資源群組。 將 <USER ASSIGNED IDENTITY NAME><RESOURCE GROUP> 參數值取代為您自己的值。

az identity delete -n <USER ASSIGNED IDENTITY NAME> -g <RESOURCE GROUP>

注意

刪除使用者指派的受控識別並不會從指派給的任何資源中移除參考。 使用 az vm/vmss identity remove 命令,從 VM 或虛擬機擴展集移除這些擴展集。

下一步

如需 Azure CLI 身分識別命令的完整清單,請參閱 az identity

如需如何將使用者指派的受控識別指派給 Azure VM 的資訊,請參閱 使用 Azure CLI 為 Azure VM 上的 Azure 資源設定受控識別。

瞭解如何使用 受控識別 的工作負載身分識別同盟來存取 Microsoft Entra 受保護的資源,而不需管理秘密。

在本文中,您將瞭解如何使用PowerShell建立、列出、刪除或指派角色給使用者指派的受控識別。

必要條件

在本文中,您將瞭解如何使用PowerShell建立、列出和刪除使用者指派的受控識別。

在本機設定 Azure PowerShell

若要針對本文在本機使用 Azure PowerShell,而不是使用 Cloud Shell:

  1. 如果您尚未安裝最新版的 Azure PowerShell,請先安裝。

  2. 登入Azure。

    Connect-AzAccount
    
  3. 安裝最新版的 PowerShellGet

    Install-Module -Name PowerShellGet -AllowPrerelease
    

    執行此命令以進行下一個步驟之後,您可能需要 Exit 離開目前的 PowerShell 工作階段。

  4. 安裝模組的 Az.ManagedServiceIdentity 發行前版本,以執行本文中使用者指派的受控識別作業。

    Install-Module -Name Az.ManagedServiceIdentity -AllowPrerelease
    

建立使用者指派的受控識別

若要建立使用者指派的受控識別,您的帳戶需要 受控識別參與者 角色指派。

若要建立使用者指派的受控識別,請使用 New-AzUserAssignedIdentity 命令。 參數 ResourceGroupName 會指定要在其中建立使用者指派受控識別的資源群組。 參數 -Name 會指定其名稱。 將 <RESOURCE GROUP><USER ASSIGNED IDENTITY NAME> 參數值取代為您自己的值。

重要

當您建立使用者指派的受控識別時,名稱必須以字母或數字開頭,而且可能包含英數位元、連字元(-) 和底線的組合(_)。 若要讓虛擬機器或虛擬機器擴展集的指派正常運作,名稱長度上限為 24 個字元。 如需詳細資訊,請參閱 常見問題和已知問題

New-AzUserAssignedIdentity -ResourceGroupName <RESOURCEGROUP> -Name <USER ASSIGNED IDENTITY NAME>

列出使用者指派的受控識別

若要列出或讀取使用者指派的受控識別,您的帳戶需要 受控識別操作員受控識別參與者 角色指派。

若要列出使用者指派的受控識別,請使用 [Get-AzUserAssigned] 命令。 參數 -ResourceGroupName 會指定建立使用者指派受控識別的資源群組。 將 <RESOURCE GROUP> 值取代為您自己的值。

Get-AzUserAssignedIdentity -ResourceGroupName <RESOURCE GROUP>

在回應中,使用者指派的受控識別會 "Microsoft.ManagedIdentity/userAssignedIdentities" 傳回索引鍵 Type的值。

Type :Microsoft.ManagedIdentity/userAssignedIdentities

刪除使用者指派的受控識別

若要刪除使用者指派的受控識別,您的帳戶需要 受控識別參與者 角色指派。

若要刪除使用者指派的受控識別,請使用 Remove-AzUserAssignedIdentity 命令。 參數 -ResourceGroupName 會指定建立使用者指派身分識別的資源群組。 參數 -Name 會指定其名稱。 <RESOURCE GROUP>將和 <USER ASSIGNED IDENTITY NAME> 參數值取代為您自己的值。

Remove-AzUserAssignedIdentity -ResourceGroupName <RESOURCE GROUP> -Name <USER ASSIGNED IDENTITY NAME>

注意

刪除使用者指派的受控識別並不會從指派給的任何資源中移除參考。 必須個別移除身分識別指派。

下一步

如需 Azure 資源命令之 Azure PowerShell 受控識別的完整清單和詳細數據,請參閱 Az.ManagedServiceIdentity

瞭解如何使用 受控識別 的工作負載身分識別同盟來存取 Microsoft Entra 受保護的資源,而不需管理秘密。

在本文中,您會使用 Azure Resource Manager 建立使用者指派的受控識別。

必要條件

您無法使用 Resource Manager 樣本列出和刪除使用者指派的受控識別。 請參閱下列文章,以建立及列出使用者指派的受控識別:

範本建立和編輯

Resource Manager 樣本可協助您部署 Azure 資源群組所定義的新或修改資源。 有數個選項可供範本編輯和部署,同時以本機和入口網站為基礎。 您可以:

建立使用者指派的受控識別

若要建立使用者指派的受控識別,您的帳戶需要 受控識別參與者 角色指派。

若要建立使用者指派的受控識別,請使用下列範本。 將 <USER ASSIGNED IDENTITY NAME> 值取代為您自己的值。

重要

當您建立使用者指派的受控識別時,名稱必須以字母或數字開頭,而且可能包含英數位元、連字元(-) 和底線的組合(_)。 若要讓虛擬機器或虛擬機器擴展集的指派正常運作,名稱長度上限為 24 個字元。 如需詳細資訊,請參閱 常見問題和已知問題

{
  "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "resourceName": {
          "type": "string",
          "metadata": {
            "description": "<USER ASSIGNED IDENTITY NAME>"
          }
        }
  },
  "resources": [
    {
      "type": "Microsoft.ManagedIdentity/userAssignedIdentities",
      "name": "[parameters('resourceName')]",
      "apiVersion": "2018-11-30",
      "location": "[resourceGroup().location]"
    }
  ],
  "outputs": {
      "identityName": {
          "type": "string",
          "value": "[parameters('resourceName')]"
      }
  }
}

下一步

若要使用 Resource Manager 範本將使用者指派的受控識別指派給 Azure VM,請參閱 使用範本為 Azure VM 上的 Azure 資源設定受控識別。

瞭解如何使用 受控識別 的工作負載身分識別同盟來存取 Microsoft Entra 受保護的資源,而不需管理秘密。

在本文中,您將瞭解如何使用 REST 建立、列出和刪除使用者指派的受控識別。

必要條件

在本文中,您將瞭解如何使用 CURL 進行 REST API 呼叫來建立、列出和刪除使用者指派的受控識別。

取得持有人存取令牌

  1. 如果您是在本機執行,請透過 Azure CLI 登入 Azure。

    az login
    
  2. 使用 az account get-access-token 取得存取令牌

    az account get-access-token
    

建立使用者指派的受控識別

若要建立使用者指派的受控識別,您的帳戶需要 受控識別參與者 角色指派。

重要

當您建立使用者指派的受控識別時,名稱必須以字母或數字開頭,而且可能包含英數位元、連字元(-) 和底線的組合(_)。 若要讓虛擬機器或虛擬機器擴展集的指派正常運作,名稱長度上限為 24 個字元。 如需詳細資訊,請參閱 常見問題和已知問題

curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroup
s/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>?api-version=2015-08-31-preview' -X PUT -d '{"loc
ation": "<LOCATION>"}' -H "Content-Type: application/json" -H "Authorization: Bearer <ACCESS TOKEN>"
PUT https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroup
s/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>?api-version=2015-08-31-preview HTTP/1.1

要求標頭

要求標頭 描述
Content-Type 必要。 設定為 application/json
授權 必要。 設定為有效的 Bearer 存取令牌。

要求本文

名稱 描述
Location 必要。 資源位置。

列出使用者指派的受控識別

若要列出或讀取使用者指派的受控識別,您的帳戶需要 受控識別操作員受控識別參與者 角色指派。

curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities?api-version=2015-08-31-preview' -H "Authorization: Bearer <ACCESS TOKEN>"
GET https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities?api-version=2015-08-31-preview HTTP/1.1
要求標頭 描述
Content-Type 必要。 設定為 application/json
授權 必要。 設定為有效的 Bearer 存取令牌。

刪除使用者指派的受控識別

若要刪除使用者指派的受控識別,您的帳戶需要 受控識別參與者 角色指派。

注意

刪除使用者指派的受控識別並不會從指派給的任何資源中移除參考。 若要使用 CURL 從 VM 移除使用者指派的受控識別,請參閱 從 Azure VM 移除使用者指派的身分識別。

curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroup
s/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>?api-version=2015-08-31-preview' -X DELETE -H "Authorization: Bearer <ACCESS TOKEN>"
DELETE https://management.azure.com/subscriptions/80c696ff-5efa-4909-a64d-f1b616f423ca/resourceGroups/TestRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>?api-version=2015-08-31-preview HTTP/1.1
要求標頭 描述
Content-Type 必要。 設定為 application/json
授權 必要。 設定為有效的 Bearer 存取令牌。

下一步

如需如何使用 CURL 將使用者指派的受控識別指派給 Azure VM 或虛擬機擴展集的詳細資訊,請參閱:

瞭解如何使用 受控識別 的工作負載身分識別同盟來存取 Microsoft Entra 受保護的資源,而不需管理秘密。