Как обезопасить соединение между различными GAE? - PullRequest
0 голосов
/ 04 октября 2018

По какой-то причине мне нужно создать два GAE с проектами A и B:

  • A (flex env) - это прокси-сервер, ограниченный конечной точкой и ограничивающий доступ ключом API.
  • B (стандартное env) - это реальный сервер, который выполняет реальные задания. (B не может применять среду Endpoint)
  • Клиент знает только адрес прокси-сервера и отправляет все запросы на A

СейчасЯ хотел бы обеспечить соединение между A и B. Другими словами, B доступен только из A. Есть ли способ достичь этого?(Брандмауэр здесь не работает, потому что GAE не имеет статического диапазона IP-адресов.)

1 Ответ

0 голосов
/ 04 октября 2018

Если вы хотите определить личность приложения App Engine, которое отправляет запрос в ваше приложение App Engine, вы можете использовать заголовок запроса X-Appengine-Inbound-Appid.Этот заголовок добавляется к запросу службой URLFetch и не может быть изменен пользователем, поэтому он безопасно указывает идентификатор запрашивающего приложения, если таковой имеется.

В обработчике приложения вы можете проверить входящий идентификатор, прочитав X-Appengine-Inbound-Appid и сравнение его со списком идентификаторов, которым разрешено делать запросы.

Примечание. Заголовок X-Appengine-Inbound-Appid устанавливается только в том случае, если выполняется вызов на appspot.com.домен.Если приложение имеет собственный домен, этот заголовок не будет установлен.

https://cloud.google.com/appengine/docs/standard/go/appidentity/#asserting_identity_to_other_app_engine_apps

Это должно работать одинаково для всех стандартных сред App Engine.

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