HTTPS アクセス用の apigee-sso の構成

Edge for Private Cloud バージョン 4.17.09

Edge SSO をインストールして構成するでは、Edge SSO モジュールをインストールし、構成ファイルの次のプロパティに指定されるポート 9099 で HTTP を使用するように構成する方法について説明します。

SSO_TOMCAT_PROFILE=DEFAULT

また、SSO_TOMCAT_PROFILE を次のいずれかの値に設定して、HTTPS アクセスを有効にすることもできます。

  • SSL_PROXY - プロキシモードで apigee-sso を構成します。つまり、apigee-sso の前面にロードバランサをインストールし、そのロードバランサで TLS を終端します。apigee-ssoapigee-sso次に、apigee-sso でロードバランサからのリクエストに使用するポートを指定します。
  • SSL_TERMINATION - Edge SSO モジュールである apigee-sso への TLS アクセスを、選択したポートで有効にします。このモードでは、CA によって署名された証明書を含むキーストアを指定する必要があります。自己署名証明書は使用できません。

HTTPS は、apigee-sso を最初にインストールして構成するときに有効にすることも、後で有効にすることもできます。

いずれかのモードを使用して apigee-sso への HTTPS アクセスを有効にすると、HTTP アクセスが無効になります。つまり、HTTP と HTTPS の両方を同時に使用して apigee-sso にアクセスすることはできません。

SSL_PROXY モードを有効にする

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

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

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

: ロードバランサから Edge SSO モジュールへの接続には HTTP が使用されるため、SSL_PROXY モードの TLS 証明書と鍵を作成する必要はありません。

Edge SSO モジュールを SSL_PROXY モード用に構成するには:

  1. 構成ファイルに次の設定を追加します。
    # SSL_PROXY モードを有効にする。
    SSO_TOMCAT_PROFILE=SSL_PROXY

    # apigee-sso ポートを指定します(通常は 1025 ~ 65535)。
    # 通常、ポート 1024 以下では apigee-sso による root アクセス権が必要です。
    # デフォルトは 9099 です。
    SSO_TOMCAT_PORT=9099

    # TLS を終端するためのロードバランサのポート番号を指定します。
    # このポート番号は、apigee-sso がリダイレクト URL を自動生成するために必要です。
    SSO_TOMCAT_PROXY_PORT=443
    SSO_PUBLIC_URL_PORT=443

    # apigee-sso の公開アクセス スキームを https に設定します。
    SSO_PUBLIC_URL_SCHEME=https
  2. Edge SSO モジュールを構成します。
    > /opt/apigee/apigee-service/bin/apigee-service apigee-sso setup -f configFile
  3. Edge SSO にアクセスするために、ロードバランサのポート 443 で HTTPS リクエストが行われるように IDP の構成を更新します。詳細については、SAML IDP を構成するをご覧ください。
  4. 次のプロパティを設定して、HTTPS に対応する Edge UI 構成を更新します。
    SSO_PUBLIC_URL_PORT=443
    SSO_PUBLIC_URL_SCHEME=https


    詳細については、Edge UI で SAML を有効にするをご覧ください。
  5. Developer Services ポータルまたは API BaaS をインストールした場合は、HTTPS を使用して Ede SSO にアクセスするように更新します。詳しくは以下をご覧ください。

SSL_TERMINATION モードを有効にする

SSL_TERMINATION モードでは、以下を行う必要があります。

  • TLS 証明書と鍵を生成してキーストア ファイルに保存する。自己署名証明書は使用できません。CA から証明書を生成する必要があります。
  • apigee-sso. の構成を更新します。

証明書と鍵からキーストア ファイルを作成するには:

  1. JKS ファイルのディレクトリを作成します。
    > sudo mkdir -p /opt/apigee/customer/application/apigee-sso/tomcat-ssl/
  2. 新しいディレクトリに移動します。
    > cd /opt/apigee/customer/application/apigee-sso/tomcat-ssl/
  3. 証明書と鍵を含む JKS ファイルを作成します。このモードでは、CA によって署名された証明書を含むキーストアを指定する必要があります。自己署名証明書は使用できません。JKS ファイルの作成例については、オンプレミスの Edge での TLS/SSL の構成をご覧ください。
  4. JKS ファイルの所有者を「apigee」ユーザーにします。
    > sudo chown -R apigee:apigee /opt/apigee/customer/application/apigee-sso/tomcat-ssl

Edge SSO モジュールを構成するには:

  1. 構成ファイルに次の設定を追加します。
    # SSL_TERMINATION モードを有効にします。
    SSO_TOMCAT_PROFILE=SSL_TERMINATION

    # キーストア ファイルのパスを指定します。
    SSO_TOMCAT_KEYSTORE_FILEPATH=/opt/apigee/customer/application/apigee-sso/tomcat-ssl/keystore.jks
    SSO_TOMCAT_KEYSTORE_ALIAS=sso

    # キーストアの作成時に指定したパスワード。
    SSO_TOMCAT_KEYSTORE_PASSWORD=keystorePassword

    # HTTPS ポート番号を 1025 ~ 65535 の範囲で指定します
    # 通常、ポート 1024 以下では apigee-sso による root アクセス権が必要です。
    # デフォルトは 9099 です。
    SSO_TOMCAT_PORT=9443
    SSO_PUBLIC_URL_PORT=9443

    # apigee-sso の公開アクセス スキームを https に設定します。
    SSO_PUBLIC_URL_SCHEME=https
  2. Edge SSO モジュールを構成します。
    > /opt/apigee/apigee-service/bin/apigee-service apigee-sso setup -f configFile
  3. Edge SSO にアクセスするために、ロードバランサのポート 9443 で HTTPS リクエストが行われるように IDP の構成を更新します。詳細については、SAML IDP を構成するをご覧ください。
  4. 次のプロパティを設定して、HTTPS に対応する Edge UI 構成を更新します。
    SSO_PUBLIC_URL_PORT=9443
    SSO_PUBLIC_URL_SCHEME=https


    詳細については、Edge UI で SAML を有効にするをご覧ください。
  5. Developer Services ポータルまたは API BaaS をインストールした場合は、HTTPS を使用して Ede SSO にアクセスするように更新します。詳しくは以下をご覧ください。

SSL_TERMINATION モードを使用する場合の SSO_TOMCAT_PROXY_PORT の設定

Edge SSO モジュールの前にロードバランサを配置して、そのロードバランサで TLS を終端し、ロードバランサと Edge SSO 間の TLS を有効にすることもできます。上記の SSL_PROXY モードの場合、ロードバランサから Edge SSO への接続に TLS が使用されます。

このシナリオでは、上記の SSL_TERMINATION モードの場合と同様に、Edge SSO で TLS を構成します。ただし、ロードバランサが Edge SSO が TLS に使用するものとは異なる TLS ポート番号を使用する場合は、構成ファイルで SSO_TOMCAT_PROXY_PORT プロパティも指定する必要があります。例:

  • ロードバランサは、TLS をポート 443 で終端します。
  • Edge SSO のポート 9443 で TLS の終端

構成ファイルに次の設定が含まれていることを確認します。

# TLS を終端するためのロードバランサのポート番号を指定する。
# このポート番号は、apigee-sso がリダイレクト URL を生成するために必要です。
SSO_TOMCAT_PROXY_PORT=443
SSO_PUBLIC_URL_PORT=443

ポート 443 で HTTPS リクエストを行うように IDP と Edge UI を構成する。