REST API для входа в Google Platform с использованием учетной записи службы - PullRequest
0 голосов
/ 21 декабря 2018

Я создал служебную учетную запись в Google Cloud Platform.Я использую отдельную Java-программу, которая использует GCP Java Client API для получения идентификатора токена аутентификации, используя файл JSON учетной записи службы.Используя идентификатор токена, я могу создать вычислительный экземпляр.

Я не хочу использовать Java API или инструмент gcloud, существует ли REST API, который берет необходимые данные и возвращает идентификатор токена?

Я просмотрел документацию GCP и не смог найти никаких деталей для аутентификации и авторизации через REST с использованием учетной записи службы.

1 Ответ

0 голосов
/ 21 декабря 2018

Я создал служебную учетную запись в Google Cloud Platform.Я использую отдельную Java-программу, которая использует GCP Java Client API для получения идентификатора токена аутентификации, используя файл JSON учетной записи службы.Используя идентификатор токена, я могу создать вычислительный экземпляр.

Использование учетной записи службы - это правильный и рекомендуемый метод проверки подлинности и авторизации программных приложений.

Примечание.Здесь предполагается, что приложение работает на ваших системах под вашим контролем.Если вместо этого вы устанавливаете программное обеспечение на рабочий стол пользователя или систему, не находящуюся под вашим контролем, вы должны использовать Google OAuth 2.0 (учетные записи Google) для получения учетных данных пользователя для авторизации вашего приложения.

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

Я не хочу использовать Java API или инструмент gcloud, существует ли REST API, который принимает необходимые данные ивернуть идентификатор токена?

У вас классическая ситуация "Цыпленок или яйцо".Вам нужны учетные данные для аутентификации и авторизации, в противном случае любой может создать учетные данные.Учетные данные учетной записи службы Google обеспечивают это.Чтобы создать учетные данные служебной учетной записи, используйте консоль Google Cloud Console или gcloud CLI для загрузки файла Json служебной учетной записи.

Я просмотрел документацию GCP и не смог найти какие-либо подробности для проверки подлинности и авторизации.через REST с использованием служебной учетной записи.

Этот вопрос сбивает с толку.Хотите ли вы использовать учетные данные учетной записи службы для авторизации своих вызовов API Google ИЛИ хотите ли вы вызывать API Google для получения учетных данных?

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

Во втором случае используйте Google OAuth 2.0 для получения учетных данных.Google OAuth 2.0 использует учетные записи Google для аутентификации.Этот метод предоставляет вам токен доступа (как и учетную запись службы) и токен обновления и идентификатор клиента.Вам нужно будет добавить идентификатор пользователя учетных записей Google в свой Google Cloud IAM, который предусматривает авторизацию (привилегии).

...