Apigee SSO のインストールと構成では、Apigee SSO モジュールをインストールして構成する際に、ポート 9099 で HTTP を使用するよう設定する方法について説明しています。その際、Edge 構成ファイルで次のプロパティを指定します。
SSO_TOMCAT_PROFILE=DEFAULT
別の方法として、SSO_TOMCAT_PROFILE
を次のいずれかの値に設定して、HTTPS アクセスを有効にすることもできます。
- SSL_PROXY:
apigee-sso
(Apigee SSO モジュール)をプロキシモードで構成します。つまり、apigee-sso
の前面にロードバランサをインストールし、そのロードバランサで TLS を終端します。その後、apigee-sso
でロードバランサからのリクエストに使用されるポートを指定します。 - SSL_TERMINATION: 任意のポートで
apigee-sso
への TLS アクセスを有効にできます。このモードでは、CA によって署名された証明書を含むキーストアを指定する必要があります。自己署名証明書は使用できません。
HTTPS は apigee-sso
の初期インストール時に有効にすることも、後で有効にすることもできます。
どちらのモードを使用して apigee-sso
への HTTPS アクセスを有効した場合も、HTTP アクセスが無効になります。つまり、HTTP と HTTPS の両方を同時に使用して apigee-sso
にアクセスすることはできません。
SSL_PROXY モードを有効にする
SSL_PROXY
モードでは、Apigee SSO モジュールの前面に配置されたロードバランサを使用し、そのロードバランサで TLS を終端します。次の図では、ロードバランサが TLS をポート 443 で終端させ、ポート 9099 でリクエストを Apigee SSO モジュールに転送しています。
この構成では、ロードバランサから Apigee SSO モジュールへの接続を信頼できるので、その接続に TLS を使用する必要はありません。ただし、IDP などの外部エンティティは、保護されていないポート 9099 ではなく、ポート 443 で Apigee Edge SSO モジュールにアクセスする必要があります。
Apigee SSO モジュールを SSL_PROXY
モードで構成する理由は、認証プロセスの一環として IDP で外部使用されるリダイレクト URL を Apigee SSO モジュールが自動生成するためです。したがって、これらのリダイレクト URL には、Apigee SSO モジュールの内部ポート(この例では 9099)ではなく、ロードバランサの外部ポート番号(この例では 443)が含まれる必要があります。
Apigee SSO モジュールを SSL_PROXY
モードで構成するには:
- 構成ファイルに次の設定を追加します。
# Enable SSL_PROXY mode. SSO_TOMCAT_PROFILE=SSL_PROXY # Specify the apigee-sso port, typically between 1025 and 65535. # Typically ports 1024 and below require root access by apigee-sso. # The default is 9099. SSO_TOMCAT_PORT=9099 # Specify the port number on the load balancer for terminating TLS. # This port number is necessary for apigee-sso to auto-generate redirect URLs. SSO_TOMCAT_PROXY_PORT=443 SSO_PUBLIC_URL_PORT=443 # Set public access scheme of apigee-sso to https. SSO_PUBLIC_URL_SCHEME=https
- Apigee SSO モジュールを次のように構成します。
/opt/apigee/apigee-service/bin/apigee-service apigee-sso setup -f configFile
- IDP の構成を更新して、Apigee SSO にアクセスする際にロードバランサのポート 443 を使って HTTPS リクエストを行うようにします。詳細については、次のいずれかをご覧ください。
- 構成ファイルで次のプロパティを設定することにより、Edge UI の構成を HTTPS 用に更新します。
SSO_PUBLIC_URL_PORT=443 SSO_PUBLIC_URL_SCHEME=https
次に Edge UI を更新します。
/opt/apigee/apigee-service/bin/apigee-service edge-management-ui configure-sso -f configFile
Classic UI の場合は
edge-ui
コンポーネントを使用します。 - Apigee Developer Services ポータル(略して「ポータル」)がインストールされている場合は、HTTPS を使用して Apigee SSO にアクセスするようポータルを更新します。詳細については、外部 IDP を使用するようにポータルを構成するをご覧ください。
詳細については、Edge UI で外部 IDP を有効にするをご覧ください。
SSL_TERMINATION モードを有効にする
SSL_TERMINATION
モードの場合は、次の操作を行う必要があります。
- TLS 証明書と鍵を生成してキーストア ファイルに格納します。自己署名証明書は使用できません。CA によって証明書を生成する必要があります。
apigee-sso.
の構成を更新します。
証明書と鍵からキーストア ファイルを作成するには:
- JKS ファイル用のディレクトリを作成します。
sudo mkdir -p /opt/apigee/customer/application/apigee-sso/tomcat-ssl/
- 新しいディレクトリに移動します。
cd /opt/apigee/customer/application/apigee-sso/tomcat-ssl/
- 証明書と鍵を含む JKS ファイルを作成します。このモードでは、CA によって署名された証明書を含むキーストアを指定する必要があります。自己署名証明書は使用できません。JKS ファイルの作成方法の例については、オンプレミスの Edge での TLS / SSL の構成をご覧ください。
- JKS ファイルの所有者を「apigee」ユーザーにします。
sudo chown -R apigee:apigee /opt/apigee/customer/application/apigee-sso/tomcat-ssl
Apigee SSO モジュールを構成するには:
- 構成ファイルに次の設定を追加します。
# Enable SSL_TERMINATION mode. SSO_TOMCAT_PROFILE=SSL_TERMINATION # Specify the path to the keystore file. SSO_TOMCAT_KEYSTORE_FILEPATH=/opt/apigee/customer/application/apigee-sso/tomcat-ssl/keystore.jks SSO_TOMCAT_KEYSTORE_ALIAS=sso # The password specified when you created the keystore. SSO_TOMCAT_KEYSTORE_PASSWORD=keystorePassword # Specify the HTTPS port number between 1025 and 65535. # Typically ports 1024 and below require root access by apigee-sso. # The default is 9099. SSO_TOMCAT_PORT=9443 SSO_PUBLIC_URL_PORT=9443 # Set public access scheme of apigee-sso to https. SSO_PUBLIC_URL_SCHEME=https
- Apigee SSO モジュールを次のように構成します。
/opt/apigee/apigee-service/bin/apigee-service apigee-sso setup -f configFile
- IDP の構成を更新して、Apigee SSO にアクセスする際にロードバランサのポート 9443 を使って HTTPS リクエストを行うようにします。他のサービスがこのポートを使用していないことを確認してください。
詳細については、以下を参照してください。
- 次のプロパティを設定して、HTTPS 用に Edge UI 構成を更新します。
SSO_PUBLIC_URL_PORT=9443 SSO_PUBLIC_URL_SCHEME=https
- Developer Services ポータルがインストールされている場合は、HTTPS を使用して Apigee SSO にアクセスするようにポータルを更新します。詳細については、外部 IDP を使用するようにポータルを構成するをご覧ください。
SSL_TERMINATION モードを使用する場合の SSO_TOMCAT_PROXY_PORT の設定
Apigee SSO モジュールの前面にロードバランサを配置して TLS をロードバランサで終端させることに加えて、ロードバランサと Apigee SSO の間で TLS を有効にすることもできます。つまり上の SSL_PROXY
モードの図でいうと、ロードバランサから Apigee SSO への接続に TLS を使用できます。
このシナリオでは、上記の SSL_TERMINATION
モードの場合と同じように Apigee SSO で TLS を構成します。ただし、ロードバランサで使用される TLS ポート番号が Apigee SSO の TLS と異なる場合は、構成ファイルで SSO_TOMCAT_PROXY_PORT
プロパティも指定する必要があります。次に例を示します。
- ロードバランサはポート 443 で TLS を終端する
- Apigee SSO はポート 9443 で TLS を終端する
構成ファイルに次の設定を含めます。
# Specify the port number on the load balancer for terminating TLS. # This port number is necessary for apigee-sso to generate redirect URLs. SSO_TOMCAT_PROXY_PORT=443 SSO_PUBLIC_URL_PORT=443
ポート 443 を使って HTTPS リクエストを行うように IDP と Edge UI を構成します。