Вы просматриваете документацию Apigee Edge .
Перейдите в документацию Apigee X.info
При использовании SAML с Edge API процесс получения токенов доступа и обновления OAuth2 из утверждения SAML называется потоком ввода пароля . В этом потоке вы используете браузер для получения одноразового пароля, который затем используется для получения токенов OAuth2.
Однако ваша среда может поддерживать автоматизацию для распространенных задач разработки, таких как автоматизация тестирования или непрерывная интеграция/непрерывное развертывание (CI/CD). Для автоматизации этих задач при включенном SAML вам необходим способ получения и обновления токенов OAuth2 без необходимости копирования/вставки пароля из браузера.
О пользователях машины
Apigee Edge поддерживает машинных пользователей в вашей организации с поддержкой SAML. Машинные пользователи используются исключительно для автоматизации и не имеют прямого доступа со стороны человека.
Пользователь компьютера может получить токены OAuth2 без необходимости указывать пароль. Это означает, что вы можете полностью автоматизировать процесс получения и обновления токенов OAuth2, используя Edge API.
Этапы автоматизации процесса генерации токенов
Для автоматизации процесса генерации токенов:
Видео: Посмотрите короткое видео, чтобы узнать, как автоматизировать доступ к API Apigee Edge с помощью учетных данных машинного пользователя.
Управление пользователями машин для зон идентификации SAML.
Apigee предоставляет интерфейс командной строки (CLI) для управления учетными записями пользователей машин. Пошаговое описание использования CLI для управления учетными записями пользователей машин приведено в следующих разделах.
Используйте командную строку.
Чтобы использовать интерфейс командной строки управления пользователями машины, сначала загрузите и распакуйте следующий файл: usermgmt.tar.gz (1)
Формат вызова интерфейса командной строки следующий:
usermgmt_platform [command] [flags] В таблице ниже приведено краткое описание поддерживаемых платформ и соответствующая команда для вызова интерфейса командной строки управления пользователями компьютера. (Исполняемые файлы находятся в каталоге usermgmt .)
| Платформа | 32-битный | 64-бит |
|---|---|---|
| Linux | usermgmt_linux_386 | usermgmt_linux_amd64 |
| Мак | usermgmt_darwin_386 | usermgmt_darwin_amd64 |
| Windows | usermgmt_windows_386 | usermgmt_windows_amd64 |
В следующей таблице приведено краткое описание команд , которые можно указать.
| Командование | Более подробная информация |
|---|---|
create | Создайте пользователя машины в зоне идентификации. |
delete | Удаление пользователя машины в зоне идентификации |
help | Получите помощь по использованию командной строки. |
list | Перечислите всех пользователей машин в зоне идентификации. |
reset | Сбросить пароль для пользователя компьютера в зоне идентификации. |
При желании вы можете передать один из следующих флагов для отображения справки по указанной команде: -h или --help.
Войдите в интерфейс командной строки.
При первом запуске CLI в течение 24 часов вам будет предложено ввести учетные данные вашей учетной записи zoneadmin .
Enter your Apigee credentials
Username: zoneadmin-username
Password: zoneadmin-password
If your user is opted with MFA, enter MFA code. Otherwise press enter to skip.
MFA: mfa-code_or_enter_to_skipИнтерфейс командной строки для управления пользователями компьютера сохраняет токен доступа на вашем локальном компьютере, поэтому вам нужно входить в систему только один раз в 24 часа.
Получите помощь по использованию командной строки.
Отображение информации об использовании CLI осуществляется с помощью команды platform help` . Список поддерживаемых платформ см. в разделе «Использование CLI» .
usermgmt_platform help
Отображается следующая справочная информация:
A command-line interface (CLI) to manage machine user accounts to automate
Apigee identity zone management. Use the CLI to create, list, delete,
and reset the password for machine users.
Usage:
usermgmt [flags]
usermgmt [command]
Available Commands:
create Creates a machine users in an identity zone.
delete Deletes a machine users in an identity zone.
help Help about any command
list Lists the machine users in an identity zone.
reset Resets the password for a machine user in an identity zone.
Flags:
-h, --help help for usermgmt
Use "usermgmt [command] --help" for more information about a command.
Чтобы отобразить справку по конкретной команде, передайте в командной строке как саму команду, так и флаг -h или --help .
Например, чтобы получить справку по команде list:
usermgmt_platform list -h
Отображается следующая справочная информация:
Lists the machine users in an identity zone.
Usage:
usermgmt list [flags]
Flags:
-h, --help help for list
Создайте пользователя машины в зоне идентификации.
Создайте пользователя компьютера в зоне идентификации с помощью команды platform . Список поддерживаемых платформ см. в разделе «Использование CLI» .
- Введите следующую команду:
usermgmt_platform createОтображается список зон идентификации:
myzone1 myzone2 - В появившемся окне введите название зоны:
Enter a zone name: myzone1 - Введите имя пользователя для компьютера:
Create a Machine User Username: machineuser1@mycompany.com - Введите пароль для пользователя компьютера. Повторно введите пароль при появлении соответствующего запроса.
Password: password Re-enter password: passwordПользователь создан.
Created machine user machineuser1@mycompany.com
Перечислите всех пользователей машин в зоне идентификации.
Вывести список всех пользователей компьютера в зоне идентификации можно с помощью команды platform . Список поддерживаемых платформ см. в разделе «Использование CLI» .
- Введите следующую команду:
Отображается список зон идентификации:usermgmt_platform listmyzone1 myzone2 - В появившемся окне введите название зоны:
Enter a zone name: myzone1Отображается список пользователей машины в зоне идентификации:
Machine users in the zone: machineuser1@mycompany.com
Сбросить пароль для пользователя компьютера в зоне идентификации.
Сбросьте пароль пользователя компьютера в зоне идентификации с помощью команды platform reset . Список поддерживаемых платформ см. в разделе «Использование CLI» .
- Введите следующую команду:
usermgmt_platform resetОтображается список зон идентификации:
myzone1 myzone2 - В появившемся окне введите название зоны:
Enter a zone name: myzone1 - Введите имя пользователя компьютера, для которого вы хотите сбросить пароль:
Reset User Password Enter the username for the machine user Username: machineuser1@mycompany.com - Введите новый пароль для пользователя компьютера. Повторно введите пароль при появлении соответствующего запроса.
Enter the new password: password Re-enter password: passwordПароль сброшен.
Reset password for machine user machineuser1@mycompany.com
Удаление пользователя машины в зоне идентификации
Удалите пользователя компьютера в зоне идентификации с помощью команды platform delete` . Список поддерживаемых платформ см. в разделе «Использование CLI» .
- Введите следующую команду:
Отображается список зон идентификации:usermgmt_platform deletemyzone1 myzone2 - В появившемся окне введите название зоны:
Enter a zone name: myzone1 - Введите имя пользователя компьютера, которого вы хотите удалить:
Delete User Enter the username for the machine user Username: machineuser1@mycompany.comПользователь компьютера удален.
Deleted user machineuser1@mycompany.com
Назначьте необходимые роли пользователю компьютера в вашей организации Edge.
С помощью пользовательского интерфейса добавьте пользователя компьютера в вашу организацию Edge с поддержкой SAML и назначьте ему необходимые роли (например, администратора организации), как описано в разделе «Добавление пользователей» .
Получите токены OAuth2 пользователя машины.
Вы можете автоматизировать процесс генерации токенов и управлять кэшированием токенов для пользователей машин с помощью утилит acurl (1) и get_token (1) , как описано в OAuth2 для пользователей машин и Пользователи машин в зонах SAML .
Чтобы получить токены OAuth2 пользователя машины вручную с помощью curl :
- Используйте предпочитаемый вами инструмент кодирования URL-адресов для кодирования имени пользователя и пароля компьютера.
Предупреждение: Используйте
внутренний Инструмент кодирования URL-адресов, гарантирующий, что учетные данные пользователя компьютера не будут скомпрометированы. - Для генерации начальных токенов доступа и обновления вызовите конечную точку для токенов SAML, как показано в следующем примере:
curl -H "Content-Type: application/x-www-form-urlencoded;charset=utf-8" \ -H "accept: application/json;charset=utf-8" \ -H "Authorization: Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" -X POST \ https://zoneName.login.apigee.com/oauth/token -s \ -d 'grant_type=password&username=machineusername&password=machineuserpassword'
Для авторизации передайте зарезервированные учетные данные клиента OAuth2,
ZWRnZWNsaTplZGdlY2xpc2VjcmV0, в заголовкеAuthorization. Вызов выводит токены доступа и обновления вstdout. - Передайте токен доступа в вызов API управления Edge в качестве заголовка Bearer:
curl -H "Authorization: Bearer ACCESS_TOKEN" \ https://api.enterprise.apigee.com/v1/organizations/orgName
- Когда срок действия токена доступа истекает, вы можете обновить его, отправив токен обновления на конечную точку токена SAML, как показано в следующем примере:
curl -H "Content-Type:application/x-www-form-urlencoded;charset=utf-8" \ -H "Accept: application/json;charset=utf-8" \ -H "Authorization: Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" -X POST \ https://zoneName.login.apigee.com/oauth/token \ -d 'grant_type=refresh_token&refresh_token=REFRESH_TOKEN'
(1) Авторское право 2023 Google LLC
Инструменты usermgmt , acurl и get_token предоставляются в качестве «программного обеспечения» в соответствии с соглашением, регулирующим использование вами платформы Google Cloud Platform, включая условия предоставления услуг, доступные по адресу https://cloud.google.com/terms/service-terms .