3

Я использую Azure Active Directory и пытаюсь понять три типа управления доступом, описанные here. Каковы преимущества и недостатки каждого подхода и когда бы вы использовать их:Сфера действия/роль/управление доступом на основе групп

  • Область управления доступом на основе использования oauth2Permissions раздел моего манифеста, где я могу добавить разрешения на чтение и запись так:

     
    { 
        "adminConsentDescription": "Allow the application read access to MyApi on behalf of the signed-in user.", 
        "adminConsentDisplayName": "Read access to MyApi", 
        "id": "56d944c0-f3aa-4f80-9472-9c1414383abf", 
        "isEnabled": true, 
        "type": "User", 
        "userConsentDescription": "Allow the application read access to MyApi on your behalf.", 
        "userConsentDisplayName": "Read access to MyApi", 
        "value": "read_my_api" 
    }, 
    { 
        "adminConsentDescription": "Allow the application write access to MyApi on behalf of the signed-in user.", 
        "adminConsentDisplayName": "Write access to MyApi", 
        "id": "6d66a2bd-c8c7-4ee0-aef4-9424b51b4967", 
        "isEnabled": true, 
        "type": "User", 
        "userConsentDescription": "Allow the application write access to MyApi on your behalf.", 
        "userConsentDisplayName": "Write access to MyApi", 
        "value": "write_my_api" 
    } 
    
  • Контроль доступа на основе ролей (RBAC) - с использованием раздела моего манифеста appRoles.

  • Групповой контроль доступа с использованием раздела моего манифеста groupMembershipClaims.

ответ

1

Два самых популярных один:

  • Role Based Access Control - вы назначаете роли для пользователей или групп в конфигурации приложения (внутри Azure Portal). Затем в коде вы можете использовать эти роли, чтобы разрешить пользователям определенные части вашего приложения. Вы можете сделать что-то линию, что: if (User.IsInRole("SuperAdmin")) {...}
  • управление доступом на основе группы с использованием groupMembershipClaims - это похоже, но вы проверяете, если пользователь принадлежит к определенной группе
4

Я считаю, что самое существенное различие между областями и ролями/групп , который определяет, что клиенту разрешено делать.

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

Области применения обычно используются, когда внешнее приложение хочет получить доступ к данным пользователя через открытый API. Они определяют, что может сделать клиентское приложение.

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

Смежные вопросы