保護 Microsoft Entra 識別碼中的受控識別

在本文中,瞭解如何管理秘密和認證,以保護服務之間的通訊。 受控識別會在 Microsoft Entra ID 中提供自動受控識別。 應用程式會使用受控識別來連線到支援 Microsoft Entra 驗證的資源,以及取得 Microsoft Entra 令牌,而不需管理認證。

受控識別的優點

使用受控識別的優點:

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

  • 沒有人,包括 Global 管理員 istrator,可以存取認證,因為程式代碼中不會意外洩漏。

使用受控識別

受控識別最適合支援 Microsoft Entra 驗證的服務之間的通訊。 來源系統會要求存取目標服務。 任何 Azure 資源都可以是來源系統。 例如,Azure 虛擬機 (VM)、Azure 函式實例和 Azure App 服務 實例支援受控識別。

在影片中深入瞭解受控 識別的用途為何?

驗證和授權

使用受控識別時,來源系統會從 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 服務 的應用程式可以從 Azure 儲存體 讀取數據,而使用 Azure Kubernetes Service 的應用程式可以讀取儲存在 Azure 金鑰保存庫 中的秘密。

深入了解:

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

受控識別有兩種類型:系統與使用者指派。

系統指派的受控識別:

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

使用者指派的受控識別

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

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

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

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

Azure 入口網站

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

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

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

    Screenshot of the Managed Identies option under Values, in the Application type column.

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>

  • 請確定受控識別不是特殊許可權群組的一部分,例如系統管理員群組。

    • 若要使用 Microsoft Graph 列舉高度特殊許可權群組的成員:

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

移至受控識別

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

下一步

服務帳戶