24 エンタープライズ・デプロイメントに対するシングル・サインオンの構成

Oracle Access Managerでシングル・サインオンを有効化するために、Oracle HTTP Server WebGateを構成する必要があります。

Oracle Webgateについて

Oracle WebGateは、HTTPリクエストを捕捉して、認証と認可を行うために既存のOracle Access Managerインスタンスに転送するWebサーバー・プラグインです。

Oracle Fusion Middleware 12cの場合、Oracle WebGateソフトウェアはOracle HTTP Server 12cソフトウェア・インストールの一部としてインストールされます。『Oracle Access Management管理者ガイド』「OAM 11gエージェントの登録および管理」を参照してください。Oracle WebGateは、Oracle HTTP ServerおよびOracle Traffic Directorで使用できます。

Oracle HTTP Server Webgateの構成の一般的な前提条件

Oracle HTTP Server WebGateを構成するには、動作保証されたバージョンのOracle Access Managerをインストールして構成しておく必要があります。

最新の情報は、Oracle Fusion Middlewareのサポートされるシステム構成ページで、ご使用のリリース向けの動作保証情報のドキュメントを参照してください。

WebGateの動作保証マトリクスについては、クリックしてhttp://www.oracle.com/technetwork/middleware/id-mgmt/downloads/oam-webgates-2147084.htmlを開き、「Certification Matrix for 12c Access Management WebGates」リンクをクリックして動作保証マトリクスのスプレッドシートをダウンロードします。

ノート:

本番環境の場合は、エンタープライズ・デプロイメントをホストしているマシンではなく、専用の環境にOracle Access Managerをインストールすることを強くお薦めします。

ノート:

目的のOracle Access Managerデプロイメントで動作保証されているWebGateバージョンの使用をお薦めします。

Oracle Access Managerの詳細は、Oracle Help CenterMiddlewareドキュメントにある最新のOracle Identity and Access Managementドキュメントを参照してください。

エンタープライズ・デプロイメントでのOracle HTTP Server 12c WebGateの構成

WEBHOST1とWEBHOST2の両方でOracle HTTP Server 12c WebGate for Oracle Access Managerを構成するには、次のステップを実行する必要があります。

次の手順では、WEB_ORACLE_HOMEWEB_CONFIG_DIRなどのディレクトリ変数を、「このガイドで使用するファイル・システムとディレクトリ変数」で定義されている値で置き換えます。

  1. Web層ドメインの完全なバックアップを実行します。

  2. ディレクトリを、Oracle HTTP Server Oracleホームの次の場所に変更します。

    cd WEB_ORACLE_HOME/webgate/ohs/tools/deployWebGate/

  3. 次のコマンドを実行して、WebGateインスタンス・ディレクトリを作成し、OHSインスタンスでのWebGateロギングを有効にします。

    ./deployWebGateInstance.sh -w WEB_CONFIG_DIR -oh WEB_ORACLE_HOME
  4. deployWebGateInstanceコマンドによってwebgateディレクトリとサブディレクトリが作成されたことを確認します。

    ls -lat WEB_CONFIG_DIR/webgate/
    total 16
    drwxr-x---+ 8 orcl oinstall 20 Oct  2 07:14 ..
    drwxr-xr-x+ 4 orcl oinstall  4 Oct  2 07:14 .
    drwxr-xr-x+ 3 orcl oinstall  3 Oct  2 07:14 tools
    drwxr-xr-x+ 3 orcl oinstall  4 Oct  2 07:14 config
    
  5. 次のコマンドを実行し、LD_LIBRARY_PATH変数にWEB_ORACLE_HOME/libディレクトリ・パスが含まれるようにします。

    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:WEB_ORACLE_HOME/lib

  6. ディレクトリを次のディレクトリに変更します。

    WEB_ORACLE_HOME/webgate/ohs/tools/setup/InstallTools

  7. 次のコマンドをInstallToolsディレクトリから実行します。

    ./EditHttpConf -w WEB_CONFIG_DIR -oh WEB_ORACLE_HOME -o output_file_name

    ノート:

    -oh WEB_ORACLE_HOMEおよび-o output_file_nameパラメータはオプションです。

    このコマンドは次の処理を実行します。

    • Oracle HTTP Server Oracleホームのapache_webgate.templateファイルをOracle HTTP Serverの構成ディレクトリの新しいwebgate.confファイルにコピーします。

    • httpd.confファイルに1行追加して更新し、webgate.confが含まれるようにします。

    • WebGate構成ファイルを生成します。このファイルのデフォルト名はwebgate.confですが、コマンドに対して-o output_file_name引数を使用することにより、カスタム名を使用できます。

エンタープライズ・デプロイメント用のOracle Traffic Director 12c WebGateの構成

WEBHOST1とWEBHOST2の両方でOracle Traffic Director (OTD) 12c WebGate for Oracle Access Managerを構成するには、次のステップを実行する必要があります。

次の手順では、WEB_ORACLE_HOMEWEB_CONFIG_DIRなどのディレクトリ変数を、「このガイドで使用するファイル・システムとディレクトリ変数」で定義されている値で置き換えます。

  1. Web層ドメインに対して完全バックアップを実行します。

  2. ディレクトリをOracle Traffic Director Oracleホームの次の場所に変更します。

    cd WEB_ORACLE_HOME/webgate/otd/tools/deployWebGate/

  3. 次のコマンドを実行して、WebGateインスタンス・ディレクトリを作成し、OTDインスタンスでのWebGateロギングを有効にします。

    ./deployWebGateInstance.sh -w WEB_CONFIG_DIR -oh WEB_ORACLE_HOME -ws otd
  4. deployWebGateInstanceコマンドによってwebgateディレクトリとサブディレクトリが作成されたことを確認します。

    ls -lat WEB_CONFIG_DIR/webgate/
    total 16
    drwxr-x---+ 8 orcl oinstall 20 Oct  2 07:14 ..
    drwxr-xr-x+ 4 orcl oinstall  4 Oct  2 07:14 .
    drwxr-xr-x+ 3 orcl oinstall  3 Oct  2 07:14 tools
    drwxr-xr-x+ 3 orcl oinstall  4 Oct  2 07:14 config
    
  5. 次のコマンドを実行し、LD_LIBRARY_PATH変数にWEB_ORACLE_HOME/libディレクトリ・パスが含まれるようにします。

    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:WEB_ORACLE_HOME/lib

  6. ディレクトリを次のディレクトリに変更します。

    WEB_ORACLE_HOME/webgate/otd/tools/setup/InstallTools

  7. 次のコマンドをInstallToolsディレクトリから実行します。

    ./EditObjConf -f WEB_CONFIG_DIR/instance_name/config/login.example.com-obj.conf -w WEB_CONFIG_DIR -oh WEB_ORACLE_HOME -ws otd

    たとえば:

    ./EditObjConf -f /u02/private/oracle/config/domains/otdDomain/config/fmwconfig/components/OTD/instances/otd_idm_WEBHOST1/config//login.example.com-obj.conf -w /u02/private/oracle/config/domains/otdDomain/config/fmwconfig/components/OTD/instances -oh /u01/oracle/products/web -ws otd

    ノート:

    -oh WEB_ORACLE_HOMEおよび-o output_file_nameパラメータはオプションです。

    このコマンドは次の処理を実行します。

    • apache_webgate.templateファイルを、Oracle Traffic Director OracleホームからOracle Traffic Director構成ディレクトリ内の新しいwebgate.confファイルにコピーします。

    • httpd.confファイルに1行追加して更新し、webgate.confが含まれるようにします。

    • WebGate構成ファイルを生成します。このファイルのデフォルト名はwebgate.confですが、コマンドに対して-o output_file_name引数を使用することにより、カスタム名を使用できます。

    このコマンドを各仮想ホスト・ファイル(prov.example.com-obj.confiadaccess.example.com-obj.configdaccess.example.com-obj.confおよびigdinternal.example.com-obj.conf)に対して繰り返します。

Web層へのWebゲート・アーティファクトのコピー

Oracle Access Managementインストールを作成した際、Webgate_IDMという名前のWebゲートが作成されています。WebゲートがAccessサーバーと通信するには、このWebゲートに関連付けられているアーティファクトをWeb層にコピーする必要があります。

生成済アーティファクトのOracle HTTP Server WebGateインスタンスの場所へのコピー

idmTool configOAMを実行すると、Webgate_IDMという名前のWebゲート・エージェントが作成されます。このプロセスで、このエージェントに関連するいくつかのアーティファクトがIAD_ASERVER_HOME/output/Webgate_IDMに作成されます。これらのアーティファクトをWeb層ホスト上のOracle HTTP Server構成ディレクトリにコピーする必要があります。

Oracle HTTP Server構成ディレクトリのファイルの場所は、Oracle Access Managerセキュリティ・モード設定(OPEN、SIMPLEまたはCERT)によって異なります。

次の表に、Oracle Access Managerのセキュリティ・モード設定に基づいて、生成されたアーティファクトごとにOracle HTTP Server構成ディレクトリの必須の場所を示します。ディレクトリが存在しない場合、ディレクトリを作成しなければならないことがあります。たとえば、ウォレット・ディレクトリは構成ディレクトリ内に存在しないことがあります。

ノート:

エンタープライズ・デプロイメントでは、認証および認可トラフィックの暗号化にカスタム・セキュリティ証明書を実装する追加の要件が存在する場合を除き、簡易モードを使用することをお薦めします。オープン・モードまたは証明書モードの使用方法の詳細は、利便性のため、ここで説明します。

オープン・モードではOracle Access Managerサーバーとの間のトラフィックが暗号化されないため、オープン・モードを使用しないでください。

証明書モードの使用方法やOracle Access Managerでサポートされるセキュリティ・モード全般については、『Oracle Access Management管理者ガイド』OAMサーバーとWebGateの間のセキュア通信に関する項を参照してください。

表24-1 生成済アーティファクトをコピーするWeb層のホストの場所

ファイル SIMPLEモードを使用する場合の場所 CERTモードを使用する場合の場所
wallet/cwallet.sso脚注1 WEB_CONFIG_DIR/webgate/config/wallet

デフォルトでは、ウォレット・フォルダは使用できません。WEB_CONFIG_DIR/webgate/config/の下にwalletフォルダを作成します。

WEB_CONFIG_DIR/webgate/config/wallet
ObAccessClient.xml WEB_CONFIG_DIR/webgate/config WEB_CONFIG_DIR/webgate/config
password.xml WEB_CONFIG_DIR/webgate/config WEB_CONFIG_DIR/webgate/config
aaa_key.pem WEB_CONFIG_DIR/webgate/config/simple/ WEB_CONFIG_DIR/webgate/config
aaa_cert.pem WEB_CONFIG_DIR/webgate/config/simple/ WEB_CONFIG_DIR/webgate/config

脚注1 cwallet.ssoは、outputフォルダではなくwalletフォルダからコピーします。同じ名前のファイルが2つ存在していたとしても、それらは別のものです。正しいものは、walletサブディレクトリにあるほうです。

ノート:

WEBHOST1およびWEBHOST2ObAccessClient.xmlを再デプロイする必要がある場合、ObAccessClient.xmlのキャッシュされたコピーおよびそのロック・ファイルであるObAccessClient.xml.lckをサーバーから削除します。WEBHOST1のキャッシュの場所は次のとおりです。
WEB_DOMAIN_HOME/servers/ohs1/cache/

WEBHOST2上の2番目のOracle HTTP Serverインスタンスでも同様のステップを実行する必要があります。

WEB_DOMAIN_HOME/servers/ohs2/cache/

Oracle Traffic Director WebGateインスタンスの場所への生成されたアーティファクトのコピー

idmTool configOAMを実行すると、Webgate_IDMという名前のWebゲート・エージェントが作成されます。このプロセスで、このエージェントに関連するいくつかのアーティファクトがIAD_ASERVER_HOME/output/Webgate_IDMに作成されます。これらのアーティファクトをWeb層ホスト上のOracle Traffic Director構成ディレクトリにコピーする必要があります。

Oracle HTTP Server構成ディレクトリのファイルの場所は、Oracle Access Managerセキュリティ・モード設定(OPEN、SIMPLEまたはCERT)によって異なります。

次の表に、Oracle Access Managerのセキュリティ・モード設定に基づいて、生成されたアーティファクトごとにOracle HTTP Server構成ディレクトリの必須の場所を示します。ディレクトリが存在しない場合、ディレクトリを作成しなければならないことがあります。たとえば、ウォレット・ディレクトリは構成ディレクトリ内に存在しないことがあります。

ノート:

エンタープライズ・デプロイメントでは、認証および認可トラフィックの暗号化にカスタム・セキュリティ証明書を実装する追加の要件が存在する場合を除き、簡易モードを使用することをお薦めします。オープン・モードまたは証明書モードの使用方法の詳細は、利便性のため、ここで説明します。

オープン・モードではOracle Access Managerサーバーとの間のトラフィックが暗号化されないため、オープン・モードを使用しないでください。

証明書モードの使用方法やOracle Access Managerでサポートされるセキュリティ・モード全般については、『Oracle Access Management管理者ガイド』OAMサーバーとWebGateの間のセキュア通信に関する項 を参照してください。

ファイル SIMPLEモードを使用する場合の場所
wallet/cwallet.sso

ノート:

cwallet.ssoは、outputフォルダではなくwalletフォルダからコピーします。同じ名前のファイルが2つ存在していたとしても、それらは別のものです。正しいものは、walletサブディレクトリにあるほうです。
WEB_CONFIG_DIR/webgate/config/wallet

ノート:

デフォルトでは、ウォレット・フォルダは使用できません。WEB_CONFIG_DIR/webgate/config/の下にwalletフォルダを作成します。
ObAccessClient.xml WEB_CONFIG_DIR/webgate/config
password.xml WEB_CONFIG_DIR/webgate/config
aaa_key.pem WEB_CONFIG_DIR/webgate/config/simple/
aaa_cert.pem WEB_CONFIG_DIR/webgate/config/simple/

ノート:

WEBHOST1およびWEBHOST2ObAccessClient.xmlを再デプロイする必要がある場合、ObAccessClient.xmlのキャッシュされたコピーおよびそのロック・ファイルであるObAccessClient.xml.lckをサーバーから削除します。WEBHOST1のキャッシュの場所は次のとおりです。
WEB_DOMAIN_HOME/servers/otd1/cache/

WEBHOST2上の2番目のOracle HTTP Serverインスタンスでも同様のステップを実行する必要があります。

WEB_DOMAIN_HOME/servers/otd2/cache/

Oracle HTTP Serverインスタンスの再起動

Oracle HTTP Serverインスタンスの再起動の詳細は、Oracle HTTP Serverの管理WLSTを使用したOracle HTTP Serverインスタンスの再起動を参照してください。

WebLogic ServerドメインにOracle HTTP Serverを構成した場合、Oracle Fusion Middleware Controlを使用してOracle HTTP Serverインスタンスを再起動することもできます。『Oracle HTTP Serverの管理』Fusion Middleware Controlを使用したOracle HTTP Serverインスタンスの再起動に関する項を参照してください。

WebLogic Server認証プロバイダの設定

WebLogic Server認証プロバイダを設定するには、構成ファイルをバックアップし、Oracle Access Manager IDアサーション・プロバイダを設定し、プロバイダの順序を設定します。

ここでは、「新しいLDAPオーセンティケータの作成とエンタープライズ・デプロイメント・ユーザーおよびグループのプロビジョニング」のステップに従ってLDAPオーセンティケータをすでに構成していると仮定しています。LDAPオーセンティケータをまだ作成していない場合は、作成してからこの項を読み進めてください。

ノート:

これらのステップは、IAMGovernanceDomainでのみ実行する必要があり、IAMAccessDomainではconfigOAMの実行の一部としてすでに実行されています。

構成ファイルのバックアップ

まず、次の関連する構成ファイルをバックアップする必要があります。

ASERVER_HOME/config/config.xml
ASERVER_HOME/config/fmwconfig/jps-config.xml
ASERVER_HOME/config/fmwconfig/system-jazn-data.xml

管理サーバーのboot.propertiesファイルもバックアップします。

ASERVER_HOME/servers/AdminServer/security/boot.properties

Oracle Access Manager IDアサーション・プロバイダの設定

Oracle WebLogic Server管理コンソールを使用してOracle Access Manager IDアサーション・プロバイダを設定します。

Oracle Access Manager IDアサーション・プロバイダを設定するには:
  1. WebLogic Server管理コンソールにログインしていない場合は、ログインします。
  2. 「ロックして編集」をクリックします。
  3. 左のナビゲーション・バーにある「セキュリティ・レルム」をクリックします。
  4. myrealmというデフォルト・レルム・エントリをクリックします。
  5. 「プロバイダ」タブをクリックします。
  6. 「新規」をクリックし、ドロップダウン・メニューからアサータ・タイプ「OAMIdentityAsserter」を選択します。
  7. アサータに名前(OAM ID Asserterなど)を付け、「OK」をクリックします。
  8. 新しく追加したアサータをクリックし、Oracle Access Manager IDアサーション・プロバイダの構成画面を確認します。
  9. 制御フラグを「必須」に設定します。
  10. 選択タイプで、デフォルトで選択されていない場合は「ObSSOCookie」および「OAM_REMOTE_USER」オプションを選択します。
  11. 「保存」をクリックして設定を保存します。
  12. 「変更のアクティブ化」をクリックして変更を伝播します。

デフォルト・オーセンティケータの更新およびプロバイダの順序の設定

WebLogic Server管理コンソールを使用してIDアサーション・プロバイダと認証プロバイダを設定します。

デフォルト・オーセンティケータを更新し、プロバイダの順序の設定するには、次のようにします。
  1. WebLogic Server管理コンソールにログインしていない場合は、ログインします。
  2. 「ロックして編集」をクリックします。
  3. 左側のナビゲーションから、「セキュリティ・レルム」を選択します。
  4. myrealmというデフォルト・レルム・エントリをクリックします。
  5. 「プロバイダ」タブをクリックします。
  6. プロバイダの表で、DefaultAuthenticatorをクリックします。
  7. 「制御フラグ」をSUFFICIENTに設定します。
  8. 「保存」をクリックして設定を保存します。
  9. ナビゲーション・ブレッドクラムから、「プロバイダ」をクリックして、プロバイダのリストに戻ります。
  10. 「並替え」をクリックします。
  11. プロバイダをソートして、OAMアイデンティティ・アサーション・プロバイダが最初で、DefaultAuthenticatorプロバイダが最後になるようにします。

    表24-2 ソート順序

    ソート順序 プロバイダ 制御フラグ

    1

    OAMIdentityAsserter

    REQUIRED

    2

    LDAP認証プロバイダ

    SUFFICIENT

    3

    OIMAuthenticationProvider

    SUFFICIENT

    4

    DefaultIdentityAsserter

    該当なし

    5

    信頼サービスIDアサータ

    該当なし

    6

    DefaultAuthenticator

    SUFFICIENT

  12. 「OK」をクリックします。
  13. 「変更のアクティブ化」をクリックして変更を伝播します。
  14. 必要に応じて、管理サーバー、管理対象サーバーおよびシステム・コンポーネントを停止します。
  15. 管理サーバーを再起動します。
  16. SSOによりADFコンソールを構成する場合は、管理対象サーバーを停止したままにして後から再開できます。そうでない場合は、ここで管理対象サーバーを再起動する必要があります。

Oracle Access Managerを使用したOracle ADFおよびOPSSセキュリティの構成

一部のOracle Fusion Middleware管理コンソールでは、Oracle Access Managerシングル・サインオン(SSO)と統合可能なOracle Application Development Framework (Oracle ADF)セキュリティが使用されます。これらのアプリケーションでは、ユーザー認証にOracle Platform Security Services (OPSS) SSOを利用できますが、最初にドメインレベルのjps-config.xmlファイルを構成して、これらの機能を有効化する必要があります。

ドメインレベルのjps-config.xmlファイルは、Oracle Fusion Middlewareドメインの作成後に次の場所に配置されます。

ASERVER_HOME/config/fmwconfig/jps-config.xml

ノート:

ドメインレベルのjps-config.xmlをカスタム・アプリケーションでデプロイされたjps-config.xmlと混同しないでください。

OPSS構成を更新してOracle Access ManagerにSSOアクションを委任するステップは次のとおりです。
  1. 次のディレクトリに変更します。
    ORACLE_COMMON_HOME/common/bin
  2. WebLogic Server Scripting Tool (WLST)を起動します。
    ./wlst.sh
  3. 次のWLSTコマンドを使用して管理サーバーに接続します。
    connect(‘admin_user’,’admin_password’,’admin_url’)
  4. 次に示すように、addOAMSSOProviderコマンドを実行します。
    addOAMSSOProvider(loginuri="/${app.context}/adfAuthentication", logouturi="/oamsso/logout.html")

    次の表は、addOAMSSOProviderコマンドにおける各引数の予想される値を定義しています。

    ノート:

    構成内の各ドメインに対してこの操作を実行します。

    表24-3 addOAMSSOProviderコマンドにおける引数の期待値

    引数 定義

    loginuri

    ログイン・ページのURIを指定します

    ノート:

    ADFセキュリティが有効なアプリケーションの場合、"/context-root/adfAuthentication"を'loginuri'パラメータに指定する必要があります。

    たとえば:

    /${app.context}/adfAuthentication

    ノート:

    ${app.context}は、表示されているとおりに入力する必要があります。実行時に、アプリケーションによって変数が適切に置き換えられます。

    手順を示します。

    1. たとえば、ユーザーがOPSSの認証ポリシーで保護されているリソースにアクセスします。

    2. ユーザーがまだ認証されていない場合、ADFはユーザーをloginuriで設定したURIにリダイレクトします。

    3. Access Managerにはloginuriの値を保護するポリシー(たとえば、"/context-root/adfAuthentication")が存在する必要があります。

    4. ADFがこのURIにリダイレクトすると、Access Managerにより「ログイン」ページが表示されます(このURI用のAccess Managerで構成された認証スキームにより異なる)。

    logouturi

    ログアウト・ページのURIを指定します通常、loginurlの値は/oam/logout.htmlです。

    autologinuri

    自動ログイン・ページのURIを指定しますこれはオプションのパラメータです。

  5. 次のコマンドを実行して、管理サーバーから切断します。
    disconnect()
  6. 管理サーバーおよび管理対象サーバーを再起動します。