Как выбрать метод защиты 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/