2016-03-02 4 views
0

Я играю с API-интерфейсом Amazon Gateway и изо всех сил пытаюсь найти себе защиту.AWS API Gateway security

Obviosuly API, который я создаю, не может быть доступен никому и должен быть защищен. Amazon предлагает использовать ключи API или роли IAM. У меня есть несколько вопросов:

  1. Как я могу аутентифицировать свои клиентские запросы, чтобы мое приложение и только мое приложение могли использовать API?
  2. Как AWS определяет роль для входящего запроса?
  3. Если я выберу подход API-ключа, как он работает?

Спасибо!

+1

Возможный дубликат [Безопасность шлюза API Amazon] (http://stackoverflow.com/questions/35746750/amazon-api -gateway-security) –

+0

Пожалуйста, отредактируйте свой первый вопрос с помощью дополнительной информации, а не создавайте новые вопросы с более подробной информацией. –

+0

мой плохой. Можете ли вы потрошить меня по тем пунктам выше? очень застрял! – user3024827

ответ

1

Как я могу аутентифицировать свои клиентские запросы, чтобы мое приложение и только мое приложение могли использовать API?

Если ваш бэкэнд - это функция Лямбда, вы можете предоставить разрешение на доступ к API-шлюзу.

Если ваш бэкэнд является HTTP-сервером, вам нужно будет найти стратегию аутентификации на стороне вашего HTTP-сервера.

Как AWS определяет роль для входящего запроса?

Если ваш API требуется IAM auth, входящий запрос был подписан алгоритмом AWS sigV4. AWS может определить разрешение учетных данных, используемых для подписи запроса.

Если я выберу подход API-ключа, как он работает?

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

+0

, поэтому я буду использовать Lambda, и некоторые из функций возвратят конфиденциальные данные, чтобы я мог запретить кому-либо отправлять HTTP-запрос и получать данные. – user3024827

+0

Вы можете использовать функцию аутентификации IAM или пользовательскую функцию auth для защиты вашего API, чтобы позволить только аутентифицированному пользователю получать данные из вашей функции Lambda. Вот документация для Custom auth: http://docs.aws.amazon.com/apigateway/latest/developerguide/use-custom-authorizer.html –