API Gateway: Authentication / Authorization, HTTP REST, WebSockets Flashcards

1
Q

Чтобы настроить авторизацию-аутентификацию, API Gateway имеет 3 способа …

A
  • IAM (roles, resource policies)
  • Cognito User Pool
  • Lambda Authorizer (ранее “Custom Authorizer”)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Если выбран IAM Auth, то доступ можно дать … через … или
IAM Credentials отправляются в …
Action для отправки запроса в API Gateway - это …

A

EC2, Lambda или Users
IAM Role или Resource Based Policy
HTTP заголовке и подписываются Sig v4 подписью
Action: execute-api:Invoke

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Если выбран IAM Auth через Resource Based Policy, то доступ может быть …, при этом если …, то нужно …, а если …, то нужно …

A

Cross Account

Principle и API Gateway могут находиться в ОДНОМ или в РАЗНЫХ аккаунтах AWS.

Eсли вызов API Gateway функции происходит
- Cross Account, то нужны ОБА
(Resource Based Policy AND Identity Based Policy)
- Same Account, то нужна хотя бы ОДНА
(Resource Based Policy OR Identity Based Policy)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Причины выбрать IAM Authentication.
Плюсы минусы особенности, цена, кастомный код.

A
  • Если настроены Users, Roles
  • Если нужна Cross Account (через Resource Policy)
  • Использует Sig v4
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Причины выбрать Cognito User Pool
Плюсы минусы особенности, цена, кастомный код.

A
  • Если у нас свой пул юзеров (вход через Facebook)
  • Никакого кастомного кода
  • Авторизацию нужно реализовать на бэкенде
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Причины выбрать Lambda Custom Authorizer
Плюсы минусы особенности, цена, кастомный код.

A
  • Если у нас 3-rd party JWT токен
  • Самый гибкий способ
  • Платим каждый раз за вызов Lambda (спасает кэширование)
  • Авторизацию нужно реализовать в Лямбде
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

API Gateway поддерживает 3 типа endpoint’ов …

A

HTTP REST WebSocket

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Чем HTTP endpoint отличается от REST endpoint’а?

A

HTTP
- Только для Proxy
- Нельзя сделать Data Mapping
- Поддерживает OIDC и OAuth 2.0
- НЕ поддерживает Usage Plans и API Keys
- НЕ поддерживает Resource Based Policy

Дешёвая альтернатива API Gateway
Простая, но плохая.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Суть WebSocket протокола в том, что …
Он подходит для … приложений, например …

A

Сервер может push’ить информацию пользователю
Подходит для Stateful приложений
чаты, мессенджеры

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Ключевые слова для WebSocket’ов

A
  • two-way communication
  • connect, send messages, disconnect
  • connection URL callback для обратной связи
  • routing table с адресами back-end’ов
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Какие фичи API GTW можно использовать в микросервисном приложении?

A
  • определения HTTP endpoint’ов к AWS ресурсам
  • проверки Authentication / Authorization пользователей
  • проверки SSL сертификатов (через сервис AWS Certificatie Manager)
  • перенаправление запросов
  • трансформации данных запроса
  • Swagger документации
  • поддержки environments и Canary Deployment
  • кэширования запросов
  • Usage Plans платной клиентской подписки
How well did you know this?
1
Not at all
2
3
4
5
Perfectly