管理使用者指派的受控識別
Azure 資源受控識別可以免除以程式碼管理認證的需求。 您可以使用受控識別來取得應用程式的 Microsoft Entra 權杖。 應用程式可以在存取可支援 Microsoft Entra 驗證的資源時使用權杖。 Azure 會管理身分識別,因此您不需要管理。
有兩種受控識別:系統指派和使用者指派。 系統指派的受控識別生命週期與建立該受控識別的資源密切相關。 此身分識別僅限於一個資源,而且您可以使用 Azure 角色型存取控制 (RBAC) 將許可權授與受控識別。 使用者指派的受控識別則可用於多個資源。 若要深入了解受控識別,請參閱什麼是 Azure 資源受控識別?。
在本文中,您會了解如何使用 Azure 入口網站對使用者指派的受控識別建立、列出、刪除或指派角色。
必要條件
- 如果您不熟悉 Azure 資源的受控識別,請參閱概觀一節。 請務必檢閱系統指派和使用者指派受控識別之間的差異。
- 如果您還沒有 Azure 帳戶,請先註冊免費帳戶,再繼續進行。
建立使用者指派的受控識別
提示
根據您開始使用的入口網站,本文中的步驟可能略有不同。
若要建立使用者指派的受控識別,您的帳戶需要受控識別參與者角色指派。
登入 Azure 入口網站。
在搜尋方塊中,輸入受控識別。 在 [服務] 底下,選取 [受控識別]。
選取 [新增],然後在 [建立使用者指派的受控識別] 窗格的方塊中輸入值,如下所示:
- 訂閱:選擇要在其下建立使用者使用者指派的受控識別的訂閱。
- 資源群組:選擇資源群組,以在其中建立使用者指派的受控識別,或選取 [新建] 建立新的資源群組。
- 區域:選擇區域以部署使用者指派的受控識別,例如美國西部。
- 名稱:輸入名稱以用於使用者指派的受控識別,例如 UAI1。
重要
建立使用者指派的受控識別時,名稱必須以字母或數字開頭,並且包含英數字元、連字號 (-) 和底線 (_) 的組合。 若要讓虛擬機器或虛擬機器擴展集的指派正常運作,名稱長度上限為 24 個字元。 如需詳細資訊,請參閱常見問題集和已知問題。
選取 [檢閱 + 建立] 來檢閱變更項目。
選取 建立。
列出使用者指派的受控識別
若要列出或讀取使用者指派的受控身分識別,您的帳戶需要具有受控身分識別操作員或受控身分識別參與者角色指派。
登入 Azure 入口網站。
在搜尋方塊中,輸入受控識別。 在 [服務] 底下,選取 [受控識別]。
此時會針對訂用帳戶傳回使用者指派的受控識別清單。 若要查看使用者指派的受控識別詳細資料,請選取其名稱。
您現在可以檢視受控識別的詳細資料,如下圖所示。
刪除使用者指派的受控識別
若要刪除使用者指派的受控識別,您的帳戶需要受控識別參與者角色指派。
刪除使用者指派的身分識別不會將其從所指派的 VM 或資源中移除。 若要從 VM (虛擬機器) 移除使用者指派的身分識別,請參閱從虛擬機器移除使用者指派的受控識別。
登入 Azure 入口網站。
選取使用者指派的受控識別,然後按一下 [刪除]。
在確認方塊底下,選取 [是]。
管理使用者指派的受控身分識別的存取
在某些環境中,管理員會選擇限制誰可以管理使用者指派的受控身分識別。 系統管理員可以使用內建的 RBAC 角色來實作這項限制。 您可以使用這些角色,將使用者指派的受控身分識別的權限授與您組織中的使用者或群組。
登入 Azure 入口網站。
在搜尋方塊中,輸入受控識別。 在 [服務] 底下,選取 [受控識別]。
此時會針對訂用帳戶傳回使用者指派的受控識別清單。 選取您想要管理的使用者指派的受控身分識別。
選取 [存取控制 (IAM)]。
選擇 [新增角色指派]。
在 [新增角色指派] 窗格中,選擇要指派的角色,然後選擇 [下一步]。
選擇應該已指派角色的人員。
注意
您可以在使用 Azure 入口網站將資源存取權指派受控身分識別中找到將角色指派給受控身分識別的資訊
在本文中,您會了解如何使用 Azure CLI 對使用者指派的受控識別建立、列出、刪除或指派角色。
必要條件
- 如果您不熟悉 Azure 資源的受控識別,請參閱概觀一節。 請務必檢閱系統指派和使用者指派受控識別之間的差異。
- 如果您還沒有 Azure 帳戶,請先註冊免費帳戶,再繼續進行。
在 Azure Cloud Shell 中使用 Bash 環境。 如需詳細資訊,請參閱 Azure Cloud Shell 中的 Bash 快速入門。
若要在本地執行 CLI 參考命令,請安裝 Azure CLI。 若您在 Windows 或 macOS 上執行,請考慮在 Docker 容器中執行 Azure CLI。 如需詳細資訊,請參閱〈如何在 Docker 容器中執行 Azure CLI〉。
如果您使用的是本機安裝,請使用 az login 命令,透過 Azure CLI 來登入。 請遵循您終端機上顯示的步驟,完成驗證程序。 如需其他登入選項,請參閱使用 Azure CLI 登入。
出現提示時,請在第一次使用時安裝 Azure CLI 延伸模組。 如需擴充功能詳細資訊,請參閱使用 Azure CLI 擴充功能。
執行 az version 以尋找已安裝的版本和相依程式庫。 若要升級至最新版本,請執行 az upgrade。
重要
若要在使用應用程式服務主體時,使用 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 對使用者指派的受控識別建立、列出、刪除或指派角色。
必要條件
- 如果您不熟悉 Azure 資源的受控識別,請參閱概觀一節。 請務必檢閱系統指派和使用者指派受控識別之間的差異。
- 如果您還沒有 Azure 帳戶,請先註冊免費帳戶,再繼續進行。
- 若要執行範例指令碼,您有兩個選項:
- 使用 Azure Cloud Shell,您可以使用程式碼區塊右上角的 [試試看] 按鈕開啟。
- 使用 Azure PowerShell 在本機執行指令碼,如下一節所述。
在本文中,您會了解如何使用 PowerShell 建立、列出和刪除使用者指派的受控識別。
在本機設定 Azure PowerShell
若要針對本文在本機使用 Azure PowerShell,而不是使用 Cloud Shell:
如果您尚未安裝最新版的 Azure PowerShell,請先安裝。
登入Azure。
Connect-AzAccount
-
Install-Module -Name PowerShellGet -AllowPrerelease
您執行此命令之後,您可能必須執行
Exit
離開目前的 PowerShell 工作階段,才能繼續下一個步驟。 安裝發行前版本的
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 建立使用者指派的受控識別。
必要條件
- 如果您不熟悉 Azure 資源的受控識別,請參閱概觀一節。 請務必檢閱系統指派和使用者指派受控識別之間的差異。
- 如果您還沒有 Azure 帳戶,請先註冊免費帳戶,再繼續進行。
您無法使用 Resource Manager 範本列出和刪除使用者指派的受控識別。 請參閱下列文章,以建立及列出使用者指派的受控識別:
範本建立和編輯
Resource Manager 範本可協助您部署 Azure 資源群組所定義的全新或已修改資源。 範本編輯和部署有幾個選項可用,在本機和在入口網站皆有。 您可以:
- 使用 Azure Marketplace 的自訂範本,從頭開始建立範本,或以現有的通用或快速入門範本為基礎來建立範本。
- 匯出範本,以從現有資源群組衍生。 您可以從原始部署或從部署的目前狀態將其匯出。
- 使用本機的 JSON 編輯器 (例如 VS Code),然後使用 PowerShell 或 Azure CLI 上傳和部署。
- 使用 Visual Studio 的 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 建立、列出和刪除使用者指派的受控識別。
必要條件
- 如果您不熟悉 Azure 資源的受控識別,請參閱概觀一節。 請務必檢閱系統指派和使用者指派受控識別之間的差異。
- 如果您還沒有 Azure 帳戶,請先註冊免費帳戶,再繼續進行。
- 您可以在雲端或本機上執行本文中的所有命令:
- 若要在雲端中執行,請使用 Azure Cloud Shell。
- 若要在本機執行,請安裝 DURL 和 Azure CLI。
在本文中,您會了解如何使用 CURL 進行 REST API 呼叫,建立、列出和刪除使用者指派的識別。
取得持有人存取權杖
如果您在本機執行,請透過 Azure CLI 登入 Azure。
az login
使用 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 受保護的資源,而不需要管理密碼。