共用方式為


在 Microsoft Entra ID 中保護受控識別

在本文中,了解如何管理祕密和認證,以保護服務之間的通訊。 受控識別會在 Microsoft Entra ID 中提供自動受控識別。 應用程式會使用受控識別來在無需認證管理的情況下連線到支援 Microsoft Entra 驗證的資源,以及取得 Microsoft Entra 權杖。

受控識別的優點

使用受控識別的優點:

  • 使用受控識別時,認證會完全受到 Azure 的管理、輪替和保護。 會搭配 Azure 資源提供和刪除身分識別。 受控識別可讓 Azure 資源與支援 Microsoft Entra 驗證的所有服務進行通訊。

  • 沒有任何人 (包括那些獲指派特殊權限的角色) 可以存取認證,其不會因為包括在程式碼中而意外洩漏。

使用受控識別

受控識別最適合用來在支援 Microsoft Entra 驗證的服務之間進行通訊。 來源系統要求存取目標服務。 任何 Azure 資源都可以是來源系統。 例如,Azure 虛擬機器 (VM)、Azure Function 執行個體和 Azure 應用程式服務執行個體都支援受控識別。

在下列影片中深入了解:受控識別有什麼用途?(英文)

驗證與授權

使用受控識別時,來源系統能在沒有擁有者認證管理的情況下從 Microsoft Entra ID 取得權杖。 Azure 會管理認證。 來源系統所取得的權杖會呈現給目標系統以進行驗證。

目標系統會驗證並授權來源系統以允許存取。 如果目標服務支援 Microsoft Entra 驗證,其會接受由 Microsoft Entra ID 所簽發的存取權杖。

Azure 具有控制平面和資料平面。 您可以在控制平面中建立資源,並在資料平面中加以存取。 例如,您在控制平面中建立 Azure Cosmos DB 資料庫,但在資料平面中進行查詢。

一旦目標系統接受權杖以進行驗證,其就可以支援機制來針對其控制平面和資料平面進行授權。

Azure 控制平面作業是由 Azure Resource Manager 管理,並使用 Azure 角色型存取控制 (Azure RBAC)。 在資料平面中,目標系統具有授權機制。 Azure 儲存體支援資料平面上的 Azure RBAC。 例如,使用 Azure App Service 的應用程式可以從 Azure 儲存體讀取資料,而使用 Azure Kubernetes Service 的應用程式可以讀取 Azure Key Vault 中儲存的秘密。

深入了解:

系統指派和使用者指派的受控識別

一共有兩種類型的受控識別:系統指派和使用者指派。

系統指派的受控識別:

  • 與 Azure 資源的一對一關聯性
    • 例如,每一部 VM 都有一個相關聯的唯一受控識別
  • 繫結至 Azure 資源生命週期。 刪除資源時,會自動刪除與其相關聯的受控識別。
  • 此動作可消除孤立帳戶的風險

使用者指派的受控識別

  • 生命週期與 Azure 資源無關。 您負責管理生命週期。
    • 刪除 Azure 資源時,系統不會自動刪除所指派的使用者指派的受控識別
  • 將使用者指派的受控識別指派給零或多個 Azure 資源
  • 事先建立身分識別,稍後再將其指派給資源

在 Microsoft Entra ID 中尋找受控識別服務主體

若要尋找受控識別,您可以使用:

  • Azure 入口網站中的 [企業應用程式] 頁面
  • Microsoft Graph

Azure 入口網站

  1. 在 Azure 入口網站的左側導覽中,選取 [Microsoft Entra ID]

  2. 在左側導覽中,選取 [企業應用程式]

  3. 在 [應用程式類型] 欄的 [值] 底下,選取向下箭號以選取 [受控識別]

    [應用程式類型] 欄中 [值] 底下的 [受控識別] 選項的螢幕擷取畫面。

Microsoft Graph

針對 Microsoft Graph 使用下列 GET 要求來取得您租用戶中受控識別的清單。

https://graph.microsoft.com/v1.0/servicePrincipals?$filter=(servicePrincipalType eq 'ManagedIdentity')

您可以篩選這些要求。 如需詳細資訊,請參閱 GET servicePrincipal (英文)。

評定受控識別安全性

評定受控識別安全性:

  • 檢查權限以確定已選取最低權限模型

    • 使用下列 Microsoft Graph Cmdlet 來取得指派給受控識別的權限:

    Get-MgServicePrincipalAppRoleAssignment -ServicePrincipalId <String>

  • 確定受控識別不是具特殊權限群組 (例如 Administrators 群組) 的一部分。

    • 使用 Microsoft Graph 列舉高權限群組的成員:

    Get-MgGroupMember -GroupId <String> [-All <Boolean>] [-Top <Int32>] [<CommonParameters>]

移至受控識別

如果您使用服務主體或 Microsoft Entra 使用者帳戶,請評估對受控識別的使用。 您可以消除保護、輪替和管理認證的需求。

下一步

服務帳戶