Как вызывать API Gateway только со статического сайта s3 - PullRequest
1 голос
/ 13 марта 2019

Я разместил статический сайт в корзине S3 со ссылками на REST API, который я развернул с помощью Amazon API Gateway. Теперь мне бы хотелось, чтобы методы REST API можно было вызывать только со статического сайта.

Чтобы написать политику ресурсов, я не могу разрешить статический IP, потому что AWS очень ясно, что IP сайта S3 является динамическим. Единственный вариант, о котором я могу подумать, - это включить CORS в шлюзе API и настроить Access-Control-Allow-Origin как домен статического сайта. Но это не кажется мне очень убедительным ..

Есть ли лучшая альтернатива?

1 Ответ

1 голос
/ 13 марта 2019

В любом случае вы не можете этого сделать, поскольку запрос API Gateway поступает из браузера посетителя, а не со стороны сервера службы хостинга S3.

CORS будет ограничивать другие веб-сайты, вызывающие ваш API с использованиемобычные браузеры, но клиент REST API может вызывать его без ограничений.

Если вы хотите ограничить доступ, либо используйте ключ API (больше неясности, чем безопасность), либо внедрите Custom Authorizor в API Gateway для авторизации ваших клиентов.Смотрите здесь: https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-use-lambda-authorizer.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...