ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Platform Security Servicesによるアプリケーションの保護
12c (12.1.2)
E47967-02
  目次へ移動
目次

前
 
次
 

7 セキュリティ・アーティファクトのライフサイクル

この章では、ドメインの作成時または拡張時に、アプリケーションで、ドメイン・セキュリティ・ストアにアプリケーション固有のセキュリティ・アーティファクトのシードを指定する方法を説明します。ここでは、12.1.2へのアップグレード手順も説明します。

この章は次の項に分かれています:

7.1 概要

11gドメインでは、デプロイメント・ディスクリプタが適切に設定されている場合に製品固有のセキュリティ・アーティファクトを指定すると、通常、それらのアーティファクトはアプリケーションEARファイルにバンドルされ、アプリケーションのデプロイ時にセキュリティ・ストアに移行されました。

12cドメインでは、製品テンプレートに製品固有のセキュリティ・アーティファクトをバンドルすると、それらのアーティファクトをドメイン・セキュリティ・ストアにシードできます。

7.2 FMWドメイン

JRFテンプレートを使用して作成または拡張されたドメインは、FMWドメインと呼ばれます。つまり、このテンプレートによって、ドメイン・セキュリティ・ストアのセキュリティ・アーティファクトのプロビジョニングが指定されます。具体的には、FMWドメインの作成時または拡張時に、次のタスクが自動的に実行されます。

拡張ドメインでは、前述の事項に加えて、次も指定されます。


重要事項:

JRFテンプレートでは、管理対象サーバーは作成されません。JRFテンプレートによって作成または拡張されたドメインでは、そのすべてのリソースが管理サーバーにのみターゲット指定されます。後で管理対象サーバーをドメインに追加するときは、applyJRFユーティリティを起動して、リソースが管理対象サーバーにもターゲット指定されるようにする必要があります。

つまり、再構成後のOPSSと監査データ・ソースを管理対象サーバーにターゲット指定するには、applyJRFを次の形式で実行する必要があります。

applyJRF('managedServer1', '<domain_dir>')

コンポーネント・テンプレートの詳細は、「階層型コンポーネントのセキュリティ・アーティファクト」を参照してください。

7.3 FMWドメインの作成

本番FMWドメインは拡張ドメインである必要があり、拡張ドメインにはDBベースのOPSSセキュリティ・ストアが必要です。このデータベースは、新しいデータベースにすることも、既存のデータベースを他のFMWドメインに関連付けて共有データベースにすることもできます。管理対象サーバーにターゲット指定されているリソースおよびapplyJRFユーティリティの使用については、「FMWドメイン」の「重要事項」を参照してください。

次の各項では、FMWドメインの作成方法を説明します。

7.3.1 新しいデータベース・インスタンスの使用

新しいデータベースと関連付けられたFMWドメインを作成または拡張するには、次の手順を実行します。

  1. 新しいデータベース・スキーマを作成します。詳細は、第9.3.1項「DBベースのセキュリティ・ストアを使用する場合の前提条件」を参照してください。

  2. 『Oracle Fusion Middleware構成ウィザードによるWebLogicドメインの作成』の第5章「構成画面」で説明されているように、構成ウィザードを使用してドメインを作成または拡張します。

    このタスクでは特に、手順1で作成したデータベース・スキーマなど、使用するデータベース・スキーマに関する情報を指定したり、使用するJFRテンプレートを選択します。


    注意1:

    作成中のドメインに関連付けられるデータベース・スキーマは、新しいものである必要があり、以前に使用したものにすることはできません。



    注意2:

    JRFテンプレートが処理されると、ドメインの作成時または拡張時に、OPSSスキーマ用、OPSS監査ビューア・スキーマ用およびOPSS監査追加スキーマ用に3つのデータ・ソースが自動作成されます。JRFテンプレートのその他の機能の詳細は、「FMWドメイン」を参照してください。


    ドメインの作成、拡張またはアップグレードのためのすべてのツールの詳細は、『Oracle Fusion Middlewareドメイン・テンプレート・リファレンス』のテンプレート・ツールに関する説明を参照してください。

7.3.2 データベース・インスタンスの共有

ドメインの既存のデータベースと関連付けられる拡張FMWドメインを作成するには、次の手順を実行します。


注意:

前述の手順では構成ウィザードを使用できたのに対して、次の手順では、WLSTコマンドのみを使用できます。


  1. ドメインdomain1で(他のドメインを結合する必要のある)既存のデータベースdb1を使用していると仮定した場合、次に示すWLSTオフライン・コマンドexportEncryptionKeyを使用して、domain1から、指定された場所に暗号化鍵をエクスポートします。

    exportEncryptionKey(location, password)
    


    コマンドの詳細は、『Oracle Fusion Middlewareインフラストラクチャ・セキュリティWLSTコマンド・リファレンス』を参照してください。

  2. WLSTコマンドを使用して新しいFMWドメインを作成し、そのドメインでデータベースdb1を共有します。ここで使用するスクリプトは、拡張ドメインの作成に使用するスクリプトと同様ですが、次の行を含む必要がある点が異なります。

    setSharedSecretStoreWithPassword(location, password)
    

    locationおよびpasswordの値は、exportEncryptionKeyへのコールで使用した値と同じです。前述のコールは、スクリプト内でupdateDomainへのコールの直前に配置されています。コマンド構文の詳細は、『Oracle Fusion Middlewareインフラストラクチャ・セキュリティWLSTコマンド・リファレンス』を参照してください。

7.4 階層型コンポーネントのセキュリティ・アーティファクト

セキュリティ・アーティファクトのシードおよびプロセスを簡略化するには、ドメインの作成または拡張時に、OPSSを使用するコンポーネントによってテンプレートが指定される必要があります。このテンプレートは、コンポーネントの実行に必要な、コンポーネントのみに固有のアーティファクトを定義およびバンドルし、表7-1に示すファイルを含みます。

表7-1 OPSSで使用されるコンポーネント・テンプレートのファイル

ファイル名 説明 テンプレートのルート・フォルダからの場所

component-security-info.xml

必須。セキュリティ・アーティファクトのライフサイクルを指定します。

./security/component-security-info.xml

jazn-data.xml

オプション。認可ポリシーを指定します。

./security/authorization/jazn-data.xml

keystore.xml

オプション。キーストアのメタデータを指定します。

./security/keystore/keystore.xml

credentials.xml

オプション。コンポーネントで使用される資格証明メタデータを指定します。

./security/credential/credentials.xml

component_events.xml

オプション。監査メタデータを指定します。

./security/audit/component_events.xml

component_events_xlf.jar

オプション。ローカライズされた監査メタデータを指定します。

./security/audit/component_events_xlf.jar



注意:

製品テンプレートにバンドルされたOPSSセキュリティ・アーティファクトでは、component-security-info.xmlファイルによって、アーティファクトの処理方法が示される必要があります


7.5 12.1.2へのアップグレード

この項では、セキュリティ・アーティファクトをリリース11.1.1.6または11.1.1.7からリリース12.1.2にアップグレードする手順を説明します。

12.1.2へのOPSSのアップグレードには、次の作業が必要です。

7.5.1 アップグレード前に

アップグレード対象のOPSSセキュリティ・ストアがLDAPベースまたはDBベースの場合は、アップグレードが失敗した際に備えて、リカバリ用にセキュリティ・ストアをバックアップしておいてください。詳細は、「OPSSセキュリティ・ストアのバックアップとリカバリ」を参照してください。

7.5.2 アップグレード手順

OIDベースまたはDBベースのOPSSセキュリティ・ストアを11.1.1.6または11.1.1.7から12.1.2にアップグレードするには、次の手順を実行します。

  1. Oracle Fusion Middlewareアップグレード・アシスタントを実行して、OPSSスキーマをアップグレードします。「使用可能なコンポーネント」ページで、必ず「Oracle Platform Security Services」を選択してください。アップグレード・アシスタントの詳細は、『Oracle Fusion Middleware Upgrade Assistantによるアップグレード』を参照してください。

  2. リポジトリ作成ユーティリティ(RCU)を実行して、サービス表のスキーマのみを作成します。この表の詳細は、自動的に「データベース構成タイプ」ページに挿入されます。RCUの詳細は、『Repository Creation Utilityによるスキーマの作成』を参照してください。

  3. 再構成ウィザードを実行してドメインの再構成を有効にし、OPSSデータ、DIT、構成アーティファクトおよび製品のセキュリティ・アーティファクトをアップグレードします。

    この手順では、次の点に注意してください。

    • 「データベース構成タイプ」ページで「RCUデータ」を選択し、手順2で作成したサービス表のスキーマを入力して、「RCU構成の取得」をクリックします。

    • 「コンポーネント・データソース」ページで次のコンポーネントを選択し、スキーマの詳細を入力します。

      • OPSS監査スキーマ - IAU_APPEND

      • OPSS監査ビューア - IAU_VIEWER

      • OPSSスキーマ - OPSS

    製品の再構成テンプレートが自動的に選択され、処理されます。テンプレートの詳細は、第7.4項「階層型コンポーネントのセキュリティ・アーティファクト」を参照してください。

  4. 11.1.1.6ドメインからアップグレードする場合のみ、11g JARファイル${common.components.home}/modules/oracle.jps_11.1.1/jps-wls-trustprovider.jarをアップグレード済ドメインの${domain.home}/lib/mbeantypesにコピーします。


注意:

12c拡張ドメインから12cのアップグレード済ドメインへの結合は、サポートされていません。


Oracle Fusion Middlewareのアップグレードの詳細は、『Oracle Fusion Middleware Oracle Fusion Middlewareのアップグレードのプランニング』を参照してください。

ファイルベースのOPSSセキュリティ・ストアを11.1.1.6または11.1.1.7から12.1.2にアップグレードするには、次の手順を実行します。

  1. コマンドreassociateSecurityStoreを使用して、ファイルベースのセキュリティ・ストアをOIDベースまたはDBベースのセキュリティ・ストアに再度関連付けします(詳細は、第10.3.1項「reassociateSecurityStore」を参照してください)。

  2. 前述の手順に従って、再度関連付けした(OIDベースまたはDBベースの)セキュリティ・ストアを12.1.2にアップグレードします。

7.6 OPSSセキュリティ・ストアのバックアップとリカバリ

この項では、ドメインのOPSSセキュリティ・ストアのバックアップ方法とリカバリ方法を説明します。その手順は、処理対象であるOPSSストアの種類(DBベースまたはOIDベース)によって異なります。

セキュリティ・ストアのバックアップに加え、リカバリを可能にするために、次のセキュリティ・ストア用の構成ファイルとデータ・ファイルも保存してください(アスタリスクでディレクトリ内のすべてのファイルを指定可能)。

{domain}/Config/config.xml
{domain}/Config/Fmwconfig/jps-config.xml
{domain}/Config/Fmwconfig/jps-config-jse.xml
{domain}/Config/Fmwconfig/cwallet.sso
{domain}/Config/Fmwconfig/keystores.cml
{domain}/Config/Fmwconfig/audit-store.xml
{domain}/Config/Fmwconfig/system-jazn-data.xml
{domain}/Config/Fmwconfig/ids-config.xml
{domain}/Config/Fmwconfig/mbeans/jps_mbeans.xml
{domain}/Config/Fmwconfig/bootstrap/cwallet.sso

前述のファイルは通常、Oracle WebLogic Serverドメイン・バックアップの一部としてバックアップされます。Oracle WebLogicドメイン・バックアップの詳細は、『Oracle Fusion Middlewareの管理』の次のトピックを参照してください。

この項には次のトピックが含まれます:

7.6.1 DBベースのセキュリティ・ストアのバックアップとリカバリ

この項の手順では、アクティブなデータベース複製を可能にするOracle DatabaseクライアントのRecovery Manager (RMAN)を使用します。これは、バックアップ戦略とリカバリの自動化でも一般的に使用されるツールです。RMANの詳細は、Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイドの次のトピックを参照してください。

  • RMANの概要

  • データベースの完全リカバリの実行

次の手順では、ホストAにあるドメインのDBベースのセキュリティ・ストア・インスタンスをホストBのインスタンスにバックアップする方法を説明します。ここでは、ホストAのセキュリティ・ストアのjdbc urlがproddbに設定されていることが想定されており、その同じドメインで、jdbc urlがtestdb (ホストB)に設定されている(クローニングされた) DBベース・ストアを使用できるようにすることが目標です。

前述の想定でDBベースのセキュリティ・ストアをバックアップするには、次の手順を実行します。

  1. 次のように、ホストBのインスタンスtestdbを準備します。

    1. 新規インスタンス用のpfileを作成します。つまり、次の行の内容を持つinittestdb.oraファイルを作成します。

      # 
      db_name=testdb
      #
      
    2. 次の行に示すように、testdbをlistener.oraに追加します。

      (SID_DESC=(SID_NAME=testdb)(GLOBAL_DBNAME=testdb)(ORACLE_HOME=/ade/b/3882746433/oracle))

    3. 次の行に示すように、testdb/proddbをtnsnames.oraに追加します。

      proddb=(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=hostA.com)(PORT=XXXX))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME= proddb)))

      testdb=(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=hostB.com)(PORT=YYYY))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=testdb)))

    4. 次の行に示すように、リスナーを再起動します。

      lsnrctl stop, lsnrctl start

    5. 次の行に示すように、nomountモードのpfileを使用して新規インスタンスを起動します。

      $ export ORACLE_SID=testdb

      $ sqlplus / as sysdba

      SYS@testdb SQL>startup nomount pfile=/scratch/rdbms/dbs/inittestdb.ora

  2. 次のように、RMANを使用してproddbtestdbにクローニングします。

    1. 次の行に示すように、testdb/proddbをtnsnames.oraに追加します。

      proddb=(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=myhostA.com)(PORT=XXXX))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME= proddb)))

      testdb=(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=myhostB.com)(PORT=YYYY))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=testdb)))

    2. インスタンスproddbがspfileを使用していることを確認してください。そうでない場合は、sysdbaとしてログインし、create spfile from pfileを実行することで、初期化ファイルからバイナリspfileを生成します。次にサーバーを再起動します。

    3. 次の行に示すように、リスナーを再起動します。

      lsnrctl stop, lsnrctl start

    4. 複製データベース・ファイルの名前の生成方法を決定します。具体的には、制御ファイル、データファイル、オンラインREDOログ・ファイルおよび一時ファイルの命名方法を決定します。

      たとえば、proddbでは/oradata/proddbディレクトリにあるホストAのファイルを、ホストBの/oradata/testdbに保存する場合は、DB_FILE_NAME_CONVERT '/proddb',' /testdb'を次のシーケンスで指定します。

      次の行に示すように、RMANを実行してproddbtestdbにクローニングします。

      $rman
      RMAN> CONNECT TARGET SYS@proddb
      RMAN> CONNECT AUXILIARY SYS@testdb
      RMAN> DUPLICATE TARGET DATABASE TO testdb
                FROM ACTIVE DATABASE
                DB_FILE_NAME_CONVERT '/proddb','/testdb'
                SPFILE
                  PARAMETER_VALUE_CONVERT '/proddb','/testdb'
                  SET LOG_FILE_NAME_CONVERT '/proddb','/testdb';
      

      前述のRMANシーケンスが正常に実行されたことを確認してください。

  3. (オプション)ドメインを切り替えて、バックアップされたばかりのデータベースをOPSSセキュリティ・ストアとして使用することで、バックアップ済のDBインスタンスtestdbが正しく機能することを確認します。

    1. Oracle WebLogic Serverを停止します。

    2. ファイル{domain}/config/fmwconfig/jps-config.xmlおよび{domain}/config/jdbc/*xmlで、jdbc urlをproddbからtestdbに変更します。

    3. Oracle WebLogic Serverを再起動します。

    4. ドメイン・セキュリティが正しく機能することを確認します。

7.6.2 OIDベースのセキュリティ・ストアのバックアップとリカバリ

バックアップ元のOracle Internet Directoryストアをバックアップ先のOracle Internet Directoryストアにバックアップするには、次の手順を実行します。

  1. 移行元のOracle Internet Directoryがあるシステムで、次の行に示すようにldifwriteを実行してLDIFファイルを生成します。

    >ldifwrite connect="srcOidDbConnectStr" basedn="cn=jpsnode, c=us" ldiffile="srcOid.ldif"
    

    このコマンドでは、ノードcn=jpsnode, c=us以下のすべてのエントリがファイルsrcOid.ldifに書き込まれます。このファイルを、次に実行するコマンドで使用できるように、バックアップ先のOracle Internet Directoryファイル・システムに移動します。

  2. バックアップ先のOracle Internet Directoryシステムで、JPSスキーマがシードされていることを確認します。

  3. 移行元のOracle Internet Directoryシステムで、次の行に示すようにbulkloadを実行してスキーマ・エラーや不適切なエントリがないことを確認します。

    >bulkload connect="dstOidDbConnectStr" check=true generate=true restore=true file="fullPath2SrcOidLdif"
    

    重複するDN(バックアップ元のディレクトリとバックアップ先のディレクトリとの間で共通するエントリ)が検出された場合は、予期しない結果が生じないようにそれらのDNを確認します。

  4. 次の行に示すようにbulkloadを実行して、移行先のOracle Internet Directoryにデータをロードします。

    >bulkload connect="dstOidDbConnectStr" load=true file="fullPath2SrcOidLdif"
    

前述のコマンドの詳細は、『Oracle Fusion Middleware Oracle Internet Directory管理者ガイド』の次のトピックを参照してください。

  • 第15.6項「ldifwriteを使用したOracle Internet Directoryからファイルへのデータのダンプ」

  • 第37.2.1項「LDIFファイルとbulkloadを使用したLDAPデータの移行」

7.6.3 推奨事項

企業で設定したスケジュールに従って、定期的にOPSSセキュリティ・ストアをバックアップすることをお薦めします。また、次のイベントが発生した直後は、予定外のバックアップを実行してください。

  • ドメイン用の新しい暗号化キーの(自動)生成

  • 新しいポリシーの作成

  • 新しいバインディング資格証明の設定