Вы просматриваете документацию Apigee Edge .
Перейдите к документации Apigee X. информация
При использовании SAML с Edge API процесс, который вы используете для получения токенов доступа и обновления OAuth2 из утверждения SAML, называется потоком пароля . При использовании потока пароля вы используете браузер для получения одноразового кода доступа, который затем используете для получения токенов OAuth2.
Однако ваша среда может поддерживать автоматизацию общих задач разработки, таких как автоматизация тестирования или непрерывная интеграция/непрерывное развертывание (CI/CD). Чтобы автоматизировать эти задачи при включенном SAML, вам нужен способ получать и обновлять токены OAuth2 без необходимости копировать/вставлять пароль из браузера.
О пользователях машины
Apigee Edge поддерживает пользователей компьютеров в вашей организации с поддержкой SAML. Машинные пользователи используются исключительно для автоматизации и не имеют прямого доступа к ним человека.
Пользователь компьютера может получить токены OAuth2 без необходимости указывать пароль. Это означает, что вы можете полностью автоматизировать процесс получения и обновления токенов OAuth2 с помощью Edge API.
Шаги по автоматизации процесса генерации токенов
Чтобы автоматизировать процесс генерации токенов:
Видео. Посмотрите короткое видео, чтобы узнать, как автоматизировать доступ к API Apigee Edge с использованием учетных данных пользователя компьютера.
Управление пользователями компьютеров для зон идентификации SAML
Apigee предоставляет интерфейс командной строки (CLI) управления пользователями компьютеров для создания учетных записей пользователей компьютеров и управления ими. Действия по использованию интерфейса командной строки управления пользователями компьютера описаны в следующих разделах.
Используйте интерфейс командной строки
Чтобы использовать интерфейс командной строки управления пользователями компьютера, сначала загрузите и распакуйте следующий файл: usermgmt.tar.gz
(1).
Формат вызова CLI следующий:
usermgmt_platform [command] [flags]
В следующей таблице приведены поддерживаемые платформы и соответствующие команды для вызова интерфейса командной строки управления пользователями компьютера. (Исполняемые файлы расположены в каталоге usermgmt
.)
Платформа | 32-битный | 64-битная |
---|---|---|
Линукс | usermgmt_linux_386 | usermgmt_linux_amd64 |
Мак | usermgmt_darwin_386 | usermgmt_darwin_amd64 |
Окна | 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
Отобразите информацию об использовании CLI с помощью команды справки usermgmt_ platform . Список поддерживаемых платформ см. в разделе «Использование 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 . Список поддерживаемых платформ см. в разделе «Использование 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 list . Список поддерживаемых платформ см. в разделе «Использование CLI» .
- Введите следующую команду:
Отображается список зон идентификации:usermgmt_platform list
myzone1 myzone2
- Введите имя зоны в командной строке:
Enter a zone name: myzone1
Отображается список пользователей машины в зоне идентификации:
Machine users in the zone: machineuser1@mycompany.com
Сброс пароля пользователя компьютера в зоне идентификации
Сбросьте пароль пользователя компьютера в зоне идентификации с помощью команды сброса platform usermgmt_ . Список поддерживаемых платформ см. в разделе «Использование 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 . Список поддерживаемых платформ см. в разделе «Использование CLI» .
- Введите следующую команду:
Отображается список зон идентификации:usermgmt_platform delete
myzone1 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 .