AFAIK ближайшей функцией Azure AD, которая будет полезна для ваших требований, будут роли приложений.
Подробнее об этом можно прочитать в Документах Microsoft здесь - Роли приложений
Вот пример связанного кода - Добавление авторизации с использованием ролей приложений и утверждений о ролях в веб-приложении ASP.NET Core
Короче говоря, вы сможете определить роли, специфичные для вашегоманифест Azure AD приложения. Позже вы сможете назначать эти роли пользователям из портала Azure или использовать Microsoft Graph API.
"appRoles": [
{
"allowedMemberTypes": [
"User"
],
"description": "Creators can create Surveys",
"displayName": "SurveyCreator",
"id": "1b4f816e-5eaf-48b9-8613-7923830595ad",
"isEnabled": true,
"value": "SurveyCreator"
},
{
"allowedMemberTypes": [
"User"
],
"description": "Administrators can manage the Surveys in their tenant",
"displayName": "SurveyAdmin",
"id": "c20e145e-5459-4a6c-a074-b942bbd4cfe1",
"isEnabled": true,
"value": "SurveyAdmin"
}
],
Обратите внимание, что сами определения ролей и информация о том, каким пользователям была назначена какая роль, будут все в Azure AD (неБаза данных SQL, как вы упомянули в своем вопросе).
Теперь во время входа в веб-приложение вы получите роли в виде набора заявок с помощью входящего токена доступа.
Вот еще одна хорошая документация, которая объясняет как авторизацию на основе ролей, так и авторизацию на основе ресурсов с примером и использует политики авторизации.
На случай, если ничего из этого не имеет смысладля вашего приложения вы всегда можете реализовать что-то нестандартное и сохранить информацию о роли, а также назначения в базе данных приложения.
Azure AD мало поможет в определении или назначении ролей в этом сценарии. Вам нужно будет поддерживать карту между пользователями и их ролями в индивидуальном порядке. Если это имеет смысл, вы можете использовать класс RoleManager.