Как работать с расширениями схемы Azure Active Directory в мультитенантном сценарии - PullRequest
0 голосов
/ 04 марта 2019

Я хочу использовать расширение схемы Azure AD для расширения одного свойства. Я успешно создал расширение схемы с идентификатором "myverifiedaaddomain_extensionid".

Расширение схемы:

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#schemaExtensions/$entity",
    "id": "myverifiedaaddomain_extensionid",
    "description": "myverifiedaaddomain_extensionid",
    "targetTypes": [
        "User"
    ],
    "status": "InDevelopment",
    "owner": "owner",
    "properties": [
        {
            "name": "isExtended",
            "type": "Boolean"
        }
    ]
}

ПРИМЕЧАНИЕ. В сценарии с одним арендатором все работает отлично.


Сценарий мультитенанта:

Сценарий -

  1. У меня есть хост-клиент T1
  2. Зарегистрированный мультитенант AAD AAP A1 (вT1 со всеми необходимыми разрешениями)
  3. Я хочу использовать встроенного арендатора T2
  4. Зарегистрировать расширение схемы на T2 после успешной адаптации

Когда яна борту T2 все расширения схемы из T1, владельцем которых является A1 get, импортируются в каталог T2 без каких-либо уведомлений или подсказок.

Так что в настоящее время он работает и в мультитенантном сценарии, но я неуверен в том, что все расширения схемы будут экспортированы в партнерский арендатор (T2), это ожидаемое поведение или ошибка? Здесь нет ясной документации https://docs.microsoft.com/en-us/graph/extensibility-overview или https://docs.microsoft.com/en-us/graph/api/resources/schemaextension?view=graph-rest-1.0

Кроме этого нет четкой документации по разрешениям , например: https://docs.microsoft.com/en-us/graph/extensibility-overview#permissions Они упомянули, что для чтения / обновления расширенных данных вам нужны все разрешения, упомянутые на этой странице разрешений ресурса.Для ресурса User нам понадобятся все разрешения, указанные здесь https://docs.microsoft.com/en-us/graph/api/user-get?view=graph-rest-1.0#permissions

Это не работает, Я не могу читать расширенные данные через другие приложения AAD (A2, A3и т. д.) , который имеет все разрешения, указанные на странице выше (https://docs.microsoft.com/en-us/graph/api/user-get?view=graph-rest-1.0#permissions).

1 Ответ

0 голосов
/ 12 марта 2019

Извините за некоторые проблемы, с которыми вы сталкиваетесь здесь.Просто чтобы проверить дважды - использовали ли вы расширения схемы каталогов Azure AD в прошлом?Я спрашиваю, потому что, похоже, у вас есть некоторые предварительные представления о том, как работают расширения - и они ведут себя немного иначе в Microsoft Graph.

С точки зрения документации - это описано в разделе о жизненном цикле расширения схемы в https://docs.microsoft.com/en-us/graph/extensibility-overview#schema-extensions. Может быть, мы сможем лучше справиться со сценарием.Но вот соответствующий бит при установке состояния определения схемы на Available:

  • Расширение схемы доступно для использования всеми приложениями любого арендатора .

  • После того, как приложение-владелец установит расширение на Доступно, любое приложение может просто добавить пользовательские данные в экземпляры тех типов ресурсов, которые указаны в расширении (если у приложения есть разрешения).на этот ресурс) .Приложение может назначать пользовательские данные при создании нового экземпляра или обновлении существующего экземпляра.

  • Только приложение-владелец может обновлять определение расширения с помощью аддитивных изменений.Ни одно приложение не может удалить определение расширения в этом состоянии.
  • Приложение-владелец может переместить расширение схемы из состояния «Доступно» в состояние «Устаревшее».

С точки зрения неработающих разрешений, какие разрешения были предоставлены мультитенантному приложению, илидругие приложения А2 и А3?Какой ответ вы видите (можете ли вы также предоставить запрос)?

Надеюсь, это поможет,

...