Для использования Admin SDK с проектом у вас должен быть доступ к учетным данным учетной записи службы для этого проекта. И с этими учетными данными у вас есть полный и неограниченный доступ к проекту. Вы должны предоставлять учетные данные учетной записи службы только тем пользователям, которые должны иметь такой доступ, как правило, сотрудникам проекта.
Для администраторов уровня приложений, которые не являются соавторами проекта, я обычно рекомендую установить административную панель управления с компонентом на стороне сервера и на стороне клиента.
серверный компонент работает в доверенной среде, которая для меня часто является Cloud Functions, но также может быть сервером под вашим контролем или даже машиной разработки. Именно здесь вы используете Admin SDK для выполнения действий по администрированию приложений, которые вы затем предоставляете в аутентифицированной конечной точке, которую могут вызывать клиентские приложения.
Клиентский компонент - это то, что использует администратор приложения. Для меня это часто очень простая веб-страница, но она также может быть любой другой технологией, которую вы предпочитаете, если она может вызывать конечные точки, которые вы выставили на сервере.
Ключевым моментом здесь является то, что сервер проверяет, что пользователь, который вызывает его, уполномочен сделать это, прежде чем выполнять административные действия от его имени. При таком подходе вам не нужно передавать учетные данные службы сторонним сотрудникам, и при необходимости вы можете отозвать учетные данные администратора.