Тип гостя Azure AD

Есть ли способ узнать, использует ли приглашенный гость для аутентификации одно из следующих действий.

  • Учетная запись Microsoft (личная учетная запись) )

или

  • Учетная запись организации (рабочая или учебная учетная запись)

Типы учетных записей

3
задан 8 February 2018 в 19:36
3 ответа

Рабочая и учебная учетная запись считается корпоративной учетной записью, хранящейся где-то в вашей локальной или облачной службе идентификации Microsoft (Azure Active Directory). В то время как учетная запись Microsoft (также называемая MSA в контексте) ранее называлась Windows Live ID. Теперь Microsoft объединяет несколько вещей в централизованную систему, включая Outlook.com, XboxLive, Skype, Hotmail и так далее.

Но учтите, что учетная запись Microsoft - это не только Live.com. Его можно даже создать под Рабочей учетной записью (см. Изображение ниже, я замаскировал псевдоним, но они такие же). В этом реальном случае рабочая учетная запись управляется Office 365, а личная учетная запись создается под основным именем пользователя.

См. Изображение

Разница в том, что если вы выбрали личную учетную запись (будь то Live или даже то же основное имя пользователя, что и ваша корпоративная учетная запись), вы будете перенаправлены на http://login.live.com / , а URL-адрес для входа в рабочую учетную запись -

  • https://login.microsoftonline.com , если учетная запись управляется в Azure AD или Office 365
  • URL-адрес для входа федерации (например, adfs .corporate.com), если учетная запись не управляется в Azure AD.

На портале Azure AD вы можете только увидеть, какой из них является гостем или участником, но гость не означает, является ли это учетной записью Microsoft или рабочей.

Идентификационные данные пользователей в Azure AD хранят источник.

  • Azure AD
  • Внешняя Azure AD
  • Учетная запись Microsoft

В Azure AD на портале Azure щелкните Пользователи и группы> Все пользователи>. Щелкните одного пользователя, затем щелкните Профиль. Затем в разделе «Информация об удостоверении» отображается источник идентификатора.

1
ответ дан 3 December 2019 в 06:27

На самом деле, если вы пригласили гостя в свой каталог, вы использовали совместную работу Azure AD B2B.

Легко узнать, какую конечную точку использует учетная запись для аутентификации:

Если гостевой пользователь является личной учетной записью, это означает, что учетная запись не была создана в другом Azure Active Directory и ее учетная запись электронной почты не заканчиваются на .onmicosoft.com . Он должен быть аутентифицирован с помощью Live.com , также называемого учетной записью Microsoft (личная учетная запись).

Если гостевой пользователь уже существует в другом клиенте, это также означает, что его адрес электронной почты заканчивается на .onmicrosoft.com , он аутентифицирован с помощью .microsoftonline.com , также называемый учетной записью организации (рабочая или учебная учетная запись).

-1
ответ дан 3 December 2019 в 06:27

Вы можете получить эту информацию с помощью Powershell, модуля AzureRm и некоторого скрытого API, документацию по которому я нигде не нашел:

Add-AzureRmAccount
$currentAzureContext = Get-AzureRmContext
$tokenCache = $currentAzureContext.TokenCache
$refreshToken = $tokenCache.ReadItems().RefreshToken
$tenantid = $currentAzureContext.Tenant.Id

$body = "grant_type=refresh_token&refresh_token=$($refreshToken)&resource=74658136-14ec-4630-ad9b-26e160ff0fc6"
$tokresponse = Invoke-RestMethod "https://login.windows.net/$tenantid/oauth2/token" -Method POST -Body $body -ContentType 'application/x-www-form-urlencoded'

$headers = @{"Authorization" = "Bearer $($tokresponse.access_token)"}
$objid = "<UserAccountObjId>"
$response = Invoke-RestMethod "https://main.iam.ad.ext.azure.com/api/UserDetails/$objid" -Headers $headers -Method GET
3
ответ дан 3 December 2019 в 06:27

Теги

Похожие вопросы