新しい Windchill データベースでの Oracle TDE 表領域暗号化の設定
次の手順は、新しい Windchill データベースに Oracle TDE 表領域暗号化を設定する方法を説明しています。
TDE 表領域用データベースサーバーの設定
1. 暗号化用の Oracle データベースを用意します。
暗号化された表領域の作成を始める前に、データベースサーバーに暗号化キーを保管するウォレットを作成します。
ウォレットとは暗号化されたコンテナであり、パスワード、TED マスターキー、PKI プライベートキー、証明書、および SSL による信頼済み証明書などの認証情報と署名付き証明書の保存に使用します。TDE では、ウォレットはデータベースサーバーで TDE マスターキーを保護するために使用します。データは REDO ログ、UNDO 表領域、および TEMP 表領域で暗号化されるので、TDE 暗号化マスターキーはデータベースを開く前に使用可能にしておく必要があります。
すべての Windchill 表領域は同じ暗号化ウォレットと同じ暗号化キーを使用します。
* 
暗号化した表領域にはデフォルトのデータベースウォレットを共有できますが、Oracle では sqlnet.ora ファイルで ENCRYPTION_WALLET_LOCATION パラメータを指定することで、透過的データ暗号化機能に別のウォレットを使用することを推奨しています。sqlnet.ora ファイルで ENCRYPTION_WALLET_LOCATION パラメータを指定せずに、ウォレットのデフォルトの場所を使用する場合には、既知のセキュリティリスクがあります。詳細については、http://www.oracle.com/technetwork/database/security/twp-transparent-data-encryption-bes-130696.pdf を参照してください。
a. $ORACLE_ホーム/network/admin/sqlnet.ora ファイルに ENCRYPTION_WALLET_LOCATION パラメータを次のように設定して、ウォレットのディレクトリを指定します。
ENCRYPTION_WALLET_LOCATION = (SOURCE = (METHOD = FILE) (METHOD_DATA = (DIRECTORY = /u01/app/oracle/wallets/wind/)))
DIRECTORY の値は使用する環境に適した値に置き換えてください。
b. SQL*Plus を使用して対象のデータベースにデータベース管理者ユーザーとしてログインし、次のコマンドを実行して、ウォレットの初期化と暗号化マスターキーの追加を行います。各コマンドを個別に実行します。<パスワード> は適切なパスワードに置き換えてください。
ALTER SYSTEM SET ENCRYPTION KEY IDENTIFIED BY “<パスワード>”;
ALTER SYSTEM SET ENCRYPTION WALLET OPEN IDENTIFIED BY “<パスワード>”;
Configure Wallet auto open after database restart:
orapki wallet create -wallet <wallet_home> -auto_login
2. SQL*Plus を使用して対象のデータベースにデータベース管理者ユーザーとしてログインし、次のステートメントを実行してデフォルトの表領域を SYSAUX に変更します。
ALTER DATABASE DEFAULT TABLESPACE "SYSAUX";
3. SQL*Plus を使用して、元の表領域 (USERSBLOBSINDXWCAUDIT) をドロップします。
DROP TABLESPACE USERS INCLUDING CONTENTS AND DATAFILES;
DROP TABLESPACE BLOBS INCLUDING CONTENTS AND DATAFILES;
DROP TABLESPACE INDX INCLUDING CONTENTS AND DATAFILES;
DROP TABLESPACE WCAUDIT INCLUDING CONTENTS AND DATAFILES;
4. SQL*Plus を使用して、元の表領域と同じ名前で新しい暗号化表領域を作成します。次のステートメント例で、DATAFILE の値を使用する環境に適した値に置き換えてください。
CREATE TABLESPACE "USERS"
DATAFILE '/u01/app/oracle/oradata/wind/users01.dbf'
SIZE 100M AUTOEXTEND ON NEXT 1G MAXSIZE UNLIMITED LOGGING
EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO
DEFAULT STORAGE ( ENCRYPT ) ENCRYPTION USING 'AES256';
CREATE TABLESPACE "BLOBS"
DATAFILE '/u01/app/oracle/oradata/wind/blobs01.dbf'
SIZE 100M AUTOEXTEND ON NEXT 1G MAXSIZE UNLIMITED LOGGING
EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO
DEFAULT STORAGE ( ENCRYPT ) ENCRYPTION USING 'AES256';
CREATE TABLESPACE "INDX"
DATAFILE '/u01/app/oracle/oradata/wind/indx01.dbf'
SIZE 100M AUTOEXTEND ON NEXT 1G MAXSIZE UNLIMITED LOGGING
EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO
DEFAULT STORAGE ( ENCRYPT ) ENCRYPTION USING 'AES256';
CREATE TABLESPACE "WCAUDIT"
DATAFILE '/u01/app/oracle/oradata/wind/wcaudit01.dbf'
SIZE 100M AUTOEXTEND ON NEXT 1G MAXSIZE UNLIMITED LOGGING
EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO
DEFAULT STORAGE ( ENCRYPT ) ENCRYPTION USING 'AES256';
5. SQL*Plus を使用してデフォルトの表領域を USERS に再設定します。
ALTER DATABASE DEFAULT TABLESPACE "USERS";
6. SQL*Plus を使用して次のクエリーを実行し、表領域が暗号化表領域として作成されたことを確認します。ENCRYPTED 列には YES の値が表示されていなければなりません。
SELECT TABLESPACE_NAME , ENCRYPTED FROM DBA_TABLESPACES;
TDE 表領域用に設定するデータベースの Windchill の設定
1. 前のセクションで作成したデータベースに Windchill をインストールします。
2. インストールの完了後、Windchill を停止します。
3. Windchill シェルを開きます。
4. Windchill シェルで、次のコマンドを実行して必要な設定プロパティを設定し、適用します。
xconfmanager -s wt.pom.dbConnectionPropertiesNameList="oracle.net. encryption_client,oracle.net.encryption_types_client,oracle.net. crypto_checksum_client,oracle.net.crypto_checksum_types_client" -t "db/db.properties"
xconfmanager -s wt.pom.dbConnectionPropertiesValueList="ACCEPTED, ( AES256 ), ACCEPTED,( MD5 )" -t "db/db.properties"
xconfmanager -p
* 
oracle.net.encryption_client および oracle.net.crypto_checksum_client は、以下のいずれかの値を使用して設定できます。
REJECTED
ACCEPTED
REQUESTED
REQUIRED
デフォルト値は ACCEPTED です。詳細については、Oracle Database Advanced Security Administrator's Guide を参照してください。
5. Windchill を起動します。
これは役に立ちましたか?