2017-08-09 45 views
0

我們有一個多租戶ASP.NET MVC應用程序* .foo.com在Azure中託管。我們也爲此設置了許可。以下是我想要實現的內容:在Azure中繞過基於角色的AAD訪問?

  1. 只要分配給我們定義的角色,允許外部租戶的用戶登錄。
  2. 允許'foo'的所有員工都登錄而不考慮角色分配,因爲我們不想爲每個人分配一個角色。

有誰知道上述要求是否可以使用單一的aad應用程序滿足? 我能想到的唯一其他選擇是擁有2個應用程序,其中第一個應用程序是針對外部用戶和角色的多租戶應用程序,而第二個應用程序則是針對內部用戶的單個租戶應用程序。

任何幫助表示讚賞!

謝謝

回答

1

您可以使用一個多租戶應用程序來實現您的兩個要求。

要求1:在來自不同租戶的用戶同意該應用程序後,在用戶的租戶中創建一個稱爲服務主體的應用程序的表示,您可以在Enterprise applications找到所配置的應用程序。然後管理員可以將角色分配給外部租戶中的用戶: 單擊Users選項卡。選擇任何用戶並將該用戶分配給應用程序角色。

要求2:如果您將User assignment required?設置爲false,則當前租戶中的任何人都可以默認訪問該應用程序。您可以在Enterprise applications - >您的應用程序 - >Properties中找到該設置。

+0

不幸的是,要求2中的指示不適用於我。我已經將用戶分配設置爲false。但是當我運行該應用程序時,出現以下錯誤:'AADSTS50105:登錄的用戶未分配給應用程序的角色。有趣的是,如果我從另一個租戶登錄,該應用程序工作正常。是否需要「用戶分配?」爲內部和外部租戶工作? – AgentHunt

+0

不,內部和外部租戶的申請有其自己的設置(獨立設置)。管理員應在其租戶中設置該應用程序的「需要用戶分配」。因此,您可以將「需要用戶分配」設置爲false,並且其他租戶的管理員應該根據需要設置價值基礎。 –

+0

嗯。那麼這是否意味着,如果外部租戶的管理員將「需要用戶分配」設置爲false,則這些租戶的所有員工都可以登錄到我的應用程序?有沒有辦法阻止沒有任何角色集的其他租戶的用戶? – AgentHunt