Как вы реализуете авторизацию на основе ролей после аутентификации с помощью Google Cloud IAP?

#google-cloud-platform #rbac #google-iap

#google-cloud-platform #rbac #google-iap

Вопрос:

У меня есть служба, предоставляющая API, работающий в Google Cloud за IAP. Аутентификация работает так, как ожидалось, чтобы разрешить пользователям доступ к API.

Чтобы заблокировать API на более детальном уровне, я хотел бы разрешить доступ к определенным путям на основе того, какие роли IAM пользователь имеет в проекте Google.

Я подумал, что мог бы использовать один из API Google rest, чтобы получить список ролей с учетом идентификатора пользователя, который отображается в заголовке из IAP (или найти способ украсить запрос информацией о роли), но мне не удается выяснить, какие области мне нужны или какой API использовать.

Кто-нибудь знает, как сделать что-то подобное?

Ответ №1:

Я думаю, вы могли бы получить членство пользователя в группах с помощью Directory API. В нашей дорожной карте есть пункт о добавлении членства в группах в IAP JWT, но сегодня это невозможно.

Вы также можете использовать условия хоста и пути, чтобы установить разные политики доступа для разных путей внутри приложения, например, разрешить foo-users@ access, если путь начинается с /foo, и bar-users@ access, если путь начинается с /bar.

—Мэтью, инженер Google Cloud IAP

Комментарии:

1. Спасибо @matthew-sachs, это полезно. Полезно знать, что членство в группах может быть доступно в какой-то момент. Есть идеи, если эта функция появится через месяцы или годы?