針對 Azure Spring Apps 中的應用程式使用受控識別
注意
基本、標準和企業方案將從 2025 年 3 月中旬開始淘汰,並停用 3 年。 建議您轉換至 Azure Container Apps。 如需詳細資訊,請參閱 Azure Spring Apps 淘汰公告。
標準 耗用量和專用 方案將從 2024 年 9 月 30 日起淘汰,並在六個月後完成關閉。 建議您轉換至 Azure Container Apps。 如需詳細資訊,請參閱 將 Azure Spring Apps 標準取用和專用方案遷移至 Azure Container Apps。
本文適用於:✅ 基本/標準 ✅ 企業
本文說明如何針對 Azure Spring Apps 中的應用程式使用系統指派和使用者指派的受控識別。
適用於 Azure 資源的受控識別會將 Microsoft Entra ID 中的自動受控識別提供給 Azure 資源,例如 Azure Spring Apps 中的應用程式。 您可以使用此身分識別來向任何支援 Microsoft Entra 驗證的服務進行驗證,不需要任何您程式碼中的認證。
功能狀態
系統指派 | 使用者指派 |
---|---|
GA | GA |
管理應用程式的受控識別
如需系統指派的受控識別,請參閱 如何啟用和停用系統指派的受控識別。
如需使用者指派的受控識別,請參閱 如何指派和移除使用者指派的受控識別。
取得 Azure 資源的令牌
應用程式可以使用其受控識別來取得令牌,以存取受 Microsoft Entra 識別符保護的其他資源,例如 Azure 金鑰保存庫。 這些令牌代表存取資源的應用程式,而不是應用程式的任何特定使用者。
您可以設定目標資源,以啟用從應用程式存取。 如需詳細資訊,請參閱 將受控識別存取權指派給 Azure 資源或其他資源。 例如,如果您要求令牌來存取 金鑰保存庫,請確定您已新增包含應用程式身分識別的存取原則。 否則,即使您包含令牌,對 金鑰保存庫的呼叫也會遭到拒絕。 若要深入瞭解哪些資源支援 Microsoft Entra 權杖,請參閱支援 Microsoft Entra 驗證的 Azure 服務。
Azure Spring Apps 會與 Azure 虛擬機器 共用相同的端點來取得令牌。 我們建議使用 Java SDK 或 Spring Boot 入門來取得令牌。 如需各種程式代碼和腳本範例,以及處理令牌到期和 HTTP 錯誤等重要主題的指引,請參閱 如何在 Azure VM 上使用 Azure 資源的受控識別來取得存取令牌。
在應用程式程式代碼中連接 Azure 服務的範例
下表提供包含範例的文章連結:
Azure 服務 | 教學課程 |
---|---|
金鑰保存庫 | 教學課程:使用受控識別將 金鑰保存庫 連線至 Azure Spring Apps 應用程式 |
Azure Functions | 教學課程:使用受控識別從 Azure Spring Apps 應用程式叫用 Azure Functions |
Azure SQL | 使用受控識別將 Azure SQL 資料庫 連線到 Azure Spring Apps 應用程式 |
使用受控識別時的最佳做法
強烈建議您分開使用系統指派和使用者指派的受控識別,除非您有有效的使用案例。 如果您使用這兩種受控識別,如果應用程式使用系統指派的受控識別,且應用程式取得令牌而不指定該身分識別的用戶端標識符,則可能會發生失敗。 在將一或多個使用者指派的受控識別指派給該應用程式之前,此案例可能會正常運作,否則應用程式可能無法取得正確的令牌。
限制
每個應用程式的使用者指派受控識別數目上限
如需每個應用程式使用者指派的受控識別數目上限,請參閱 Azure Spring Apps 的配額和服務方案。
概念對應
下表顯示受控識別範圍與 Microsoft Entra 範圍中概念之間的對應:
受控識別範圍 | Microsoft Entra 範圍 |
---|---|
主體識別碼 | 物件識別碼 |
Client ID | 應用程式識別碼 |