Проект и разрешения облачной платформы для скрипта Служб Google, привязанного к электронной таблице - PullRequest
0 голосов
/ 04 июня 2019

Я пишу сценарий Google Apps, который «связан» с электронной таблицей Google (доступ к сценарию можно получить, выбрав «Редактор сценариев» в меню «Инструменты» в электронной таблице).

Есть две учетные записи Google, которые я использую, одна из которых (назовите ее a@hotmail.com) - моя, а другая (назовите ее t@gmail.com) - созданная учетная запись чтобы отвечать за запуск скрипта.

Проблема, с которой я сейчас сталкиваюсь, заключается в том, что когда я вошел в систему как a@hotmail.com, у меня есть определенные способности, связанные со сценарием, которого у меня нет, когда я вошел в систему как t @ gmail .com. То, что я специально заметил, это:

  • Мне нужно было включить API расширенного календаря, что нужно сделать в двух разных местах. Во-первых, в редакторе сценариев в меню «Ресурсы» вы можете выбрать «Расширенные службы Google» и включить API расширенного календаря, и я мог бы сделать это как t@gmail.com. Но есть примечание, поясняющее: «Эти службы также должны быть включены в инструментальной панели API Google Cloud Platform», и когда я щелкнул эту ссылку, я перешел на страницу, на которой было сказано: «Вам не хватает хотя бы одного из следующих необходимых разрешений: Проект resourcemanager.projects.get». Однако, когда я вошел в систему как a@hotmail.com, у меня есть возможность включить API расширенного календаря на панели инструментов API Google Cloud Platform.

  • Когда я запускаю сценарий (который я могу сделать как a@hotmail.com или t@gmail.com, каждая из которых имеет разрешение на запуск сценария), он генерирует «Журналы Stackdriver», который я могу просмотреть в «Панели инструментов скрипта приложений». Когда я вошел как a@hotmail.com, я могу видеть журналы, но когда я вошел как t@gmail.com, я могу видеть только список выполнений, а не фактические сообщения журнала (это выполнения, которые выполнялись t@gmail.com) - там написано: «У вас нет доступа к журналам. Запросите разрешение у владельца проекта на просмотр журналов».

Таким образом, есть некоторый базовый Проект Google Cloud Platform (GCP) , связанный со сценарием, который, я думаю, был автоматически создан при создании сценария. (Я также не уверен, является ли Script Project типом проекта GCP или отдельной вещью, которая случайно имеет одно и то же имя.)

Когда я вошел как a@hotmail.com и зашел в консоль Google Cloud Platform, я могу просмотреть проект, соответствующий сценарию (когда я вошел в систему как t@gmail.com, я могу «т). Если я зайду в раздел IAM , он выдаст список пользователей. Я могу сравнить этот список пользователей со списком, который я вижу, выбрав «Файл» -> «Поделиться» в меню в электронной таблице, и я обнаружил, что

  • Существует 1 пользователь, который является «владельцем» электронной таблицы и «владельцем» проекта.

  • 60 пользователей имеют право «редактировать» электронную таблицу и являются «редакторами» проекта. (Среди них a@hotmail.com.)

  • 1 пользователь имеет право «редактировать» в электронной таблице и не имеет роли IAM в проекте. (Это, к сожалению, t@gmail.com.)

  • 4 пользователя имеют разрешение на «чтение» в электронной таблице и не имеют роли IAM в проекте.

  • Есть 1 пользователь, который имеет разрешение на «чтение» в электронной таблице и является «редактором» проекта.

  • Есть 7 пользователей, которые не имеют разрешения на электронную таблицу и являются «редакторами» проекта.

Я очень сомневаюсь, что какое-либо назначение роли IAM было сделано намеренно, поэтому я подозреваю, что это каким-то образом является артефактом того, как были предоставлены разрешения для электронной таблицы, или что-то в этом роде. Я, как a@hotmail.com, не могу менять роли IAM, а я, как t@gmail.com, даже не вижу их, насколько я могу судить. Но t@gmail.com имеет возможность редактировать скрипт.

Итак, мой главный вопрос: если предположить, что никто не назначал роли IAM напрямую, как могла сложиться такая ситуация, что редакторы проектов - это не совсем та же группа людей, что и редакторы электронных таблиц?Каков механизм, с помощью которого роли IAM создаются косвенно, на основе разрешений электронной таблицы или чего-то еще?

Обновление: разрешения электронной таблицы изменились, и каким-то образом это привело к изменению ролей IAM таким образом, что теперь наборПользователи, которые являются «редакторами» проекта, - это то же самое, что и набор пользователей, у которых есть разрешение «редактировать» в электронной таблице (как я и ожидал, так будет всегда).Это включает в себя то, что t@gmail.com теперь является «редактором» проекта, несмотря на тот факт, что разрешения этого пользователя в электронной таблице не изменились по сравнению с тем, что было раньше.

...