Регистрация и адаптация клиента — как разрешить только при приглашении в приложение

#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.