В настоящее время мы выполняем развертывание в AppSync с помощью плагина serverless-appsync и framework-serverless (естественно).
Наш API на 100% открыт и не аутентифицирован. Все запросы и мутации в основном общедоступны, поскольку на данный момент у нас нет нужды в пользователях (например, через пул Cognito).
Мы добавили первый уровень безопасности с использованием ключей API, но это, несомненно, немного, поскольку ключ API включен как есть в исходные тексты. Мы хотели бы добавить дополнительные препятствия, чтобы злоумышленникам было труднее использовать этот интерфейс API.
Несколько вещей приходят на ум:
- ограничение скорости (в настоящее время не поддерживается AppSyncно я читал это, видимо, в работах). Я не хочу делать это, используя заказное решение в Lambda, например.
- , чтобы убедиться, что только трафик с веб-сайта может использовать наш API, в дополнение к нашим собственным разработчикам ... Я мог бы, вероятно,сделать это с помощью преобразователей конвейера, но я не слишком заинтересован в том, чтобы делать это на этом непонятном и громоздком языке VTL.
- cors, ...
Я подумываю перейти на Apollo Serverпоскольку это решение кажется более открытым и настраиваемым ...