Как установить и настроить Apigee SSO

Начиная с OPDK 4.54.00, архитектура SSO была модернизирована. Брокер идентификации (Dex) теперь встроен непосредственно в компонент apigee-openldap, поэтому вам больше не нужно устанавливать отдельный устаревший модуль apigee-sso.

Чтобы включить и настроить систему единого входа Apigee, выполните следующие действия:

  1. Создайте пользователя-робота для New Edge UI. Он необходим, чтобы New Edge UI мог вызывать Management API.
  2. Настройте свойства в общем файле конфигурации. Создайте один файл конфигурации, содержащий свойства, необходимые как для службы OpenLDAP (SSO), так и для нового интерфейса Edge.
  3. Создайте базу данных SSO в Postgres: создайте базу данных для SSO в экземпляре Apigee PostgreSQL.
  4. Примените конфигурации SSO в OpenLDAP. Примените файл конфигурации, чтобы запустить интегрированную систему единого входа Apigee на узле OpenLDAP.
  5. Настройте New Edge UI. Обновите свойства New Edge UI, чтобы использовать новую систему единого входа Apigee.

Каждый из этих шагов описан в следующих разделах.

Создать пользователя компьютера для интерфейса

Для вызова Management API в серверной части при выполнении определенных операций в новом интерфейсе Edge требуется пользователь компьютера. Для этого используется скрипт, предустановленный в узле apigee-openldap.

Подробнее о скрипте и машинных пользователях можно узнать в статье Использование скрипта apigee-machine-user.

Чтобы создать пользователя компьютера для нового интерфейса Edge, выполните в узле apigee-openldap приведенную ниже команду. На следующем шаге при определении свойства в файле конфигурации обязательно используйте те же учетные данные.

 /opt/apigee/apigee-openldap/bin/apigee-machineuser.sh add -u ui-machine-user@apigee.com -p Secret123
 

Как настроить свойства в общем файле конфигурации

Прежде чем включить систему единого входа Apigee и новый интерфейс Edge, необходимо определить общий файл конфигурации (например, /opt/silent.conf). Вы можете изменить этот путь и название файла в соответствии с требованиями вашей среды.

Добавьте в /opt/silent.conf следующие свойства базовой конфигурации:

# ==========================================
# SSO Enablement
# ==========================================
ENABLE_SSO=y

# ==========================================
# SSO Hostname/IP and Port config for Dex
# ==========================================
SSO_PUBLIC_URL_SCHEME=http
SSO_PUBLIC_URL_HOSTNAME=localhost
SSO_PUBLIC_URL_PORT=9099

# ==========================================
# Static Client UI credentials
# ==========================================
MANAGEMENT_UI_SSO_CLIENT_ID=unifiedui
MANAGEMENT_UI_SSO_CLIENT_SECRET=secret123

# ==========================================
# Management UI & SSO redirect URLs
# ==========================================
MANAGEMENT_UI_SCHEME=http
MANAGEMENT_UI_IP=localhost
MANAGEMENT_UI_PORT=3001

# ==========================================
# Management Server parameters (Required for SSO registration)
# ==========================================
MSIP=localhost
ADMIN_EMAIL=admin@apigee.com
APIGEE_ADMINPW=Secret123

# ==========================================
# Machine user for UI
# ==========================================
UI_MACHINE_USER=ui-machine-user@apigee.com
UI_MACHINE_PWD=Secret123

# ==========================================
# Postgres connection parameters
# ==========================================
PG_HOST=postgres_host
PG_USER=apigee
PG_PWD=postgres_password

# ==========================================
# Other UI Parameters
# ==========================================
# Set to sso to enable SSO, default value is basic.
AUTH_MODE=sso

# Y to use internal LDAP for authentication, N to use external IDP
SSO_LOCAL_LDAP=y

MANAGEMENT_UI_APP_ENV=OPDK
MANAGEMENT_UI_SSO_ENABLED=y
MANAGEMENT_UI_SSO_CSRF_SECRET=secret
MANAGEMENT_UI_SSO_CSRF_EXPIRATION_HOURS=24
MANAGEMENT_UI_SSO_STRICT_TRANSPORT_SECURITY_AGE_HOURS=24
MANAGEMENT_UI_SSO_PUBLIC_KEY_CACHE_HOURS=0.5

Распределение свойств SSO

Свойства Apigee SSO распределены по следующим файлам конфигурации:

  • /opt/silent.conf (или ваш собственный файл конфигурации) содержит основные свойства конфигурации для SSO и нового интерфейса Edge.
  • /opt/apigee/customer/application/openldap.properties: содержит дополнительные свойства конфигурации SSO для необязательных функций, таких как SAML и HTTPS.

Скрипт setup-sso в компоненте apigee-openldap анализирует переменные из обоих файлов. В зависимости от вашего сценария использования вам нужно настроить соответствующие свойства в файлах конфигурации.

В зависимости от вашей среды следующие шаги могут быть необязательными:

Как создать базу данных SSO в Postgres

На узле, где работает apigee-postgresql (основной узел в основной-резервной конфигурации), создайте базу данных для SSO:

/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-sso-db

Как применить конфигурации системы единого входа в OpenLDAP

Поскольку система единого входа Apigee встроена в компонент каталога, вам не нужно устанавливать отдельный пакет. Вам нужно просто применить файл конфигурации к узлу OpenLDAP.

Чтобы включить и запустить систему единого входа Apigee:
  1. Войдите в узел, на котором размещен apigee-openldap.
  2. Выполните команду setup-sso, передав файл конфигурации:
    /opt/apigee/apigee-service/bin/apigee-service apigee-openldap setup-sso -f /opt/silent.conf

Как настроить новый интерфейс Edge

После запуска Apigee SSO необходимо настроить новый интерфейс Edge так, чтобы он взаимодействовал с этой службой.

После включения внешнего поставщика идентификационной информации в новом интерфейсе Edge он использует OIDC/OAuth2 для подключения к серверу управления. Вам не нужно беспокоиться об истечении срока действия токенов между новым интерфейсом Edge и сервером управления Edge. Токены с истекшим сроком действия обновляются автоматически.

  1. Войдите в узел, на котором размещен новый пользовательский интерфейс Edge.
  2. Убедитесь, что файл /opt/silent.conf доступен на этом узле.
  3. Примените конфигурацию с помощью скрипта setup:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-ui setup -f /opt/silent.conf