it-swarm.com.ru

Как настроить поставщик аутентификации OAuth2 с AWS API Gateway?

AWS имеет API Gateway , который позволяет довольно легко настраивать, управлять и контролировать ваш API ........ Однако параметры авторизации безопасности, которые вы можете установить для методов ресурсов, ограничены AWS-IAM (который мое понимание внутренней роли vpn?). 

Похоже, что мои исследования на эту тему указывали мне на настройку AWS Cognito pool , но когда я собираюсь настроить его в моей консоли aws, параметры для провайдеров: Amazon, Facebook, Google+, Twitter, OpenID и Custom. Я думаю, в таком случае, я бы использовал Custom? Затем настройте мой собственный экземпляр EC2 в качестве сервера поставщика аутентификации OAuth2. 

Учитывая, что Oauth2 настолько популярен в наши дни, меня удивляет, что для этого нет сервиса AWS; кажется, что они прошли весь маршрут OpenId или SAML. Меня также удивляет отсутствие руководств по быстрой настройке поставщика Oauth2 в облаке. 

Любая помощь будет оценена.

41
cosbor11

(1) Вы хотите реализовать конечные точки OAuth 2.0 ( конечная точка авторизации и конечная точка токена ) на API-шлюзе? Другими словами, вы действительно хотите внедрить сервер OAuth 2.0 ( RFC 6749 ) в API Gateway?

(2) Или вы хотите защитить свои веб-API, реализованные на API-шлюзе, с помощью OAuth 2.0 токен доступа ?

Эти два совершенно разные вещи.

Кажется, что вы хотели выбрать OAuth 2.0 вместо AWS-IAM, я думаю, что вы хотели сделать (2). Если это так, вы можете найти пример здесь: Amazon API Gateway + AWS Lambda + OAuth


Обновлено 2016-Apr-6

11 февраля 2016 г. запись в блоге AWS Compute Blog , " Представление пользовательских авторизаторов в Amazon API Gateway " объявила о том, что Custom Authorizer была введена в Amazon API Gateway. Благодаря этому механизму API, построенный на Amazon API Gateway, может делегировать проверку токена Bearer (такого как токен OAuth или SAML), представленного клиентским приложением, внешнему авторизатору.

Как защитить API, построенные на Amazon API Gateway, с помощью маркеров доступа OAuth с использованием нового механизма Custom Authorier, описано в " Amazon APi Gateway Custom Authorizer + OAuth ".


FYI:

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

Cognito (Identity) - это решение, связанное с аутентификацией, а не авторизацией.

Custom в Cognito - это место для указания провайдеров OpenID Connect. OpenID Connect - это решение для аутентификации. Что усложняет ситуацию, так это «OpenID Connect построен поверх OAuth 2.0». Смотрите сайт OpenID Connect для подробностей.

30
Takahiko Kawasaki

AWS API Gateway поддерживает Amazon Cognito OAuth2 Scopes теперь . Вы можете создать авторизатор пула пользователей Amazon Cognito и настроить его в качестве своего метода авторизации в API Gateway. Чтобы использовать области OAuth, вам необходимо настроить сервер ресурсов и пользовательские области с вашим пулом пользователей Cognito . Вы можете настроить несколько приложений-клиентов в пуле пользователей Cognito с разными областями или запрашивать различные области из кода вашего приложения при аутентификации пользователей из вашего Userpool. В зависимости от области действия, полученной в access token от Cognito, API Gateway разрешит/запретит абоненту ваших API. Пошаговое руководство по реализации этой функции можно найти здесь

1
stackOp