2017-02-09 49 views
0

我正在開發一個與Azure AD Graph交談的Web API以獲取和更新用戶和組信息。因此,我使用Windows PowerShell根據文章https://docs.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-devquickstarts-graph-dotnet實施了服務應用程序/服務主體。將自定義屬性添加到在PowerShell中創建的Azure AD圖形應用程序

我現在想爲我的應用程序添加一些自定義屬性,以便組可以有額外的字段。但是,當我通過其特定的應用程序ID引用它時,我只能在Azure門戶中看到它,並且我無法使用AD圖表RESTful API在https://graph.windows.net/ {mytenant} .onmicrosoft.com/applications或/ {mytenant } .onmicrosoft.com/applications/{objectId}/extensionProperties,因此無法使用相應的POST端點添加任何新的自定義屬性。

將我的服務應用程序與租戶中的其他企業應用程序進行比較,它也沒有在企業應用程序刀片中顯示發佈商。

請任何人都可以建議這是否應該工作,如果是的話,我通過配置丟失了什麼?

感謝

西蒙

+0

你有沒有這個運氣?我也試圖通過Graph API創建用戶。能夠做到這一點,但似乎無法發佈我的任何自定義屬性。 – Raj

+0

嗨@Raj,是的,我沒有得到它來添加一個自定義屬性,雖然還沒有嘗試過用它做任何事情。 – SimonP

回答

2

你看到這裏的問題是由於你跟着教程已經創建服務主體使用AAD PowerShell的,但是你正在尋找的是性能的事實在應用程序對象上。

你可以閱讀更多關於差異here

應用對象

的天青AD申請通過其唯一應用 對象,該對象駐留在天青AD租戶,其中應用程序是 定義註冊,被稱爲應用程序的「家」租戶。對象提供應用程序的身份相關信息,並且 是其對應的服務主體 對象被派生用於在運行時使用的模板。

考慮將應用程序對象作爲您的 應用程序(用於所有租戶)和服務主體 本地表示形式(用於特定租戶)的全局表示形式。 Azure AD圖應用程序實體定義了應用程序對象的模式。 因此,應用程序對象與軟件應用程序具有1:1的關係,並與其對應的服務主體對象具有1:n的關係。

服務主要目的

服務主體對象定義一個 應用程序的策略和權限,安全主體提供了基礎,在運行訪問資源時以表示 應用-時間。 Azure AD ServicePrincipal實體定義服務主體對象的模式。

在Azure AD租戶允許應用程序訪問其所保護的資源的 之前,必須在給定租戶的 中創建服務主體。服務負責人爲Azure AD提供了 的基礎,以確保應用程序能夠訪問該租戶的用戶擁有的資源。單租戶應用程序將只有一個服務 委託人(在其租戶中)。多租戶Web應用程序 在每個租戶中也有一個服務負責人,其中來自該租戶的管理員或 用戶已同意,允許其訪問 其資源。在徵得同意之後,服務主要對象將會被請求以供將來的授權請求使用 。

我的建議是先使用Graph API/Portal UX/PowerShell創建應用程序對象,然後通過更新您創建的應用程序的服務主體來遵循教程。

讓我知道這是否有幫助!

+0

謝謝Shawn的建議。我確實設法得到這個工作。在通過門戶創建應用程序註冊後,我可以根據https://graph.windows.net/{my tenant guid}/applications?從API API REST調用返回的應用程序列表中看到它?api-版本= 1.6。之後,發佈到https://graph.windows.net/{my tenant guid}/applications/my application guid} /extensionProperties?api-version=1.6是一件簡單的事情,並將具有Group範圍的屬性分配給應用。 – SimonP

相關問題