Пример использования Api Managment - PullRequest
0 голосов
/ 07 мая 2019

У меня есть вопрос о службе Azure API Management и о том, как использовать ее с точки зрения безопасности. Я посмотрел и не могу найти ответ, с которым я чувствую себя уверенно.

Итак, я должен использовать ключи подписки или токен доступа с oauth2.

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

Ответы [ 2 ]

0 голосов
/ 08 мая 2019

Сам APIM не предписывает какой-либо конкретный лучший способ его использования, но предоставляет различные варианты, которые подходят для разных сценариев. Если вы спрашиваете о том, как аутентифицировать / авторизовать вызовы в APIM, есть несколько способов:

  1. Ключи подписки. Хороший способ аутентифицировать вызывающую сторону и разрешить ей совершать звонки в определенную область действия продукта / API. Возможность выбора двух ключей на подписку позволяет легко вращать их с течением времени. Это в основном подходит для сценариев, в которых вам нужно либо авторизовать конечных пользователей, используя только APIM, либо когда вы встраиваете ключи в приложение, которое используют конечные пользователи.
  2. OAuth. Сам APIM не может выдавать токены OAuth, так что это в основном подходит, если у нас есть сторонний сервер OAuth, принадлежащий вам или нет. Обычно APIM будет прозрачен для токена OAuth в запросе и даже не сможет использовать его для аутентификации вызова своей внутренней базы данных пользователей, но у вас есть возможность использовать политику validate-jwt, чтобы требовать такой токен, искать определенные утверждения, проблемы, проверять подпись и т. д.
  3. Клиентские сертификаты. Если вы контролируете своих клиентов, то у вас есть возможность предоставления клиентских сертификатов и настройки политики на уровне APIM, чтобы требовать наличия сертификата, проверять его атрибуты или проверять его цепочку, включая возможность предоставления собственного ЦС и корневых сертификатов.
  4. IP-фильтрация. Не такая уж высокая мера безопасности, но все же вариант. Вы можете настроить APIM для запрета вызовов, совершенных за пределами указанных диапазонов IP-адресов.
0 голосов
/ 08 мая 2019
  1. Лучший вариант использования - защита внутренних API-интерфейсов через VPN-соединение.Это обеспечит безопасный туннель между APIM к вашей серверной системе (ERP или любой другой системе) https://docs.microsoft.com/en-us/azure/api-management/api-management-using-with-vnet

  2. Ниже приведен еще один хороший пример безопасности https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-protect-backend-with-aad

...