Amazon Cognito – это ориентированный на разработчиков и экономически эффективный сервис управления идентификацией клиентов и доступом (CIAM). Он предоставляет варианты безопасного хранилища и федерации удостоверений, которые могут масштабироваться до миллионов пользователей. Amazon Cognito поддерживает вход с использованием поставщиков удостоверений социальных сете и поставщиков удостоверений на основе SAML или OIDC, чтобы обеспечить удовлетворенность клиентов, и предлагает расширенные возможности безопасности для защиты ваших клиентов и предприятий. Этот сервис отвечает различным стандартам соответствия требованиям, работает на основе открытых стандартов удостоверений (OAuth2.0, SAML 2.0 и OpenID Connect) и интегрируется с расширенной экосистемой ресурсов для разработки клиентской и серверной части приложения, а также с библиотеками SDK.

Управление удостоверениями

Первое знакомство клиента с вашим сайтом обычно происходит в процессе самостоятельной регистрации. Amazon Cognito предоставляет настраиваемый, предварительно упакованный, размещенный пользовательский интерфейс для быстрого выхода на рынок и надежный набор API для создания полностью настраиваемого решения для самостоятельной регистрации. Пользователи могут входить в ваше приложение с указанием адреса электронной почты, телефонного номера или имени пользователя. Процесс самостоятельной регистрации дает пользователям возможность просматривать и обновлять данные в их профилях, в том числе пользовательские атрибуты. Сократите количество звонков в службу поддержки, используя такие опции самообслуживания, как сброс пароля SMS-сообщением или сообщением электронной почты.

Amazon Cognito обеспечивает безопасное хранение идентификационных данных (пулы пользователей), которое можно масштабировать на миллионы аккаунтов. Пулы пользователей дают возможность безопасно хранить данных пользовательских профилей для пользователей, которые регистрируются в приложении напрямую, и для федеративных пользователей, которые осуществляют вход с использованием внешних поставщиков идентификационных данных.
Хранилище идентификационных данных Amazon Cognito – это хранилище пользователей на основе API. Хранилище и API обеспечивают хранение до 50 пользовательских атрибутов на пользователя, поддержку различных типов данных и применение ограничений относительно длины и изменяемости. Выберите обязательные атрибуты, которые пользователь должен указать перед выполнением процесса регистрации.

Пользователи могут провести миграцию на Amazon Cognito либо с использованием пакетного импорта, либо путем динамической миграции (JIT). Для пакетной миграции пользователей используется процесс импорта файла CSV. При использовании процесса JIT-миграции триггер AWS Lambda интегрирует процесс миграции в рабочий поток входа в приложение и может сохранять пароли пользователей.

Amazon Cognito дает возможность осуществлять B2B-взаимодействия с поддержкой совместной аренды ресурсов. Вы можете многократно использовать интеграции приложений, политики доступа и паролей или применить полную изоляцию пользователя.

Аутентификация пользователей

Amazon Cognito предоставляет встроенный настраиваемый интерфейс для регистрации и авторизации пользователей. Чтобы добавить с помощью Amazon Cognito страницы регистрации и входа в приложение, можно использовать SDK для Android, iOS и JavaScript.

Вы можете добавить дополнительный уровень безопасности для своих клиентов, включив многофакторную аутентификацию в пуле пользователей Amazon Cognito. Пользователи могут подтвердить свою личность с помощью текстового сообщения либо с помощью генератора одноразовых паролей на основе времени (TOTP), например Google Authenticator. Кроме того, Amazon Cognito поддерживает конфигурацию различных правил создания паролей для разных пулов пользователей.

Как хаб федерации Amazon Cognito дает пользователям возможность авторизации с помощью социальных поставщиков удостоверений, таких как Apple, Facebook, Google и Amazon, а также поставщиков корпоративных удостоверений на основе SAML и OIDC. Amazon Cognito является поставщиком идентификации на основании стандартов. После входа пользователей в Amazon Cognito (путем аутентификации через социальные сети или внешней федерации) они могут использовать OAuth/OIDC для доступа к федеративным ресурсам.

Пулы пользователей Amazon Cognito позволяют создать собственный поток аутентификации, использующий функции Lambda для аутентификации пользователей на основе одного или нескольких циклов запрос-ответ. Этот процесс можно использовать для внедрения аутентификации без пароля, основанной на специальных заданиях, или добавлять собственные задачи в качестве дополнительных факторов.

Используйте триггеры Lambda для настройки поведения Cognito, включая этапы жизненного цикла пользователя, например до и после аутентификации и регистрации или перед выдачей токена. Кроме того, можно использовать триггеры Lambda для настройки сообщений, отправляемых пользователям на разных этапах, или для интеграции со сторонними поставщиками услуг электронной почты и SMS.

Контроль доступа

Amazon Cognito защищает интеграцию с приложением на последней миле. Балансировщик нагрузки приложений Amazon (ALB) и API шлюзы Amazon имеют встроенные точки принудительного применения политики, которые предоставляют доступ в зависимости от токенов и областей Amazon Cognito.

Брокер мандатов для Amazon Cognito, также известный как пулы идентификационных данных Amazon Cognito, обеспечивает единый вход на ресурсы AWS, такие как Amazon DynamoDB, корзины Amazon S3, бессерверные компоненты Lambda, а также на другие сервисы Amazon. Пользователи могут динамически сопоставляться с различными ролями для поддержки доступа к сервису с использованием наименьших привилегий.

С помощью потока мандатов клиента OAuth Amazon Cognito обеспечивает аутентификацию между компьютерами, гарантируя безопасное взаимодействие компонентов приложения.

Дополните токены доступа настраиваемыми атрибутами в формате областей и утверждений OAuth 2.0. Вы можете принимать сложные решения по авторизации для конкретных приложений, используя настраиваемые атрибуты в токене доступа. Эта функция также позволяет персонализировать взаимодействие с конечными пользователями и улучшить взаимодействие с клиентами. 

Качество обслуживания

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

AWS Amplify – это комплект специализированных инструментов и функций, которые позволяют разработчикам приложений для Интернета и мобильных устройств быстро и легко создавать приложения полного цикла на AWS, а также дают возможность гибко использовать разнообразные сервисы AWS для новых и изменяющихся вариантов использования. С помощью Amplify можно настраивать серверные части мобильных и веб-приложений с Amazon Cognito, подключать приложения за считаные минуты, создавать пользовательский веб-интерфейс в визуальной среде разработки и легко управлять содержимым приложений за пределами консоли AWS. Быстрая разработка и простое масштабирование, даже без опыта работы в облаке.

Решения CIAM – это пользовательские решения. Amazon Cognito предоставляет надежный комплект привязок и расширений для полной настройки аутентификации, регистрации и потоков миграции. Например, поток самостоятельной регистрации можно дополнить пользовательскими средствами подтверждения удостоверений и проверками аккаунтов, а процесс входа можно расширить за счет создания пользовательских потоков аутентификации или изменения токена перед тем как он будет сгенерирован.

SDK Amazon Cognito доступен для использования с помощью Java, C++, PHP, Python, Golang, Ruby, .NET и JavaScript.

Расширенные возможности обеспечения безопасности

Amazon Cognito в комплексе со встроенной интеграцией брандмауэра веб-приложений Amazon (AWS WAF) предлагает расширенные функции обнаружения ботов, которые могут помочь вашей организации избавиться от необходимости оплачивать автоматизированные аккаунты.

Amazon Cognito может в режиме реального времени обнаруживать и предупреждать повторное использование скомпрометированных мандатов при входе, регистрации или смене пароля. Если Amazon Cognito обнаруживает, что для входа в учетную запись были использованы данные для доступа, скомпрометированные на другом ресурсе, система предложит пользователю сменить пароль.

Защитите аккаунты своих пользователей и упростите для них вход в приложение с помощью адаптивной аутентификации. Если во время авторизации Amazon Cognito обнаруживает подозрительное действие (например, попытку входа из нового места или с нового устройства), ему присваивается степень риска, после чего вы можете либо обязать пользователя пройти дополнительную проверку, либо отказать в доступе.

Аудит и соответствие требованиям

Amazon Cognito отвечает многим критериям безопасности и соответствия требованиям, в том числе предъявляемым к строго регулируемым организациям, таким как учреждения здравоохранения и торговые предприятия. Amazon Cognito соответствует требованиям HIPAA, стандартам PCI DSS, SOC, ISO / IEC 27001, ISO / IEC 27017, ISO / IEC 27018 и ISO 9001.

Amazon Cognito поддерживает мониторинг с помощью AWS CloudTrail, метрик Amazon CloudWatch и аналитики журналов Amazon CloudWatch. С помощью CloudTrail можно захватывать вызовы API из консоли Amazon Cognito и из вызовов кода операций Amazon Cognito API. С помощью метрик CloudWatch можно отслеживать события, сообщать о них и принимать автоматические меры в случае происшествий практически в реальном времени. С помощью аналитик журналов CloudWatch можно настроить CloudTrail для отправки событий в CloudWatch для мониторинга файлов журнала Amazon Cognito CloudTrail.