#azure-active-directory #multi-tenant
#azure-active-directory #многопользовательский
Вопрос:
У Microsoft есть руководство по многопользовательским приложениям и управлению удостоверениями. Они объясняют, как администратор клиента (или пользователи клиента) могут предоставить согласие на использование профиля пользователя для приложения. Однако меня также интересует обратное: как владельца приложения, чтобы дать согласие на использование приложения конкретным арендаторам. Мы хотим разрешить доступ к приложению только тем арендаторам, которые зарегистрировались в соответствии с соглашением об уровне обслуживания.
Как мы можем внести арендаторов в «белый список», чтобы в нашем приложении регистрировались только известные арендаторы?
Ответ №1:
Azure AD не будет ограничивать, какие пользователи клиентов могут входить в приложение, лучший способ — указать действительных эмитентов токенов в средстве проверки токенов на стороне приложения.
ASP.NET Пример ядра:
// Inside .AddOpenIdConnect()
o.TokenValidationParameters = new TokenValidationParameters
{
// NOTE: We should not turn issuer validation off
// We should instead list the valid issuers
// You can find your issuer URI at: https://login.microsoftonline.com/tenant-id-here/v2.0/.well-known/openid-configuration
// It's in the "issuer" property
NameClaimType = "name",
ValidIssuers = new[] // THIS IS IMPORTANT Only accept tokens from these tenants
{
$"https://login.microsoftonline.com/{authSettings.EmployeeTenantId}/v2.0",
$"https://login.microsoftonline.com/{authSettings.PartnerTenantId}/v2.0"
}
};
Дополнительные сведения см. в блоге — Рекомендации для N-арендаторских приложений Azure AD.