Вы просматриваете документацию по Apigee Edge.
Перейдите к документации по Apigee X. Информация
При использовании SAML с Edge API процесс получения токенов доступа и обновления OAuth2 из утверждения SAML называется потоком кода доступа. При использовании потока кода доступа вы получаете одноразовый код доступа в браузере, а затем используете его для получения токенов OAuth2.
Однако ваша среда может поддерживать автоматизацию для распространенных задач разработки, таких как автоматизация тестирования или непрерывная интеграция и непрерывная поставка (CI/CD). Чтобы автоматизировать эти задачи при включенном SAML, вам нужно получать и обновлять токены OAuth2 без необходимости копировать и вставлять код доступа из браузера.
Пользователи компьютеров
Apigee Edge поддерживает машинных пользователей в организации с поддержкой SAML. Пользователи-роботы используются исключительно для автоматизации и не имеют прямого доступа к данным.
Пользователь-робот может получать токены OAuth2, не указывая код доступа. Это означает, что вы можете полностью автоматизировать процесс получения и обновления токенов OAuth2 с помощью Edge API.
Как автоматизировать процесс создания токенов
Чтобы автоматизировать процесс создания токенов:
| Шаг | Описание |
|---|---|
| 1 | Как создать пользователя машины в зоне идентификации SAML |
| 2 | Назначьте пользователю машины необходимые роли в организации Edge |
| 3 | Как получить токены OAuth2 для пользователей устройства |
Видео. Посмотрите короткое видео о том, как автоматизировать доступ к API Apigee Edge с помощью учетных данных машинного пользователя.
Как управлять пользователями машин для зон идентификации SAML
Apigee предоставляет интерфейс командной строки (CLI) для управления аккаунтами машинных пользователей. Инструкции по использованию командной строки для управления пользователями машин приведены в следующих разделах.
Как использовать интерфейс командной строки
Чтобы использовать командную строку для управления пользователями-машинами, сначала скачайте и распакуйте следующий файл:
usermgmt.tar.gz1
Формат вызова CLI:
usermgmt_platform [command] [flags]
В таблице ниже приведены платформы, которые поддерживаются, и соответствующие команды для вызова командной строки управления пользователями машин.
(Исполняемые файлы находятся в каталоге usermgmt.)
| Платформа | 32-разрядная | 64 бит |
|---|---|---|
| Linux | usermgmt_linux_386 |
usermgmt_linux_amd64 |
| macOS | usermgmt_darwin_386 |
usermgmt_darwin_amd64 |
| Windows | usermgmt_windows_386 |
usermgmt_windows_amd64 |
В таблице ниже приведены команды, которые можно указать.
| Команда | Дополнительная информация |
|---|---|
create
|
Как создать машинного пользователя в зоне идентификации |
delete
|
Как удалить пользователя-машину в зоне идентификации |
help
|
Как получить помощь по использованию CLI |
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, введите команду usermgmt_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
Как создать машинного пользователя в зоне идентификации
Создайте машинного пользователя в зоне идентификации с помощью команды usermgmt_platform create. Список поддерживаемых платформ приведен в разделе Как использовать 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
Как получить список всех пользователей машин в зоне идентификации
Чтобы получить список всех пользователей-машин в зоне идентификации, используйте команду usermgmt_platform list. Список поддерживаемых платформ приведен в разделе Использование CLI.
- Введите следующую команду:
Появится список зон идентификации:usermgmt_platform listmyzone1 myzone2 - Введите название зоны в командной строке:
Enter a zone name: myzone1Появится список пользователей машин в зоне идентификации:
Machine users in the zone: machineuser1@mycompany.com
Как сбросить пароль пользователя машины в зоне идентификации
Сбросьте пароль пользователя машины в зоне идентификации с помощью команды usermgmt_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
Как удалить пользователя-машину в зоне идентификации
Удалите машинного пользователя в зоне идентификации с помощью команды usermgmt_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. © Google LLC, 2023.
Инструменты usermgmt, acurl и get_token предоставляются как "Программное обеспечение" в соответствии с соглашением, регулирующим использование Google Cloud Platform, в том числе условиями использования отдельных сервисов, с которыми можно ознакомиться здесь: https://cloud.google.com/terms/service-terms.