Безопасность GAS для G-сайтов?

Я хочу создать сценарий, который будет работать на сайте Google. Сценарий будет выполнять специализированные вычисления для данного пользователя, а затем отображать ответ для пользователя. Сценарий будет зависеть от ввода пользователя, но сам код не должен быть доступен для просмотра пользователем. Я хочу, чтобы код находился в «черном ящике», чтобы формулу расчета можно было сохранить в секрете. Это возможно?

Я искал документацию, но нашел только это, которое не отвечает на этот вопрос: https://developers.google.com/apps-script/guides/services/authorization#permissions_and_types_of_scripts


person user3014111    schedule 11.10.2014    source источник
comment
Ваш сайт находится в домене?   -  person Serge insas    schedule 11.10.2014
comment
Нет. Я думаю, что мой ответ есть в документации, но я еще не смог его найти.   -  person user3014111    schedule 11.10.2014
comment
Страницы со связанной информацией, но не отвечающие на вопрос: developers.google.com / apps-script / guides / bound developers.google.com/ apps-script / guides / web # permissions developers.google.com / apps-script / guides / Я думаю, что основная путаница начинается с того, что я не знаю, будет ли мой сценарий привязан к Сайтам Google. Мне кажется, что документация по этому поводу сбивает меня с толку. developers.google.com/apps-script/guides/.   -  person user3014111    schedule 11.10.2014


Ответы (2)


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

Если он встроен, он будет доступен из списка скриптов при редактировании страницы, в противном случае вам придется использовать URL-адрес .exec развернутого веб-приложения.

В любом случае, это не меняет способа доступа людей к приложению.

Вы можете определить этот параметр при развертывании приложения (что является обязательным в обоих случаях), разрешив анонимный доступ или требуя входа в систему.

Если я вас правильно понял, вы хотели бы ограничить доступ для некоторых людей, но не делиться кодом.

В зависимости от того, как вы определили режим доступа выше и используете ли вы Google Apps внутри домена или нет, вы сможете сделать это двумя способами:

  1. в домене вы можете получить зарегистрированное удостоверение пользователя и использовать его для принятия / отклонения показа приложения.
  2. в «обычной» учетной записи Gmail вам придется реализовать какую-то функцию ведения журнала, чтобы запрашивать имя пользователя и пароль для предоставления доступа к активной части приложения.

В обоих случаях вам никогда не нужно предоставлять общий доступ к самому сценарию, этот параметр совместного использования не зависит от доступа веб-приложения.

Надеюсь, я правильно понял ваш вопрос ... если нет, не стесняйтесь комментировать.

person Serge insas    schedule 11.10.2014
comment
Спасибо, @Serge insas! (Я отсутствовал несколько дней.) Чтобы уточнить, я не в домене. Моя главная забота - сохранить конфиденциальность математических формул. Я хочу, чтобы математические формулы выполнялись на стороне сервера, а затем ответ передавался обратно клиенту. ... и теперь, когда вы упомянули об этом, я полагаю, что было бы неплохо ограничить доступ для определенных вошедших в систему людей, что, я думаю, я, вероятно, смогу сделать с помощью разрешений страницы G-сайта. - person user3014111; 14.10.2014
comment
Глядя на документацию по частным функциям, опубликованную @ living2serve ... В этом примере функция getBankBalance () доступна в клиентском коде; пользователь, просматривающий ваш исходный код, может узнать его имя, даже если вы его не называете. Однако функция deepSecret_ () полностью невидима для клиента. ... но меня беспокоит предыдущий раздел, в котором говорится, что эти функции не могут быть вызваны из google.script. По-видимому, мне нужно выяснить, как вызывать частные функции ... - person user3014111; 14.10.2014
comment
Кроме того, мне интересно, неправильно ли я понимаю определение домена. У меня есть G-сайт, но моя G-учетная запись не принадлежит университету или другому предприятию, которое использует G-платформу, поэтому я думаю, что у меня нет домена. Сейчас у меня только личный кабинет. Это может измениться, если окажется, что покупка бизнес-аккаунта имеет смысл. - person user3014111; 14.10.2014

Вы можете проверить раздел «Частные функции» на следующей странице… Думаю, этот пример похож на то, о чем вы говорите.

https://developers.google.com/apps-script/guides/html/communication?hl=ru

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

person living2serve    schedule 11.10.2014
comment
Спасибо, @ living2serve! Я прочитал, и кажется, что это может быть вариант. У меня нет большого опыта программирования, поэтому я даже не подумал о термине частная функция. Я буду искать соответствующую информацию. - person user3014111; 12.10.2014