Apigee SSO をインストールして構成する

OPDK 4.54.00 以降、SSO アーキテクチャが刷新されました。ID ブローカー(Dex)が apigee-openldap コンポーネントに直接埋め込まれるようになったため、レガシーの apigee-sso モジュールを別途インストールする必要がなくなりました。

Apigee SSO を有効にして構成するには、次の操作を行う必要があります。

  1. 新しい Edge UI のマシンユーザーを作成する: 新しい Edge UI が Management API を呼び出すために必要なマシンユーザーを作成します。
  2. 共通構成ファイルでプロパティを構成する: OpenLDAP(SSO)サービスと新しい Edge UI の両方で必要なプロパティを含む単一の構成ファイルを作成します。
  3. Postgres に SSO データベースを作成する: Apigee PostgreSQL インスタンスに SSO 用のデータベースを作成します。
  4. OpenLDAP で SSO 構成を適用する: 構成ファイルを適用して、OpenLDAP ノードで統合された Apigee SSO を起動します。
  5. 新しい Edge UI を構成する: 新しい Apigee SSO を使用するように新しい Edge UI のプロパティを更新します。

それぞれの手順は、次のセクションで説明します。

UI のマシンユーザーを作成する

新しい Edge UI では、特定のオペレーションでバックエンドの Management API を呼び出すためにマシンユーザーが必要です。この目的には、 apigee-openldap ノードにプリインストールされているスクリプトを使用します。

スクリプトとマシンユーザーの詳細については、 apigee-machine-user スクリプトを使用するをご覧ください。

apigee-openldap ノードで次のコマンドを使用して、新しい Edge UI のマシンユーザーを作成します。次のステップで構成ファイルにプロパティを定義するときは、必ず同じ認証情報を使用してください。

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

共通構成ファイルでプロパティを構成する

Apigee SSO と新しい Edge UI を有効にする前に、共通構成ファイル(/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 UI の基本構成プロパティが含まれています。
  • /opt/apigee/customer/application/openldap.properties: SAML や HTTPS などのオプション機能の追加の SSO 構成プロパティが含まれています。

apigee-openldap コンポーネントの setup-sso スクリプトは、上記の両方のファイルから変数を解析します。ユースケースに応じて、構成ファイルで関連するプロパティを構成する必要があります。

次の手順は、環境に応じて省略可能です。

Postgres に SSO データベースを作成する

apigee-postgresql が実行されているノード(プライマリ / スタンバイ設定のマスターノード)で、SSO 用のデータベースを作成します。

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

OpenLDAP で SSO 構成を適用する

Apigee SSO はディレクトリ コンポーネントに埋め込まれているため、スタンドアロン パッケージをインストールする必要はありません。構成ファイルを OpenLDAP ノードに適用するだけです。

Apigee SSO を有効にして起動するには:
  1. apigee-openldap をホストするノードにログインします。
  2. setup-sso コマンドを実行し、構成ファイルを渡します。
    /opt/apigee/apigee-service/bin/apigee-service apigee-openldap setup-sso -f /opt/silent.conf

新しい Edge UI を構成する

Apigee SSO が実行されたら、新しい Edge UI が Apigee SSO と通信するように構成する必要があります。

新しい Edge UI で外部 IDP を有効にすると、新しい Edge UI は OIDC/OAuth2 を使用して Management Server に接続します。新しい Edge UI と Edge Management Server の間でトークンが期限切れになることを心配する必要はありません。期限切れのトークンは自動的に更新されます。

  1. 新しい Edge UI をホストするノードにログインします。
  2. このノードで /opt/silent.conf ファイルが使用可能であることを確認します。
  3. setup スクリプトを使用して構成を適用します。
    /opt/apigee/apigee-service/bin/apigee-service edge-management-ui setup -f /opt/silent.conf