В этом разделе рассказывается, как запускать системные инструменты и команды Edge после включения Apigee SSO. Для выполнения многих задач в Edge требуются учетные данные системного администратора, например:
- Создание организаций и сред
- Добавление и удаление компонентов Edge
- Выполнение
apigee-adminapi.shкоманд
Однако после включения SSO в Edge обычно отключается базовая аутентификация, чтобы единственным способом аутентификации был поставщик идентификационной информации OIDC/SAML. Поэтому вам необходимо добавить аккаунт системного администратора в IDP или создать локального пользователя компьютера для автоматизации.
Вызов API управления Edge в качестве системного администратора
Для многих вызовов API Edge требуются учетные данные системного администратора. В статье Использование SAML с Edge Management API содержатся инструкции о том, как получать и обновлять токены обновления с помощью утилиты get_token при вызовах API Edge Management API.
Как использовать утилиту apigee-adminapi.sh с Apigee SSO
Используйте утилиту apigee-adminapi.sh для выполнения тех же задач по настройке Edge, которые вы выполняете, вызывая Management API Edge. Преимущества утилиты apigee-adminapi.sh:
- Использует простой интерфейс командной строки
- Реализует автозавершение команд с помощью клавиши Tab.
- Справочная информация и инструкции по использованию
- Показывает соответствующий вызов API, если вы решите попробовать API.
После включения Apigee SSO у вас будет два основных способа передавать учетные данные утилите apigee-adminapi.sh в зависимости от того, являетесь ли вы администратором или используете автоматический скрипт.
Чтобы посмотреть все варианты команды apigee-adminapi.sh, в том числе варианты для указания учетных данных SSO, используйте параметр -h. Пример:
apigee-adminapi.sh orgs list -h
Передача токена на предъявителя (для администраторов)
Поскольку модернизированная система единого входа Apigee не поддерживает устаревший процесс копирования и вставки /passcode, администраторы должны использовать утилиту get_token, чтобы завершить процесс OAuth 2.0 Device Code, а затем передать полученный токен скрипту.
Сначала получите токен:
/opt/apigee/apigee-openldap/bin/get_token -u adminEmail
Затем используйте токен при вызове команды:
apigee-adminapi.sh orgs list --sso-url http://edge_sso_IP_DNS:9099 --oauth-flow passcode \ --admin adminEmail --oauth-token token_string
Где:
oauth-flowуказывает наpasscode(это сообщает устаревшему скрипту, что предоставляется токен).oauth-token– содержит необработанную строку JWT, полученную изget_token.
Передача пароля (только для пользователей-машин)
Если вы автоматизируете развертывание инфраструктуры, то можете передавать учетные данные напрямую с помощью потока password_grant. Однако если включена федерация SAML/OIDC, пользователям-людям запрещено входить с паролем, чтобы предотвратить обход МФА. Сначала необходимо создать явного пользователя компьютера в OpenLDAP.
apigee-adminapi.sh orgs list --sso-url http://edge_sso_IP_DNS:9099 --oauth-flow password_grant \ --admin machineUserEmail --oauth-password machineUserPassword
Где:
- Параметр
sso-urlзадает URL системы единого входа Apigee. Измените порт или протокол, если вы задали другие значения вместо 9099 и HTTP. oauth-flowуказывает наpassword_grant.- machineUserEmail – адрес электронной почты автоматизированного пользователя.
oauth-password– пароль пользователя компьютера.
Использование утилит Edge с системой единого входа Apigee
Для работы многих утилит Edge требуются учетные данные системного администратора, например:
apigee-provision, используемый для создания организаций, сред и виртуальных хостов.setup.shиспользуется для добавления узлов в существующую систему- Любая другая утилита, в которой необходимо указать учетные данные системного администратора в файле конфигурации.
В качестве входных данных эти утилиты используют файл конфигурации, в котором указаны учетные данные системного администратора. До включения SSO это можно сделать с помощью следующих свойств:
ADMIN_EMAIL="adminEmail" APIGEE_ADMINPW="adminPWord"
После включения системы единого входа Apigee необходимо использовать другие свойства, чтобы указать учетные данные системного администратора.
Использование токена на предъявителя (для администраторов)
Для интерактивных развертываний, выполняемых администраторами, получите токен с помощью утилиты get_token и укажите его в свойстве OAUTH_BEARER_TOKEN:
ADMIN_EMAIL="adminEmail" SSO_LOGIN_URL="http://edge_sso_IP_DNS:9099" OAUTH_FLOW="passcode" OAUTH_BEARER_TOKEN="token_string"
Где:
OAUTH_FLOWуказывает наpasscode(сигнализирует о том, что токен предоставлен).OAUTH_BEARER_TOKEN– содержит необработанную строку JWT, полученную изget_token.
С помощью пароля (только для пользователей-машин)
Для полностью автоматизированного развертывания укажите учетные данные явно инициализированного пользователя компьютера, используя поток password_grant:
ADMIN_EMAIL="machineUserEmail" SSO_LOGIN_URL="http://edge_sso_IP_DNS:9099" OAUTH_FLOW="password_grant" OAUTH_ADMIN_PASSWORD="machineUserPassword"
Где:
SSO_LOGIN_URL– URL Apigee SSO.OAUTH_FLOWуказываетpassword_grant.OAUTH_ADMIN_PASSWORD– пароль пользователя компьютера.