Является ли oid уникальным для всех арендаторов в AAD? - PullRequest
0 голосов
/ 17 ноября 2018

Знаете ли вы, гарантированно ли утверждение oid в маркере доступа AAD уникально для всех клиентов AAD в обоих случаях ниже:

  1. Когда это идентификатор объекта, представляющий пользователя;
  2. Когда это идентификатор объекта, представляющий субъект-службу приложения.

Я особенно заинтересован в случае 2, так как мне было интересно, могу ли я положиться на одну из следующих комбинаций изтокен приложения AAD для распознавания и авторизации приложения.Есть ли у вас какие-либо предложения относительно того, какую комбинацию мы должны использовать:

  1. Только Oid;
  2. Oid + appId;
  3. Oid + appId + tid (идентификатор арендатора);
  4. другие.

Спасибо!

1 Ответ

0 голосов
/ 18 ноября 2018

Чтобы ответить на ваш первый вопрос, утверждение oid или свойство ObjectId является неизменным и уникальным, поэтому оно никогда не должно изменяться, а также однозначно идентифицировать соответствующий объект каталога.

Специальное примечание только о заявке oid для объекта пользователя. Если в нескольких арендаторах существует один пользователь, он будет содержать разные идентификаторы объектов в каждом арендаторе - они считаются разными учетными записями, даже если пользователь входит в каждую учетную запись с те же учетные данные.

Вот несколько ссылок на эту часть: 1. oid претензия для пользователя - Справочник по токену Azure AD

enter image description here

  1. Ссылка на основную сущность службы в Azure AD Graph API

    enter image description here

  2. Ссылка на сущность службы в бета-версии для Microsoft Graph API

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

Предполагая, что процесс согласования уже завершен, для этого арендатора существует принципал Service, и вы просто авторизуете / проверяете вызов в каком-либо приложении, используя утверждения из входящего токена, имеет смысл также рассмотреть утверждения appid и tid, просто чтобы логически понять, какое это приложение Azure AD и является ли клиент действительным или нет. Так что по вашим вариантам это будет 3-я комбинация.

Вот хорошее прочтение об основных принципах Application / Service для мультитенантных приложений, если вы еще этого не видели.

Объекты субъекта приложения и службы в Azure Active Directory

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...