Что такое Amazon Cognito?

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

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

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

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

Ключи доступа WebAuthn обеспечивают повышенную безопасность, устраняя необходимость в паролях, снижая риск фишинга и кражи мандатов. Они обеспечивают удобство работы пользователей с помощью более быстрых и удобных методов аутентификации, таких как биометрические данные или аппаратные токены. Кроме того, ключи доступа повышают общую безопасность аккаунта, используя криптографию с открытым ключом и гарантируя, что конфиденциальная информация никогда не передается на сервера и не хранится на них. Amazon Cognito предоставляет поддержку [управляемого входа] и API для создания и хранения до 20 ключей доступа на аккаунт.

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

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

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

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

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

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

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

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

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

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

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

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

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

Брокер мандатов для Amazon Cognito, также известный как пулы идентификационных данных Amazon Cognito, обеспечивает единый вход на ресурсы AWS, такие как Amazon DynamoDB, корзины Amazon S3, бессерверные компоненты AWS 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 в комплексе со встроенной интеграцией Брандмауэра веб-приложений AWS (WAF) предлагает расширенные функции обнаружения ботов, которые могут помочь вашей организации избавиться от необходимости оплачивать автоматизированные аккаунты и снизить влияние атак ботов.

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

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

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

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

Amazon Cognito предлагает расширенное ведение журнала пользовательских событий, таких как вход в систему, регистрация и смена пароля, а также собирает подробные данные о запросах, такие как уровень риска, местоположение, исходный IP-адрес и пользовательский агент. Клиенты могут передавать эти данные журнала событий в Amazon CloudWatch, Amazon S3 или сторонние решения по агрегации журналов с помощью Данных Amazon Kinesis Firehose. Благодаря этому можно осуществлять всесторонний мониторинг и анализ активности пользователей.

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