Рейтинг:0

Доступ на основе ролей App Engine для учетных записей служб

флаг us

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

Пользователи переднего плана аутентифицируются с помощью Firebase, для пользователя создаются настраиваемые утверждения для определения ролей, которые имеет пользователь. Приложение NestJS проверяет роли в утверждении JWT на уровне метода, реализуя доступ на основе ролей для конечных пользователей. Это работает очень хорошо. Однако… некоторые API вызываются из других приложений App Engine. Я хочу реализовать доступ на основе ролей в этом контексте, т. Е. App Engine A может вызывать GET на App Engine B, но не POST. Я борюсь с тем, как этого добиться.Я могу использовать прокси-сервер с идентификацией, но это не даст контроля на уровне конечной точки или метода - только все приложение, все или ничего. Мой следующий подход заключался в том, чтобы заставить App Engine A отправить JWT в App Engine B, а затем добавить пользовательскую роль в учетную запись службы, под которой работает App Engine A. Моя проблема с этим подходом заключается в том, что вы не можете создавать настраиваемые разрешения для учетной записи службы и не можете создавать настраиваемые роли без разрешения. Я надеялся создать пользовательское разрешение, такое как «myproject.data.read», и убедиться, что учетная запись вызывающей службы имеет это разрешение в App Engine B.

Кто-нибудь еще пробовал что-то подобное и заставил его работать по-другому?

Ответить или комментировать

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