Azure Проверка подлинности на уровне данных APIM - Как люди выполняют sh это? - PullRequest
0 голосов
/ 23 марта 2020

Сценарий: API, предоставляемый извне, подключается к нескольким поддерживаемым базам данных. Несколько клиентов могут использовать API, они, очевидно, должны иметь доступ только к своим данным. В прошлом это делалось отдельными учетными записями для каждого клиента / пользователя, и, следовательно, каждая учетная запись должна была бы быть настроена в каждой из серверных систем с соответствующими полномочиями.

Проблема: я хочу использовать Azure APIM. Я не хочу дополнительного обслуживания для каждого пользователя как в Azure APIM, так и в бэк-Dbs. Мне было интересно, есть ли у кого-нибудь мысли или случаи, когда они достигли этого по-другому. Также API может быть построен с доступом через одну учетную запись со всеми доступом к таблицам.

Ответы [ 2 ]

1 голос
/ 26 марта 2020

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

Я не думаю, что это действительно зависит на Azure APIM как таковой, но вы можете использовать поддержку OAuth 2.0 до для предварительной авторизации запросов и в своем бэкэнде, в зависимости от утверждений, присутствующих в переданном токене, вы можете разрешить / Отказ в доступе к данным.

Ваш бэкэнд обычно аутентифицируется на разных БД как с полным доступом ко всем данным, и вашему бэкенду будет поручено обеспечить доступ к данным только людям с правильными утверждениями.

1 голос
/ 26 марта 2020

Чтобы использовать API, пользователь / клиент должен зарегистрироваться на портале разработчика и получить подписку на данный API и связанный ключ . Таким образом, вы должны подтвердить их подлинность. Когда вы публикуете sh API-интерфейсы через Azure Управление API-интерфейсом, становится просто и безопасно защитить доступ к этим API-интерфейсам с помощью ключей подписки. Клиентские приложения, которым необходимо использовать опубликованные API-интерфейсы, должны включать действительный ключ подписки в HTTP-запросы при выполнении вызовов этих API-интерфейсов. https://docs.microsoft.com/en-us/azure/api-management/api-management-subscriptions

Портал разработчика поддерживает различные механизмы аутентификации, включая Azure AD. Поэтому, если вы планируете использовать Azure AD для аутентификации на обоих порталах, вам необходимо настроить его соответствующим образом. https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-aad

...