Учетные данные используются для получения токена доступа от серверов авторизации Google, чтобы ваше приложение могло вызывать API Google Workspace. В этом документе описано, как выбрать и настроить учетные данные, необходимые вашему приложению.
Выберите подходящие для вас учетные данные доступа.
Необходимые учетные данные зависят от типа данных, платформы и метода доступа вашего приложения. Доступны три типа учетных данных:
| Вариант использования | Метод аутентификации | Об этом методе аутентификации |
|---|---|---|
| Получайте анонимный доступ к общедоступным данным в своем приложении. | API-ключи | Перед использованием этого метода аутентификации убедитесь, что используемый вами API поддерживает ключи API. |
| Получите доступ к данным пользователя, таким как его адрес электронной почты или возраст. | Идентификатор клиента OAuth | Для этого вашему приложению необходимо запросить и получить согласие пользователя. |
| Получайте доступ к данным, принадлежащим вашему приложению, к определенным общим документам (например, Google Sheets) или к ресурсам Google Workspace от имени пользователей посредством делегирования полномочий в рамках всего домена. | Служебный аккаунт | Когда приложение проходит аутентификацию в качестве служебной учетной записи, оно получает доступ ко всем ресурсам, к которым у этой учетной записи есть разрешение на доступ. |
Определения терминов, встречающихся на этой странице, см. в разделе « Обзор аутентификации и авторизации» .
Учетные данные ключа API
Ключ API представляет собой длинную строку, содержащую буквы верхнего и нижнего регистра, цифры, символы подчеркивания и дефисы, например, AIzaSyDaGmWKa4JsXZ-HjGw7ISLn_3namBGewQe . Этот метод аутентификации используется для анонимного доступа к общедоступным данным, таким как файлы Google Workspace, предоставленные с помощью параметра общего доступа «Любой пользователь в Интернете по этой ссылке». Для получения более подробной информации см. раздел «Управление ключами API» .
Для создания ключа API:
- В консоли Google Cloud перейдите в > API и сервисы > Учетные данные .
- Нажмите «Создать учетные данные» > «Ключ API» .
- Ваш новый API-ключ отображен.
- Нажмите «Копировать , чтобы скопировать свой API-ключ для использования в коде вашего приложения. API-ключ также можно найти в разделе «API-ключи» в учетных данных вашего проекта.
- Для предотвращения несанкционированного использования мы рекомендуем ограничить места и типы API, для которых можно использовать ключ API. Более подробную информацию см. в разделе «Добавление ограничений API» .
Учетные данные клиента OAuth
Для аутентификации конечных пользователей и доступа к пользовательским данным в вашем приложении необходимо создать один или несколько идентификаторов клиента OAuth 2.0. Идентификатор клиента используется для идентификации отдельного приложения на серверах OAuth Google. Если ваше приложение работает на нескольких платформах, необходимо создать отдельный идентификатор клиента для каждой платформы.Выберите тип вашего приложения , чтобы получить подробные инструкции по созданию идентификатора клиента OAuth:
Веб-приложение
- В консоли Google Cloud перейдите в > Платформа аутентификации Google > Клиенты .
- Нажмите «Создать клиента» .
- Выберите «Тип приложения» > «Веб-приложение» .
- В поле «Имя» введите имя для учетных данных. Это имя отображается только в консоли Google Cloud.
- Добавьте авторизованные URI, связанные с вашим приложением:
- Клиентские приложения (JavaScript) – В разделе «Авторизованные источники JavaScript» нажмите «Добавить URI» . Затем введите URI, который будет использоваться для запросов браузера. Это определяет домены, с которых ваше приложение может отправлять API-запросы на сервер OAuth 2.0.
- Для серверных приложений (Java, Python и другие) — в разделе «Авторизованные URI перенаправления» нажмите «Добавить URI» . Затем введите URI конечной точки, на которую сервер OAuth 2.0 сможет отправлять ответы.
- Нажмите «Создать» .
Вновь созданные учетные данные отображаются в разделе «Идентификаторы клиентов OAuth 2.0» .
Обратите внимание, что секретные ключи клиента не используются в веб-приложениях.
Android
- В консоли Google Cloud перейдите в > Платформа аутентификации Google > Клиенты .
- Нажмите «Создать клиента» .
- Нажмите «Тип приложения» > «Android» .
- В поле «Имя» введите имя для учетных данных. Это имя отображается только в консоли Google Cloud.
- В поле «Имя пакета» введите имя пакета из файла
AndroidManifest.xml. - В поле «Отпечаток сертификата SHA-1» введите сгенерированный отпечаток сертификата SHA-1 .
- Нажмите «Создать» .
Вновь созданные учетные данные отображаются в разделе "Идентификаторы клиентов OAuth 2.0".
iOS
- В консоли Google Cloud перейдите в > Платформа аутентификации Google > Клиенты .
- Нажмите «Создать клиента» .
- Нажмите «Тип приложения» > «iOS» .
- В поле «Имя» введите имя для учетных данных. Это имя отображается только в консоли Google Cloud.
- В поле «Идентификатор пакета» введите идентификатор пакета, указанный в файле
Info.plistприложения. - Необязательно: если ваше приложение отображается в Apple App Store, введите идентификатор приложения в App Store.
- Необязательно: в поле «Идентификатор команды» введите уникальную 10-символьную строку, сгенерированную Apple и присвоенную вашей команде.
- Нажмите «Создать» .
Вновь созданные учетные данные отображаются в разделе "Идентификаторы клиентов OAuth 2.0".
Расширение для Chrome
- В консоли Google Cloud перейдите в > Платформа аутентификации Google > Клиенты .
- Нажмите «Создать клиента» .
- Нажмите «Тип приложения» > «Расширение Chrome» .
- В поле «Имя» введите имя для учетных данных. Это имя отображается только в консоли Google Cloud.
- В поле «Идентификатор элемента» введите уникальный 32-символьный идентификатор вашего приложения. Этот идентификатор можно найти в URL-адресе вашего приложения в Chrome Web Store и в панели разработчика Chrome Web Store .
- Нажмите «Создать» .
Вновь созданные учетные данные отображаются в разделе "Идентификаторы клиентов OAuth 2.0".
Настольное приложение
- В консоли Google Cloud перейдите в > Платформа аутентификации Google > Клиенты .
- Нажмите «Создать клиента» .
- Выберите «Тип приложения» > «Настольное приложение» .
- В поле «Имя» введите имя для учетных данных. Это имя отображается только в консоли Google Cloud.
- Нажмите «Создать» .
Вновь созданные учетные данные отображаются в разделе "Идентификаторы клиентов OAuth 2.0".
Телевизоры и устройства с ограниченным набором входных данных
- В консоли Google Cloud перейдите в > Платформа аутентификации Google > Клиенты .
- Нажмите «Создать клиента» .
- Нажмите «Тип приложения» > «Телевизоры и устройства ввода с ограниченным набором параметров» .
- В поле «Имя» введите имя для учетных данных. Это имя отображается только в консоли Google Cloud.
- Нажмите «Создать» .
Вновь созданные учетные данные отображаются в разделе "Идентификаторы клиентов OAuth 2.0".
Учетные данные служебной учетной записи
Служебная учетная запись — это особый тип учетной записи, используемый приложением, а не человеком. Вы можете использовать служебную учетную запись для доступа к данным или выполнения действий от имени учетной записи робота, а также для доступа к данным от имени пользователей Google Workspace или Cloud Identity. Дополнительную информацию см. в разделе «Обзор служебных учетных записей» .Обратите внимание, что роли управления идентификацией и доступом (IAM), настроенные в консоли Google Cloud, не предоставляют доступ к ресурсам Google Workspace (таким как Sheets или Gmail). Чтобы предоставить учетной записи службы доступ к ресурсам Google Workspace, можно использовать следующий способ:
| Если вашему приложению необходимо... | Где это настроить... |
|---|---|
| Получите доступ к определенным файлам (например, к таблице Google Sheets). | Прямая передача файла или папки с помощью адреса электронной почты учетной записи службы. |
| Выполняйте администрирование домена (например, создавайте пользователей Google Workspace). | Назначайте административные роли непосредственно учетной записи службы. |
| Доступ к данным пользователей в рамках всего домена (например, чтение событий в Gmail или Google Calendar любого пользователя). | Разрешите учетной записи службы использовать делегирование в масштабах всего домена. |
Создайте учетную запись службы
Создать учетную запись службы можно с помощью консоли Google Cloud или инструмента командной строки gcloud .
Консоль Google Cloud
- В консоли Google Cloud перейдите в > IAM и администрирование > Учетные записи служб .
Перейдите в раздел «Учетные записи служб».
Оставшиеся шаги отображаются в консоли Google Cloud.
- Выберите проект Google Cloud.
- Нажмите «Создать учетную запись службы» .
- Введите имя учетной записи службы для отображения в консоли Google Cloud.
- Если вы не хотите настраивать права доступа сейчас, нажмите «Готово» , чтобы завершить создание учетной записи службы. Чтобы настроить права доступа сейчас, нажмите «Создать и продолжить» и перейдите к следующему шагу.
- Необязательно: назначьте роли вашей служебной учетной записи, чтобы предоставить доступ к ресурсам вашего проекта Google Cloud в дополнение к ресурсам Google Workspace. Для получения более подробной информации см. раздел «Управление доступом к проектам, папкам и организациям» .
- Нажмите «Продолжить» .
- Необязательно: укажите пользователей или группы, которые могут управлять этой учетной записью службы и выполнять с ней действия. Для получения более подробной информации см. раздел «Имитация учетной записи службы» .
- Нажмите «Готово» , чтобы завершить создание учетной записи службы.
Запишите адрес электронной почты, используемый для учетной записи сервиса.
gcloud CLI
- Создайте учетную запись службы:
gcloud iam service-accounts createSERVICE_ACCOUNT_NAME\ --display-name="SERVICE_ACCOUNT_NAME" - Необязательно: назначьте роли вашей служебной учетной записи, чтобы предоставить доступ к ресурсам вашего проекта Google Cloud в дополнение к ресурсам Google Workspace. Для получения более подробной информации см. раздел «Управление доступом к проектам, папкам и организациям» .
Получайте прямой доступ к файлам Google Workspace с помощью служебной учетной записи.
Если вашему приложению нужно только читать или записывать определенные файлы (например, в таблицу Google Sheets или папку Google Drive), вам не нужно назначать административные роли или настраивать делегирование на уровне домена. Вместо этого вы можете напрямую предоставлять доступ к отдельным файлам, используя адрес электронной почты учетной записи службы, с помощью стандартного пользовательского интерфейса. В настройках общего доступа к документу адрес электронной почты учетной записи службы может рассматриваться как учетная запись пользователя, и для его использования не требуются права администратора.
Для предоставления доступа:
- Скопируйте адрес электронной почты вашей учетной записи в сервисе. Например,
my-service-account@my-project.iam.gserviceaccount.com. - Откройте документ Google Sheets или папку Google Диска, к которой хотите получить доступ.
- Нажмите «Поделиться» .
- Добавьте адрес электронной почты учетной записи службы и назначьте соответствующий уровень доступа (например, «Редактор» или «Просмотрщик»).
- Снимите флажок «Уведомлять пользователей» (поскольку у учетных записей служб нет почтовых ящиков, они не получат электронное письмо с приглашением, но разрешение все равно будет предоставлено).
- Нажмите «Поделиться» .
Создайте ключ учетной записи службы.
Вам необходимо получить учетные данные в виде пары открытого/закрытого ключей. Эти учетные данные используются вашим кодом для авторизации действий учетной записи службы внутри вашего приложения.Для создания ключа учетной записи службы:
- В консоли Google Cloud перейдите в > IAM и администрирование > Учетные записи служб .
Перейдите в раздел «Учетные записи служб».
Оставшиеся шаги отображаются в консоли Google Cloud.
- Выберите проект Google Cloud.
- Щелкните по адресу электронной почты учетной записи службы, для которой вы хотите создать ключ.
- Нажмите вкладку « Клавиши» .
- Щелкните раскрывающееся меню «Добавить ключ» , затем выберите «Создать новый ключ» .
- Выберите JSON в качестве типа ключа и нажмите «Создать» .
Ваша новая пара открытого/закрытого ключей генерируется и загружается на ваш компьютер в виде файла ключа учетной записи службы. Сохраните загруженный JSON-файл как
credentials.jsonв вашей рабочей директории. Этот файл является единственной копией данного ключа. После загрузки файла ключа вы не сможете загрузить его повторно. Информацию о том, как безопасно хранить ключ, см. в разделе «Рекомендации по управлению ключами учетных записей служб» .
Назначьте роль администратора Google Workspace служебной учетной записи.
К учетной записи службы можно назначить любую предустановленную или пользовательскую роль Google Workspace, за исключением роли суперадминистратора.
В консоли администратора Google перейдите в > учетная запись электронной почты > роли администратора .
Перейдите в раздел «Административные роли».
Для выполнения этой задачи необходимо войти в систему как суперадминистратор .
Оставшиеся шаги отображаются в консоли администратора Google.
Укажите роль, которую хотите назначить, щелкните раскрывающееся меню
Actionsи выберите «Назначить администратора» .Нажмите «Назначить учетные записи служб» .
Введите адрес электронной почты учетной записи службы.
Нажмите «Добавить» > «Назначить роль» .
Необязательно: Настройте делегирование полномочий для учетной записи службы в масштабе всего домена.
Используйте делегирование полномочий на уровне домена, когда вашему приложению необходимо получить доступ к данным Google Workspace от имени нескольких отдельных пользователей в вашей организации (например, для отправки электронных писем с использованием API Gmail) без необходимости получения согласия каждого пользователя. Чтобы вызывать API от имени пользователей в организации Google Workspace, предоставьте вашей учетной записи службы делегирование полномочий на уровне домена в консоли администратора Google, используя учетную запись суперадминистратора . Дополнительную информацию см. в разделе «Делегирование полномочий на уровне домена учетной записи службы» .Для настройки делегирования полномочий в масштабах всего домена для учетной записи службы:
- В консоли Google Cloud перейдите в > IAM и администрирование > Учетные записи служб .
- Выберите проект Google Cloud.
- Щелкните адрес электронной почты учетной записи службы, для которой вы хотите настроить делегирование полномочий в масштабах всего домена.
- Нажмите «Показать дополнительные настройки» .
- В разделе «Делегирование в масштабе домена» найдите «Идентификатор клиента» для вашей учетной записи службы.
- Нажмите кнопку «Копировать , чтобы скопировать значение идентификатора клиента в буфер обмена.
Если у вас есть права суперадминистратора для соответствующей учетной записи Google Workspace, нажмите «Просмотреть консоль администратора Google Workspace» , войдите в систему под своей учетной записью суперадминистратора и продолжите выполнение следующих шагов.
Если у вас нет прав суперадминистратора для соответствующей учетной записи Google Workspace, обратитесь к суперадминистратору этой учетной записи. Отправьте ему идентификатор клиента вашей сервисной учетной записи и список областей действия OAuth, необходимых для вашего приложения, чтобы он мог выполнить следующие шаги в консоли администратора Google.
- В консоли администратора Google перейдите в > Безопасность > Доступ и контроль данных > Управление API .
- Нажмите «Управление делегированием в масштабе домена» .
- Нажмите «Добавить новый» .
- В поле «Идентификатор клиента» вставьте ранее скопированный идентификатор клиента.
- В поле «Области действия OAuth» введите список областей действия, разделенных запятыми, которые необходимы для вашего приложения. Это тот же набор областей действия, который вы определили при настройке экрана согласия OAuth.
- Нажмите «Авторизовать» .
Внесение изменений может занять до 24 часов, но обычно происходит быстрее. Для получения дополнительной информации см. раздел «Управление доступом к API с помощью делегирования на уровне домена» .
Следующий шаг
Вы готовы к разработке на Google Workspace! Ознакомьтесь со списком продуктов Google Workspace для разработчиков и информацией о том, как получить помощь .