Как использовать утилиты администрирования и API Edge после включения системы единого входа Apigee

В этом разделе рассказывается, как запускать системные инструменты и команды 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 – пароль пользователя компьютера.