В консоли Google Cloud безопасно ли предоставить роль Firebase Admin SDK учетной записи вычислительной службы по умолчанию?

Чтобы использовать Firebase Admin SDK в Firebase Cloud Functions v2, необходимо предоставить «Учетной записи вычислительной службы по умолчанию» в консоли Google Cloud роль «Агент обслуживания администратора Firebase Admin SDK». Это связано с тем, что функции версии 2 используют эту учетную запись службы для доступа к Firebase Admin SDK, а не учетную запись службы «firebase-adminsdk», которая была автоматически создана с этой вышеупомянутой ролью.

Безопасно ли предоставить эту роль учетной записи службы вычислений по умолчанию? Или есть способ заставить функции v2 использовать вместо этого учетную запись службы firebase-adminsdk?


57
1

Ответ:

Решено

Всякий раз, когда вы предоставляете дополнительные разрешения чему-либо, это может считаться «небезопасным», если не понимать общую картину всех задействованных облачных компонентов и их индивидуальных конфигураций безопасности. Если быть точным, если вы дадите это разрешение, мы понятия не имеем, какие другие части вашего проекта могут быть затронуты. Так что, учитывая представленную здесь информацию, действительно невозможно сказать, «безопасно» это или нет.

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

Если вы хотите, чтобы ваш код облачных функций был максимально «безопасным», вам следует инициализировать Firebase Admin SDK с учетной записью службы, которой предоставлены только определенные разрешения, необходимые для выполнения любых действий с SDK. Это означает, что вам нужно будет передать параметр AppOptions в InitializeApp с соответствующими учетными данными сервисной учетной записи.