Как защитить API с помощью Azure Active Directory, регистрации приложений и корпоративных приложений - PullRequest
0 голосов
/ 15 апреля 2020

У меня есть бэкэнд API на веб-сайте Azure, который я хочу защищать с помощью Azure AD.

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

Затем я могу отправить этот токен в API и проверить токен в бэкэнд-API, чтобы проверить его.

Но не так токен дать доступ ко всем ресурсам в подписке? Как мне ограничить регистрацию приложений только тем, что им разрешен доступ к указанному c API ? А также не другой API в подписке?

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

Можно ли каким-либо образом использовать корпоративное приложение, чтобы ограничить доступ только к API и разрешить только набор пользователей?

Или есть другой способ сделать это?

1 Ответ

1 голос
/ 15 апреля 2020

Но разве этот токен не предоставляет доступ ко всем ресурсам в подписке? Как ограничить регистрацию приложений только доступом к этому API c? А также не другой API в подписке?

Токен предоставляет доступ только к API, указанному в запросе аудитории (aud) в токене. Ничего больше. Поэтому, если ваше клиентское приложение запрашивает токен доступа к вашему API, этот токен действителен только для этого API.

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

Можно ли каким-то образом использовать корпоративное приложение, чтобы ограничить доступ только к API и разрешить только набор пользователей?

Да. Вы можете найти корпоративное приложение (субъект службы) для API, включить Требовать назначения пользователя , а затем назначить пользователей / группы, которым вы хотите иметь доступ к API, на вкладке Пользователи / Группы корпоративного приложения.

При получении токена доступа пользователи не будут назначены.

Если вы используете одну и ту же регистрацию приложения как для клиента, так и для API, то вы должны помнить, что вам следует приобрести токен доступа независимо от вызова API. Не используйте идентификатор токена. Также в этом случае пользователь, который не назначен приложению, не сможет войти в систему.

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