Безопасно разрешить Google App Engine для внутренней сети / серверов компании для сценариев Служб Google - PullRequest
1 голос
/ 28 октября 2019

Хорошо задокументировано, что Google Apps Script запускается на серверах Google App Engine, которые не имеют доступа к внутренней сети / серверу компании:

В соответствии с документацией, если вы хотите, чтобы проект скрипта Google Apps имел доступ к внутренней сети / серверу, вам придется внести в белый список IP-адреса Google,Но мы все знаем, что это не самый безопасный вариант. Фактически, в документации даже сказано так:

Обратите внимание, что использование статической фильтрации IP-адресов не считается безопасным и эффективным средством защиты. Например, злоумышленник может настроить вредоносное приложение App Engine, которое может использовать тот же диапазон IP-адресов, что и ваше приложение. Вместо этого мы предлагаем использовать глубокоэшелонированную защиту , используя OAuth и Certs .

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

Итак, мой вопрос: как организация, использующая G-Suite Enterprise, может безопасно предоставлять проектам Google Apps Script доступ к внутренней сети компании?

Ответы [ 2 ]

2 голосов
/ 29 октября 2019

В документации совершенно ясно сказано, что, поскольку сценарии приложений запускаются на совместно используемых экземплярах App Engine, невозможно ограничить их использованием IP, и это также подразумевает, что сетевые возможности будут очень ограничены (т. Е. Отсутствует пиринг VPC или тому подобное). Поэтому, как и в выделенном блоке, они предлагают реализовать аутентификацию только по ограничению IP.

Помимо аутентификации, App Script также поддерживает шифрование и аутентификацию сервера с использованием SSL ( пример кода). ). Это должно защитить соединение от перехвата при отправке через Интернет.

Более того, вы можете реализовать механизм «полу IP-ограничения», технически называемый Port Knocking , который кратко работает следующим образом:

  1. Сначала создайте специальную конечную точку, требует аутентификации, принимает IP-адрес в качестве ввода. По запросу вы открываете брандмауэр, чтобы принять соединение с этого IP-адреса с внутренней сетью в течение ограниченного времени (например, 5 минут).
  2. В сценарии приложения используйте URL Fetch, чтобы запроситьконечная точка, так что вашему экземпляру сценариев временно разрешен доступ к вашей сети.

Конечно, это не будет идеальным решением, поскольку один экземпляр App Engine выполняет много сценариев одновременно, а белый список открывается в течение заданного времени. , но все же это значительно лучше, чем постоянное открытие порта для всех IP-адресов Google (App Engine).

0 голосов
/ 05 ноября 2019

Apps Script - отличный инструмент для упрощения задач при использовании сервисов G Suite , к сожалению, то, что вы пытаетесь достичь, недоступно. Кроме того, имейте в виду, что Apps Script не построен на App Engine, это совершенно другой продукт.

Поэтому, если то, что показано в документации, не может удовлетворить ваши требования,проверьте другие альтернативы Google, например App Engine или Google Cloud Platform вместо G Suite .

...