В Amazon Cognito улучшена поддержка контекста для потоков межмашинной (M2M) авторизации
Теперь Amazon Cognito позволяет включать дополнительную контекстную информацию в поток мандата клиента по спецификации OAuth 2.0 для запросов межмашинных (M2M) токенов доступа, что расширяет контроль над взаимодействием между компьютерами. Авторизация M2M обычно используется для автоматизированных процессов, таких как синхронизация данных, рабочие процессы, управляемые событиями, и взаимодействие между микросервисами. Благодаря этой возможности можно указывать контекстуальные сведения (например, атрибуты компьютера, такие как IP-адрес, местоположение и среда, или бизнес-контекст, такой как имя приложения, идентификатор клиента и т. д.) при запросе токенов доступа в рамках взаимодействия между компьютерами. Например, рассмотрим внутреннюю службу API организации, для которой требуются разные шаблоны доступа в среде разработки и рабочей среде. Теперь при запросе токенов доступа параметр ClientMetadata позволяет указать {"environment": "dev"} для среды разработки или {"environment": "prod"} для рабочей среды. Cognito поддерживает триггеры Lambda, запускаемые до генерации токенов, благодаря чему можно обрабатывать этот контекст для настройки областей действия токенов (например, api:read_all, api:write_restricted) и добавлять утверждения, например предел частоты запросов, для конкретной среды. Затем API может проанализировать эти области действия и утверждения, чтобы обеспечить надлежащий контроль доступа и ограничить частоту запросов.
Без параметра ClientMetadata для передачи контекстной информации часто нужны отдельные клиенты приложений (например, 'internal-api-dev', 'internal-api-prod'), что приводит к бесконтрольному увеличению их количества. Теперь один клиент приложения M2M может включать контекстные метаданные в каждый запрос, позволяя уменьшить потребность в клиентах приложений, оптимизировать их стоимость и обеспечить при этом контекстно-зависимую авторизацию.
Эта возможность предоставляется пользователям Amazon Cognito, использующим уровни Essentials или Plus, в регионах AWS, где доступен сервис Cognito, включая регионы AWS GovCloud (США). Подробнее см. в руководстве для разработчиков и на странице сведений о ценах на потоки авторизации M2M.