Node.js — Облачное приложение Google для работы

#node.js #authentication #google-cloud-platform

#node.js #аутентификация #google-облачная платформа

Вопрос:

Я сделал простой Node.js приложение, использующее API преобразования речи в текст Google Cloud.
Я мог бы успешно пройти аутентификацию локально, но как мне пройти аутентификацию в производстве, сохранив при этом личные учетные данные?
P.S. Мое приложение не использует никаких других серверов, кроме серверов Google.

Ответ №1:

Учетные данные, необходимые для выполнения клиентских вызовов, основаны на стратегии, называемой учетными данными приложения по умолчанию. Их можно найти с помощью переменной среды, вызываемой GOOGLE_APPLICATION_CREDENTIALS , если переменная присутствует. Если переменная the не установлена, то можно использовать учетные данные по умолчанию. В следующей статье приведены подробные рекомендации по этой теме:

Настройка аутентификации для производственных приложений между серверами

Если ваш клиент запущен за пределами Google в вашей собственной среде (и, следовательно, не в вычислительном ядре или кластере GKE), то, скорее всего, предполагается, что учетные данные содержатся в файле, который сам по себе является содержимым, защищенным правами доступа локальной ОС. Например, содержится в файле, разрешение на чтение которого ограничено либо пользователем, запускающим ваше приложение, либо группой, членом которой является пользователь.

Ответ №2:

Вам нужно быть более конкретным, чтобы получить более точные ответы

====================

Хорошо, все дело в том, как вы контролируете разрешения своей учетной записи службы, и на этой странице есть примечание: «Если вы разрабатываете производственное приложение, укажите более подробные разрешения, чем Project > Owner. Дополнительные сведения см. в разделе Предоставление ролей учетным записям служб.»

Вы должны использовать специальную учетную запись службы, необходимую для использования этой службы. У меня нет конкретного имени роли (что-то вроде AutoML Viewer или Editor), и вам нужно протестировать минимально работоспособную роль в вашей среде разработки. После чего вы можете развернуть свой сервис в PROD и убедиться, что ключ с файлом 0400. Таким образом, более или менее учетная запись может использовать ограниченный сервис, как и ожидалось

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

1. Я использую преобразование речи в текст в Google Cloud . В связанной статье описывается, как настроить аутентификацию локально, для разработки. Однако, насколько я могу судить, ничего не упоминается об аутентификации для производства, что мне и нужно. Вы знаете, как решить эту проблему?

2. Хорошо, все дело в том, как вы контролируете разрешения своей учетной записи службы, и на этой странице есть примечание: «Если вы разрабатываете производственное приложение, укажите более подробные разрешения, чем Project > Owner. Дополнительные сведения см. в разделе Предоставление ролей учетным записям служб.»

3. Не требует ли этот метод, чтобы файл моих учетных данных хранился на каждом компьютере, на котором будет запущено мое приложение?

4. Да, как упоминалось @kolban, каждая виртуальная машина поставляется с учетной записью службы по умолчанию, которая имеет больше прав доступа, чем этот AutoML. Вам решать выбрать любой из них. Чтобы управлять другим ключом, вы можете использовать CM tool.

5. Я не уверен, что полностью понимаю. Можете ли вы помочь мне дальше? Я имею в виду, как мне заставить мое приложение работать на других компьютерах? Поскольку мое приложение разработано с использованием Electron, я хочу, чтобы оно безупречно работало на разных платформах.