ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Identity Manager管理者ガイド
11g リリース2 (11.1.2.2.0)
B69535-08
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

F 透過的データ暗号化の有効化

この付録では、Oracle Transparent Data Encryption (TDE)をOracle Identity Manager用に構成する方法について説明します。

Oracle Databaseは次のタイプのデータ暗号化をサポートしています。


注意:

TDEの詳細は、『Oracle Database Advanced Securityガイド』を参照してください。

Oracle Identity ManagerはTDE表領域暗号化をサポートしており、連携して機能します。

この付録の内容は以下のとおりです。

F.1 TDEをOracle Identity Managerの新規インストール用に構成する

TDEを構成するには、暗号化されていない表領域から暗号化された表領域にデータを移動するために、ダウンタイムが必要となります。そのため、リポジトリ作成ユーティリティ(RCU)を使用してデータベース・スキーマをインストールしたら、Oracle Identity Managerアプリケーションをインストールする前に、TDEをすぐにOracle Identity Managerデプロイメント用に構成します。

TDEをOracle Identity Managerの新規インストール用に構成するには、次の手順に従います。

  1. Oracle Databaseをインストールします。詳細は、Oracle Databaseのドキュメントを参照してください。

  2. RCUを実行して、Oracle Identity Managerスキーマと依存スキーマを作成します。詳細は、『Oracle Fusion Middleware Oracle Identity and Access Managementインストレーション・ガイド』を参照してください。

  3. Oracle Identity Managerをシャットダウンします(該当する場合)。

    Oracle Identity Managerのインストール後にTDEを構成している場合は、Oracle Identity Managerをシャットダウンする必要があります。これは、TDE実装によってデータ移動が実行され、通常の表領域からTDE対応の表領域へとデータが移動される間、Oracle Identity Managerアプリケーションが利用できなくなるためです。

  4. Data Pumpユーティリティを使用して、Oracle Identity Managerデータベース・スキーマのバックアップを作成します。

    Data Pumpユーティリティを使用して、Oracle Identity Managerデータベース・スキーマのバックアップを作成します。このバックアップは、後でTDEを表領域レベルで有効化する際に、リストアする必要が生じる場合があります。次に示すのは、バックアップを作成するためのサンプル・コマンドです。

    expdp system/PASSWORD@TNS_ALIAS schemas=OIM_SCHEMA_NAME directory=DATA_PUMP_DIR dumpfile=DUMP_FILE_NAME logfile=LOG_FILE_NAME
    
  5. ウォレット・ロケーションを指定します。

    ディレクトリ・パスを選択するには、$ORACLE_HOME/network/admin/ディレクトリにあるsqlnet.oraファイル内で指定します。たとえば、ウォレットをorawallet/ディレクトリに置きたい場合は、sqlnet.oraファイルに次の行を含めます。

    ENCRYPTION_WALLET_LOCATION =
    (SOURCE=
    (METHOD=file)
    (METHOD_DATA=
    (DIRECTORY=ORACLE_HOME\orawallet)))
    

    バイナリ用のローカル・ファイル・システムを使用したOracle RACクラスタの場合は、すべてのノードのSQLNET.oraを変更します。


    注意:

    ウォレット・ロケーションのバックアップは、通常のバックアップとともに管理する必要があります。

    複数のOracleコンポーネント間で同じOracleデータベース・ウォレット共有を使用するには、ウォレット・パラメータを次のように設定します。

    WALLET_LOCATION =
    (SOURCE=
    (METHOD=file)
    (METHOD_DATA=
    (DIRECTORY=D:\oracle\product\11.2.0\dbhome_1\orawallet)))
    
  6. ウォレットを作成します。

    TDEを使用するには、Oracleウォレットに対するALTER SYSTEM権限と、有効なパスワードを持っている必要があります。Oracleウォレットが存在しない場合は、SQLコマンドで指定されたパスワードを使用して、新しいOracleウォレットが作成されます。

    新規のマスター・キーを作成してTDEを使用するには、次のSQLコマンドを実行します。

    ALTER SYSTEM SET ENCRYPTION KEY AUTHENTICATED BY "PASSWORD";
    

    このコマンドは、次の操作を実行します。

    • 手順4で指定された場所にウォレットを作成します。

    • 指定したパスワードをウォレットのパスワードとして設定します。パスワードは大文字と小文字を区別し、二重引用符で囲む必要があります。

    • TDE用のウォレットを開いて、マスター・キーを格納および取得します。

    このSQLコマンドにより、データベース・サーバーのマスター暗号化鍵が生成されます。この鍵は、各表の列暗号化鍵を暗号化するためにサーバーによって使用されます。データベース内の表の列は、サーバーのマスター・キーが設定されるまで暗号化できません。

  7. ウォレットを開きます。

    ウォレットは1回しか作成されないので、ウォレット・ロケーションの指定とウォレットの作成は1回だけ行います。ウォレットは、データベース・インスタンスが起動されるたびに、マスター・キーを使用して明示的に開かれる必要があります。

    データベースの再起動後にマスター・キーをロードするには、次のSQLコマンドを実行します。

    ALTER system SET encryption wallet OPEN authenticated BY "PASSWORD";
    

    または

    ALTER system SET wallet OPEN IDENTIFIED BY "PASSWORD";
    

    TDEを機能させるには、ウォレットが開いている必要があります。ウォレットが閉じている場合、暗号化されていない列にはアクセスできますが、暗号化された列にはアクセスできません。


    注意:

    ウォレットを閉じる場合は、次のコマンドを実行します。
    ALTER system SET encryption wallet CLOSE IDENTIFIED BY "myPassword";
    

  8. Oracle Identity Managerとその表領域を削除します。

    OIMは表領域を削除する前に削除します。次に示すのは、これを行うためのサンプル・コマンドです。

    DROP USER OIM_SCHEMA_NAME CASCADE;
    DROP TABLESPACE OIM_DATA_TBS INCLUDING contents AND datafiles;
    DROP TABLESPACE OIM_LOB_TBS INCLUDING contents AND datafiles;
    DROP TABLESPACE OIM_ARCH_DATA_TBS INCLUDING contents AND datafiles;
    
  9. Oracle Identity Manager用にTDE対応の表領域を作成します。

    Oracle Identity Manager用の表領域を暗号化を使用して作成することで、TDEを表領域レイヤーで有効化します。手順9で削除した3つの表領域すべてを作成する必要があります。表領域作成のためのDDLを取得するには、DBMS_METADATA APIを使用できます。次に示すのはサンプル・コマンドです。

    CREATE TABLESPACE SCHEMA_NAME DATAFILE 'FILE_PATH' SIZE 128K AUTOEXTEND ON NEXT 64K EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO ENCRYPTION USING 'AES256' DEFAULT STORAGE(ENCRYPT);
     
    CREATE TABLESPACE SCHEMA_NAME_LOB DATAFILE 'FILE_PATH' SIZE 128K AUTOEXTEND ON NEXT 64K EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO ENCRYPTION USING 'AES256' DEFAULT STORAGE(ENCRYPT);
    
    CREATE TABLESPACE SCHEMA_NAME_ARCH_DATA DATAFILE 'FILE_PATH' SIZE 128K AUTOEXTEND ON NEXT 64K EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO ENCRYPTION USING 'AES256' DEFAULT STORAGE(ENCRYPT);
    

    表領域レベルでの暗号化を検証するには、次の問合せを実行します。

    SELECT ts.name, es.encryptedts, es.encryptionalg FROM v$tablespace ts INNER JOIN v$encrypted_tablespaces es ON es.ts# = ts.ts#;
    
  10. Oracle Identity Managerとその依存スキーマ用のOracle Identity Managerデータベースにデータをインポートします。

    TDE対応の表領域が作成されたので、Oracle Identity Managerスキーマのバックアップをインポート/リストアする必要があります。次に示すのは、Oracle Identity Managerスキーマのバックアップをインポートするためのサンプル・コマンドです。

    Impdp expdp system/<PASSWORD>@TNS_ALIAS schemas=OIM_SCHEMA_NAME directory=DATA_PUMP_DIR dumpfile=DUMP_FILE_NAME logfile=LOG_FILE_NAME
    
  11. Oracle Identity Managerの構成

    Oracle Identity Managerスキーマのバックアップが正常にインポートされたら、Oracle Identity Managerのインストールと構成を続けます。

F.2 TDEをOracle Identity Managerの既存インストール用に構成する

Oracle Identity Managerのインストール後にTDEを構成している場合は、次の手順を実行します。

  1. TDE実装によりデータ移動が実行され、その間Oracle Identity Managerアプリケーションが利用できなくなるので、Oracle Identity Managerをシャットダウンします。

  2. 「TDEをOracle Identity Managerの新規インストール用に構成する」で説明した手順3~11を実行します。

  3. Oracle Identity Managerを起動します。

F.3 Oracle Identity Managerに対するTDEの構成を解除する

Oracle Identity Managerに対するTDEの構成を解除するには、次の手順を実行します。

  1. DBMS_METADATA.GET_DDL()パッケージを使用して、OIMユーザー、表領域およびオブジェクト権限のバックアップを作成します。

    GET_DDL()パッケージの詳細は、次のURLを参照してください。

    http://www.oracle.com/technetwork/database/security/twp-transparent-data-encryption-bes-130696.pdf

  2. Oracle Identity Managerデータベース・スキーマのバックアップを作成します。

  3. OIMユーザーを削除します。

  4. 次のOracle Identity Manager表領域を削除します。

    • DEV_OIM

    • DEV_OIM_LOB

    • DEV_OIM_ARCH_DATA

  5. 次の問合せをSYSDBAユーザーとして実行して、暗号化ウォレットを閉じます。

    ALTER system SET encryption wallet CLOSE IDENTIFIED BY "PASSWORD";
    
  6. 次の更新問合せを実行し、SYSDBAユーザーとしてコミットします。

    UPDATE TS$ SET flags=flags - 16384 WHERE online$=3 AND bitand(flags,16384) = 16384;COMMIT;
    
  7. Oracle Identity Managerデータベースを再起動します。

  8. OIMユーザー、表領域およびオブジェクト・レベル権限を再度作成します。

  9. Oracle Identity Managerのバックアップをリストアします。

  10. SQLNET.ORAファイルから暗号化エントリを削除します。

  11. ウォレットの鍵/ディレクトリ(ORACLE_HOME/orawallet/)を削除します。

  12. Oracle Identity Managerを起動します。