iSeb
@iSeb
потребитель услуг IT

Вопрос о правах доступа, или как защищаются google табличные скрипты?

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

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

В чем логика ? Или как все таки работают с этим на высоком уровне где прописываются сложные и многоуровневые таблицы данных и как организовывается это ?

Возможно я еще чего то не знаю или не понимаю (
  • Вопрос задан
  • 1555 просмотров
Решения вопроса 1
oshliaer
@oshliaer Куратор тега Google Apps Script
Google Products Expert
Скрипты никак не связаны с ограничением на ввод в ячейку, потому что скрипты это REST.
  • Если вы удалите скрипт, то защита ячеек никак не изменится.
  • Если вы попробуете изменить скрипт так, чтобы значение защищенных (условно от вас) ячеек изменилось, то сработает защита.
  • Если вы измените скрипт пользовательской функции так, чтобы она возвращала другое значение, то в защищенной ячейке она будет возвращать другое значение, но само значение ячейки по прежнему не изменить.


По моему мнению (а ровно и по мнению Гугл) никаких логических противоречий.

Ни в каких ячейках никаких скриптов не находится. Google Apps Script - это синтаксический сахар для Google REST API.

К сожалению, вопрос поставлен так, что тут нельзя дать и хороший и правильный ответ. Если коротко, то вам нужно изменить свое отношение к этой парадигме. Это просто работает не так, как вы себе представляете. Для познающего это нормально.

Если конкретно о защите кода, вне свойств Таблиц, то существуют механизмы сокрытия и распространения защищенного кода. Например, дополнения позволяют "встраивать код в Таблицу", при этом пользователь не может его изменить, он даже не видит этот код.

Особенно отмечу бессмысленность сравнения VBA и GAS.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@Karpion
Кажется, я понял Ваш вопрос.

Вы упустили, что гугловские таблицы обрабатываются скриптами как на клиенте (в браузере), так и на сервере.
Допустим, есть таблица из трёх ячеек:
  1. доступна мне полностью;
  2. доступна мне только на чтение;
  3. вообще мне недоступна.
И вот я весь из себя такой типа супер-пупер-мега-хакер - решил подменить скрипты, которые мне прислал Гугл, на свои собственные, которые мне ничего не запрещают, а чисто конкретно делают то, что я в них написал.
Для начала - я просто не получу третью ячейку: мне там выдадут пустоту или сообщение "не для тебя этот цветок вырастили".
Вторую ячейку я получу и даже смогу её изменить. Но вот при попытке записи её на сервер - мне просто откажут в выполнении моего запроса, вернут сообщение "не буду менять". При этом у меня на экране в этой ячейке м.б. что угодно - а все остальные, кто будут пользоваться этой табличкой (и будут иметь право читать вторую ячейку) - увидят там старое значение, а не то, которое я туда пытался вписать.

Возможно, Вам проще будет понять ситуацию, если представить, будто каждая ячейка лежит в отдельном файле на файловом сервере. Ну и что толку, что редактор файлов исполняется у меня на компьютере, и я могу его модифицировать?
Ответ написан
@Mirtopir
Отличный вопрос, но так и не получен однозначный ответ.
Проблемой является открытые скрипты для людей с доступом на редактирование хотя бы одной ячейки.
И как бороться с это проблемой - непонятно.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы