Cognito CUP CIP Flashcards
Какова главная цель Cognito User Pools?
С какими сервисами он интегрирован?
“sign in” фича для пользователей в приложении
интегрировано с API Gateway и ALB
В чём идейная разница между IAM и Cognito?
-
IAM
- для разработчиков, dev-ops’ов выделяются отдельные аккаунты в IAM -
Cognito
- сотни пользователей нашего Web/Mobile приложения, авторизация через SAML, OIDC, соц сети
Что хранит сервис CUP?
Serverless базу данных для своих web/mobile пользователей.
В конфигурации сервиса CUP можно настроить фичи
- username + password = JWT token (в котором IAM policies; base64, payload, sig, header)
- pre-defined login/registration UI страничка
- reset password
- email / phone verification
- multi-factor authentication MFA
- federated identities
- блокировка пользователей, если их credentials скомпрометированы (AWS умеет сканировать)
- прямо в сервисе можно просмотреть список зарегистрированных пользователей
Что такое Lambda Trigger в CUP?
Для чего она может быть нужна?
Как она будет выполняться?
Можно указать Лямбда функцию, тригером которой будет событие
(вход пользователя, регистрация пользователя)
- Так можно дополнительно провалидировать пользователя перед входом
- или отправить ему welcome message после входа
- или изменить токен
- или залогировать событие
Что такое Hosted Authentication UI?
Как внедрить его в свой сайт, чтобы было своё доменное имя?
Это pre-defined login/registration UI страничка.
Её можно немного кастомизировать, загрузив свой CSS и логотип.
Чтобы использовать свой DNS доменный адрес для этой странички, то придётся
создать SSL сертификат в ACM (Amazon Certificate Manager)
и хранить сертификат именно в us-east-1
Что такое Adaptive Authentication?
Как он происходит?
Это возможность заблокировать подозрительный (suspicious) LogIn - и заставить пользователя использовать MFA или SMS верификацию.
Cognito сам оценивает каждый LogIn (вход) и выставляет оценку по шкале риска.
Например, при входе с незнакомого устройства.
Зачем и какими способами можно реализовать authentication в ALB? Какие способы связаны с CUP?
Какую под-технологию использует ALB, чтобы это сделать?
ALB освобождает back-end приложение от обязанности выполнять Authentication.
ALB может реализовать Auth через
- Без CUP - черзе Identity Provider (IdP), который совместим с OpenID Connect (OIDC)
- Cognito User Pools (federated users
, SAML
, Microsoft AD
)
В обоих случаях ALB должен использовать HTTPS listener Rules
Listener слушает HTTPS-443 запросы и выполняет 2 действия:
1. Authentication
2. Forward to
Какова главная цель Cognito Identity Pool?
С какими сервисами он интегрирован?
выдача temporary AWS credentials пользователям для доступа к AWS ресурсам
в качестве identity provider’а (Identity Source’а) может использовать Cognito User Pools
Что такое Identity Source для CIP?
Какие они бывают?
- Cognito User Pools
- Public Providers (login with Amazon, Facebook, Google, Apple)
- OpenID Connect (OIDC), SAML провайдеры
- Кастомный логин сервер, сделанный разработчиком
Unauthenticated Access - это дополнительный вид пользователей, который можно сделать через Guest Policy.
На чём основываются IAM Roles в Cognito?
Как они объявлены?
На user_id
Используются Policy Variables
часть Policy Statement’а объявлена через ${} placeholder
CUP или CIP?
Авторизация (user шлёт JWT, а получает temporary AWS credentials)
CIP
CUP или CIP?
Мапинг User ID на IAM Role через policy variables
CIP
CUP или CIP?
Можно сгенерировать и кастомизировать Hosted UI
CUP
CUP или CIP?
Можно настроить Adaptive Authentication, MFA, password reset
CUP