Ограничение доступа к учетной записи службы облачной платформы Google для указания c учетных записей Gmail - PullRequest
1 голос
/ 10 января 2020

Я недавно создал программу, которая прослушивает PUB / SUB topi c, подключенную к учетной записи Gmail. У меня все работает нормально. Когда приходит уведомление pu sh, оно выполняет различные задачи в зависимости от содержимого сообщения.

Проблема в том, что я использую служебную учетную запись для подключения ко всем API, которые мне нужны в облачной платформе Google. Сервисная учетная запись обеспечивает доступ ко ВСЕМ нашим учетным записям Gmail в нашей организации. Мне нужно как-то ограничить доступ к определенной c учетной записи Gmail.

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

Я попытался настроить организационное подразделение и попытаться каким-то образом ограничить область применения, но там Похоже, что знаю способ (который я могу найти), чтобы сделать это. Я попытался поговорить с помощью Google Cloud Platform, но они не знали ответа, так как он не совсем соответствовал их компетенции, и направили меня в другую группу помощи, но я не имею права на них, потому что я не t платить за поддержку.

Редактировать: На самом деле не представляется возможным, что я хочу сделать. Я вернусь к методу аутентификации OAuth2.

1 Ответ

0 голосов
/ 10 января 2020

Понимание учетных записей служб объясняет возможности:

Учетные записи служб можно рассматривать как ресурс и как личность.

  • Рассматривая служебную учетную запись как личность, вы можете назначить роль служебной учетной записи, предоставив ей доступ к ресурсу (например, проекту).

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

Теперь попробуйте вписать это невыполнимое намерение в это ...

Если вам необходимо ограничить доступ учетной записи службы к пользовательским c ресурсам, это можно сделать только на уровне приложения, а не на уровне системы - поскольку учетная запись службы может выдавать себя за любую личность пользователя ; например. чтобы не испортить владение, при загрузке файлов от имени пользователя. Если вы хотите, чтобы 1 пользователь имел доступ к 1 пользовательскому ресурсу c, зачем даже использовать учетную запись службы? А при использовании служебной учетной записи, почему бы просто не выдать себя за правильную личность? Это может быть даже жестко запрограммировано, если это всего лишь один идентификатор пользователя Но, тем не менее, это можно сделать только на уровне приложения, но нельзя настроить для самой учетной записи службы.

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