Как выбрать метод защиты API Mulesoft?

У нас есть среда Mulesoft Cloudhub, в которой мы планируем развертывать общедоступные API, а также настроен VPC, в котором мы будем развертывать частные API.

Я смотрю на то, как лучше защитить API и видел следующие подходы:

  • Базовая аутентификация
  • Идентификатор клиента и секрет
  • OAuth
  • LDAP
  • SAML

Мой вопрос, когда вы должны использовать каждый? Их примеры использования? Например, OAuth кажется более безопасным, чем обычная аутентификация, идентификатор клиента и секрет, так почему бы не использовать OAuth все время и забыть о двух других?

Спасибо

1 ответ

OAuth больше ориентирован на авторизацию, чем на аутентификацию.

Например, OAuth 2 имеет много разных потоков, ориентированных на разные варианты использования. Например, 3-сторонний протокол OAuth, позволяющий вам использовать внешнего поставщика удостоверений, позволяет пользователям получать доступ к вашим ресурсам. В некотором смысле, вы не выполняете никакой аутентификации вообще.

Http basic может по-прежнему иметь цель в простых сценариях, МОЖЕТ быть, когда затраты и / или усилия на использование чего-то другого не стоят этого, и это внутренняя сеть, и у OJ уже есть какой-то тип ldap или типа активного каталога, который используется для других приложений (и использование SSL здесь очень важно, так как базовые учетные данные являются простым текстом)

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

Например, вы можете использовать идентификатор клиента для аутентификации реальных клиентов, таких как мобильное приложение или веб-приложение. Реализация идентификатора клиента, такая как API-менеджер MuleSoft, также позволяет вам добавлять политики, такие как ограничение скорости и ограничение скорости на основе SLA, чтобы вы могли ограничить определенные клиентские приложения, чтобы они не перегружали ваш API.

Вы можете использовать его вместе с OAuth. Идентификатор клиента / Секрет для доступа к API, но OAuth для авторизации конечного пользователя.

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

https://nordicapis.com/3-common-methods-api-authentication-explained/

https://auth0.com/docs/api-auth/which-oauth-flow-to-use

Другие вопросы по тегам