Микроуслуги Node JS с AWS Cognito с использованием лучших практик - PullRequest
0 голосов
/ 22 февраля 2019

Я работаю над узлом js api, который я разделил на несколько небольших apis (микросервисов), которые взаимодействуют друг с другом с помощью запросов и ответов, и я использую angular для внешнего интерфейса, теперь я хочу защитить свой apis с помощью cognito иAWS-амплификация, так что я запутался, где мне разместить код AWS-амплификации в моем проекте?я должен поставить передний конец или у меня должен быть отдельный узел js api для управления безопасностью?И если есть лучший подход, можете ли вы предложить его, пожалуйста, я новичок в Node и angular, я Java-разработчик, поэтому любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 22 февраля 2019

Есть несколько моментов для рассмотрения.Вы не предоставили подробную информацию о том, как ваши службы взаимодействуют, я предполагаю, что HTTP здесь.

Учитывая, что вы хотите защитить свои API, установка безопасности во внешнем интерфейсе делает ваш API уязвимым для тех, кто не использует ваш внешний интерфейс.Таким образом, в общем случае имеет смысл иметь общую базовую службу шлюза / безопасности, которая защищает ваши службы API.

Это может быть что-то вроде

Frontend <-> Gateway <-> Microservices

вместо

Frontend <-> Microservices

В то же время это даст вам возможность добавить более сложную оркестровку вашей сервисной архитектуры на более позднем этапе без настройки внешнего интерфейса.

Теперь, что касается аутентификации, passport.js предоставляет вам действительно простой в использовании интерфейс для добавления аутентификации во входящие запросы.Он поддерживает различные методы аутентификации, включая, но не ограничиваясь, OpenID connect (который, в свою очередь, работает с AWS / cognito).Вместе с express.js вы сможете использовать простую службу маршрутизации / безопасности с несколькими строками кода и возможностью расширять ее, добавляя дополнительные функции / средства безопасности по мере необходимости (например, вы можете добавитьобработка сеанса в какой-то момент или более связанные с безопасностью вещи, такие как защита XSS и т. д. Есть промежуточное программное обеспечение для express, которое охватывает эти темы).

[править] Еще несколько sidenotes относительно безопасности.Возможно, стоит взглянуть на OWASP в целом и, в качестве более конкретной точки, начать с проекта ASWS OWASP , который предоставляет вам набор рекомендаций, которые вы могли бы / должнысоблюдать требования безопасности при разработке веб-приложений.Существует множество шпаргалок, в которых содержатся руководства / рекомендации по распространенным темам, таким как обработка сеансов, обработка файлов cookie, проверка подлинности и другие вопросы, связанные с безопасностью.

...