В моем проекте проект A публикует сообщение, а проект B извлекает его из облака Google. У меня несколько клиентов B, и я хочу ограничить их определенной темой и подпиской. Я пробовал условия IAM, но они не работают для pubsub и, похоже, подходят только для pubsub lite. Кто-нибудь знает, как ограничить доступ пользователей к определенной теме и подписке?
Ограничить доступ пользователей к теме / подписке в google pub / sub
Ответы (1)
Вы можете назначать роли на разных уровнях:
- Организация
- Папка
- Проект
- Ресурс
Когда вы переходите на страницу IAM, вы предоставляете права на уровне проекта и, таким образом, получаете доступ ко всем ресурсам проекта.
В этом случае вы должны предоставить учетную запись службы проекта B роли pubsub в проекте A. Таким образом, учетная запись службы имеет доступ ко всем темам / подпискам.
Чтобы решить эту проблему, вы можете предоставить учетную запись службы только по теме или по подписке (на уровне ресурсов).
- Перейти на страницу темы или подписки
- Установите флажок напротив нужного ресурса.
- Справа, на информационной панели, на вкладке разрешений.
- Нажмите «Добавить участника», чтобы предоставить учетную запись службы (или учетную запись пользователя) только на этом ресурсе.
В качестве альтернативы вы можете использовать метод projects.topics.setIamPolicy
API PubSub для установки разрешений на уровне ресурсов.
Если вы не хотите вызывать API напрямую, вы также можете использовать CLI с этой командой
gcloud pubsub topics set-iam-policy TOPIC POLICY_FILE
person
guillaume blaquiere
schedule
06.03.2021
Спасибо за ответ. Я увидел это и, поработав с ним час или два, смог реализовать это в своем проекте.
- person amir; 07.03.2021