Секретный ключ / ключ доступа с Azure Active Directory, корпоративным приложением, ролями приложений? - PullRequest
1 голос
/ 28 марта 2019

Мы работаем над веб-API и хотим интегрировать Azure AD для AuthN и AuthZ.Мы успешно интегрировали то же самое.Мы создали корпоративные приложения, настраиваемые роли, назначили пользователей для одного и того же.Теперь нам нужно разрешить доступ к API с AWS-подобными ключами (секретными ключами / ключами доступа) .Отдельный пользователь может создавать свои собственные ключи и сохранять их в Azure AD, чтобы при использовании этих ключей пользователь мог проходить аутентификацию .

. Я не нашел способа добиться этого с помощью Azure.ОБЪЯВЛЕНИЕ.Любые предложения по поводу того же приветствуются.Тем временем я прошел через кастомный магазин для ключей.Пожалуйста, обратитесь по ссылке: https://www.codeproject.com/Articles/1228892/Securing-ASP-NET-CORE-Web-API-using-Custom-API-Key

Заранее спасибо.

1 Ответ

1 голос
/ 28 марта 2019

Аутентификация Azure AD использует токены. Таким образом, любое приложение, желающее вызвать ваш API, должно пройти аутентификацию с помощью AAD и приобрести токен для API.

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

Если, с другой стороны, эти пользователи создают приложение для другой организации, вам придется сделать свой API мультитенантным приложением. И вам нужно будет иметь встроенную страницу в вашем API, через которую вы будете перенаправлять их администратора / пользователя на страницу входа в AAD, где они согласятся на любые разрешения, необходимые вашему API. После этого в их арендаторе создается руководитель службы. Затем они могут зарегистрировать свои клиентские приложения и получить доступ к вашему API. Они будут иметь полный контроль над тем, какие разрешения они хотят назначить каждому приложению, какие роли назначать пользователям и т. Д. Но, разумеется, токены будут содержать их идентификаторы клиентов, поэтому вы можете фильтровать доступ к ним.

...