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
CUP или CIP?
Можно настроить Лямбда Trigger
CUP
CUP или CIP?
База данных с user’ами для Web / Mobile clients
CUP
CUP или CIP?
- Можно поддерживать НЕ авторизованных гостей
CIP
CUP или CIP?
Аутентификация (user шлёт username-password, а получает JWT)
CUP
CUP или CIP?
Можно настроить federated вход через соц. сети или OIDC, SAML
CUP
CUP или CIP?
- Identity Source может быть CUP, или OIDC, SAML, Public Providers (напрямую)
CIP
Что использует CIP для выдачи прав доступа юзерам?
CIP использует STS сервис для генерации temporary AWS credentials
Как пользователи пошагово взаимодействуют с CUP и CIP?
Что они дают на каждом шаге? А что получают?
- Пользователи шлют запрос (со своими login-password) в CUP
- в ответ получают JWT токен
- Пользователи шлют запрос (со своим JWT токеном) в CIP
- в ответ получают temporary AWS credentials
You have a photo-sharing application where you want your users to log in with Twitter. Users should also have permission to directly access their own data in the Users DynamoDB table and access their own photos in an S3 bucket that contains photos for all users. Which of the following you can use?
Cognito Identity Pools
CUP НЕ нужен, т.к. вход через соц сети можно сделать и в CIP’е
You would like to authenticate your users against Facebook before they are able to make requests to your API hosted by API Gateway. What should you use to make a seamless authentication integration?
CUP
Ключевые слова
- API Gateway
- authentication Facebook
You have an application that uses Cognito User Pools to authenticate its users. There’s a requirement to log every successful login into Cognito in an RDS DB instance to keep website & users’ activity for further analysis. What should you do?
Post-authentication Lambda Trigger
You can customize the following in the Cognito Hosted UI, EXCEPT
JS
CSS
Logo
URL
JS