HTTPS アクセス用に Apigee SSO を構成する

Apigee SSO をインストールして構成するでは、デフォルトのポート 9099 で HTTP を使用するように Apigee SSO をインストールして構成する方法について説明しています。デフォルトでは、Apigee SSO は HTTP を使用します。

HTTPS アクセスを有効にするには、次のいずれかのモードを使用して Apigee SSO を構成します。

  • SSL_PROXY: Apigee SSO をプロキシモードで構成します。つまり、OpenLDAP ノードの前にロードバランサをインストールし、ロードバランサで TLS を終端します。Apigee SSO は HTTP でリッスンしますが、ロードバランサの HTTPS スキームを使用して URL を発行します。
  • SSL_TERMINATION: 選択したポートで Apigee SSO で TLS アクセスを直接有効にします。このモードでは、標準の PEM エンコード証明書と秘密鍵を指定する必要があります。

Apigee SSO の初回インストール時と構成時に HTTPS を有効にするか、後で有効にするかを選択できます。

以降のセクションでは、構成ファイル(/opt/silent.conf と /opt/apigee/customer/application/openldap.properties)で更新する追加のトークンについて説明します。setup-sso スクリプトは、両方のファイルから変数を自動的に解析し、構成を適用して、埋め込み Apigee SSO を起動します。SSO 構成を正常に完了するために構成ファイルに必要なトークンについては、 Apigee SSO をインストールして構成するをご覧ください。

SSL_PROXY モードを有効にする

SSL_PROXY モードでは、システムは Apigee SSO の前にロードバランサを使用し、ロードバランサで TLS を終端します。次の図では、ロードバランサがポート 443 で TLS を終端し、ポート 9099 で Apigee SSO にリクエストを転送します。

ロードバランサを使用した SSO

この構成では、ロードバランサから OpenLDAP ノードへの接続を信頼するため、その内部接続に TLS を使用する必要はありません。ただし、IDP などの外部エンティティは、保護されていないポート 9099 ではなく、ポート 443 で Apigee SSO にアクセスする必要があります。

Apigee SSO を SSL_PROXY モードで構成する理由は、Apigee SSO が認証プロセスの一環として IDP によって外部で使用されるリダイレクト URL を自動生成するためです。したがって、これらのリダイレクト URL には、Apigee SSO の内部 HTTP ポート(ポート 9099)ではなく、ロードバランサの外部ポート番号と HTTPS スキーム(この例ではポート 443)が含まれている必要があります。

SSL_PROXY モード用に Apigee SSO を構成するには:

  1. /opt/apigee/customer/application/openldap.properties ファイルに次の設定を追加します。
    # Update the port the Apigee SSO listens on locally.
    etc_sso_config_bind_port=9099
    
    # Set the publicly accessible Issuer URL (the load balancer URL).
    # This prevents setup-sso from automatically appending the port.
    etc_sso_config_issuer_url=https://load_balancer_IP_or_DNS
  2. /opt/silent.conf ファイルに次のプロパティが設定されていることを確認して、HTTPS 用の新しい Edge UI 構成を更新します。
    SSO_PUBLIC_URL_SCHEME=https
    SSO_PUBLIC_URL_HOSTNAME=load_balancer_IP_or_DNS
    SSO_PUBLIC_URL_PORT=443
  3. setup-sso スクリプトを実行して構成を適用し、Apigee SSO を再起動して、Edge Management Server を自動的に更新します。
    /opt/apigee/apigee-service/bin/apigee-service apigee-openldap setup-sso -f /opt/silent.conf
  4. IDP 構成(Okta や ADFS など)を更新して、ロードバランサに HTTPS リクエストを送信し、Apigee SSO にアクセスします。詳細については、SAML IDP を構成するをご覧ください。
  5. UI 構成スクリプトを実行して、New Edge UI サーバーを自動的に構成して再起動します。
    /opt/apigee/apigee-service/bin/apigee-service edge-management-ui configure-sso -f /opt/silent.conf

SSL_TERMINATION モードを有効にする

SSL_TERMINATION モードでは、次のことを行う必要があります。

  • 標準の PEM エンコードされた TLS 証明書と鍵を生成します。本番環境では、CA によって署名された証明書を生成する必要があります。自己署名証明書は使用できません。
  • プロパティ ファイルを更新して、セキュアポートにバインドし、証明書を読み込みます。

証明書と鍵をインストールするには:

  1. OpenLDAP ノードに証明書のディレクトリを作成します。
    sudo mkdir -p /opt/apigee/customer/application/certs/
  2. PEM エンコードされた証明書(.crt)と秘密鍵(.key)を新しいディレクトリにコピーします。
  3. ディレクトリとファイルの所有者を「apigee」ユーザーに変更し、権限を保護します。
    sudo chown -R apigee:apigee /opt/apigee/customer/application/certs/
    sudo chmod 600 /opt/apigee/customer/application/certs/sso.key
    sudo chmod 644 /opt/apigee/customer/application/certs/sso.crt

SSL_TERMINATION モード用に Apigee SSO を構成するには:

  1. /opt/apigee/customer/application/openldap.properties ファイルに次の設定を追加します。
    # 1. Enable HTTPS listener and configure TLS cert/key
    lib_settings_enable_sso_https=true
    etc_sso_config_bind_port_ssl=9443
    etc_sso_config_tls_cert_file=/opt/apigee/customer/application/certs/sso.crt
    etc_sso_config_tls_key_file=/opt/apigee/customer/application/certs/sso.key
    
    # 2. Update the Issuer URL to use HTTPS and the SSL port/hostname
    etc_sso_config_issuer_url=https://hostname_or_IP_of_openldap:9443
    
    # 3. (Optional) Disable plain HTTP if only HTTPS is desired
    # lib_settings_enable_sso_http=false
  2. /opt/silent.conf ファイルに次のプロパティが設定されていることを確認して、HTTPS 用の新しい Edge UI 構成を更新します。
    MANAGEMENT_UI_SSO_ENABLED=y
    SSO_PUBLIC_URL_SCHEME=https
    SSO_PUBLIC_URL_HOSTNAME=hostname_or_IP_of_openldap
    SSO_PUBLIC_URL_PORT=9443
  3. setup-sso スクリプトを実行して構成を適用し、Apigee SSO を再起動して、Edge Management Server を自動的に更新します。
    /opt/apigee/apigee-service/bin/apigee-service apigee-openldap setup-sso -f /opt/silent.conf
  4. Apigee SSO にアクセスするためにポート 9443 で HTTPS リクエストを送信するように、IDP 構成(Okta や ADFS など)を更新します。詳細については、SAML IDP を構成するをご覧ください。
  5. UI 構成スクリプトを実行して、新しい Edge UI サーバーを自動的に構成します。
    /opt/apigee/apigee-service/bin/apigee-service edge-management-ui configure-sso -f /opt/silent.conf