4

我目前正在開發一個多租戶Angular SPA應用程序,該應用程序連接到後端的多個webAPI,並使用AzureAD身份驗證,其中每個AD代表租戶。如何通過Azure AD身份驗證限制多租戶應用程序中的租戶

有關多租戶的Azure文檔指向一個名爲Tailpsin.Surveys的示例應用程序,在遵循頁面上的步驟之後,我可以運行該應用程序。該應用程序與我的場景不同,因爲它是Web應用程序不是SPA。

在此WebApp中,在OpenId middlreware安裝過程中,傳遞了一個OpenIdConnectEvents的實現。 該實施覆蓋TokenValidated方法並阻止之前未通過註冊的租戶。

這就是我試圖在我的應用程序中實現的目標,但這是否意味着每個WebAPI都應該始終檢查頒發者對令牌的聲明以驗證租戶?

這似乎是重複的事情,可能會變成性能問題,我相信。

Azure中是否存在任何配置或其他方式限制您的應用程序訪問一組定義的租戶?

回答

1

據我所知,在Azure Active Directory中沒有這樣的設置。圍繞「租賃」的選擇是多租戶或單租戶。多租戶意味着技術上所有租戶都可以獲得服務的訪問令牌。

對於您的具體情況,我相信您會希望您的服務保留允許調用API的租戶白名單,並檢查該令牌是否有正確的issuertid聲明。您提到您認爲此檢查可能是一個性能問題,但您已經檢查了每個標記,說明aud聲明是正確的,並且該令牌由Azure AD簽署,並檢查令牌中的scope/role聲明的權限,所以檢查額外的索賠應該不會真的增加大量的開銷。

相關問題