共用方式為


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

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

有兩種受控識別:系統指派和使用者指派。 系統指派的受控識別生命週期與建立該受控識別的資源密切相關。 此身分識別僅限於一個資源,而且您可以使用 Azure 角色型存取控制 (RBAC) 將許可權授與受控識別。 使用者指派的受控識別則可用於多個資源。 若要深入了解受控識別,請參閱什麼是 Azure 資源受控識別?

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

必要條件

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

提示

根據您開始使用的入口網站,本文中的步驟可能略有不同。

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

  1. 登入 Azure 入口網站

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

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

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

    重要

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

    顯示 [建立使用者指派的受控識別] 窗格的螢幕擷取畫面。

  4. 選取 [檢閱 + 建立] 來檢閱變更項目。

  5. 選取 建立

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

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

  1. 登入 Azure 入口網站

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

  3. 此時會針對訂用帳戶傳回使用者指派的受控識別清單。 若要查看使用者指派的受控識別詳細資料,請選取其名稱。

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

    顯示使用者指派的受控識別清單的螢幕擷取畫面。

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

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

刪除使用者指派的身分識別不會將其從所指派的 VM 或資源中移除。 若要從 VM (虛擬機器) 移除使用者指派的身分識別,請參閱從虛擬機器移除使用者指派的受控識別

  1. 登入 Azure 入口網站

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

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

    顯示刪除使用者指派的受控識別的螢幕擷取畫面。

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

在某些環境中,管理員會選擇限制誰可以管理使用者指派的受控身分識別。 系統管理員可以使用內建的 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 回應中,使用者指派的受控識別具有傳回給索引鍵 type"Microsoft.ManagedIdentity/userAssignedIdentities" 值。

"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>

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

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 PowerShell Azure 資源受控識別命令的完整清單和更多詳細資料,請參閱 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/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/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 受保護的資源,而不需要管理密碼。