簡體   English   中英

Azure API 管理 + Azure 函數和托管標識

[英]Azure API Management + Azure Function and managed identity

我正在嘗試使用托管標識從 API 管理實例調用 Azure 函數。 我已經為我的 APIM 實例設置了系統管理標識。 我已在 Azure Function App 上向此身份授予貢獻者角色。 我還將應用服務身份驗證更改為 AD。

現在我正在嘗試從 API 調用該函數。

我有兩個問題:

  1. 第一個:當我使用身份驗證管理身份策略獲取令牌時,我在使用受眾https://myfunctionapp.azurewebsites.net時出現錯誤。 AD 告訴我這個應用程序沒有在租戶中注冊
  2. 第二:如果我為https://management.azure.com檢索令牌,我得到了一個令牌,但我收到了來自 Azure 函數的 401 Unauthorized 錯誤。

也許我只是想在錯誤的受眾上獲取令牌,但不幸的是,文檔中沒有列出函數的受眾(例如,對於服務總線,有一個通用的 URI 可供使用,也用於 KeyVault,...) .

我想我可能錯過了圖片中的某些內容...謝謝。

您需要使用authentication-managed-identity策略通過 API 管理服務的托管身份向后端服務進行身份驗證。

https://docs.microsoft.com/en-us/azure/api-management/api-management-authentication-policies#ManagedIdentity

編輯

1-在 Azure AD 上的 APIM 應用程序中,獲取為企業應用程序分配的應用程序 ID。

2-然后轉到 Azure Function App 中的平台功能,然后單擊身份驗證/授權。

3-選擇Azure Active Directory作為身份驗證提供者,管理模式為“express”。

4-返回到身份驗證管理身份策略,將步驟 1 中的應用程序 ID 設置為資源。

您需要在 apim 所需資源中添加 url。 如果您打算使用委托流。 要檢查問題是否與 url 注冊有關,您可以改用 AppId。 這至少會告訴您是否可以檢索令牌。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM