11 sqlnet.oraを使用した透過的データ暗号化キーストアの構成
sqlnet.ora
のパラメータを使用したTDEの構成は非推奨になりましたが、データベース構成によっては引き続き可能です。
- sqlnet.oraファイルでのキーストアの場所について
新しい静的および動的TDE初期化パラメータをサポートするデータベースにデータベースがアップグレードされた場合などは、非推奨になったsqlnet.ora
のパラメータを使用したTDEの構成が可能です。 - ソフトウェア・キーストアの場所用のsqlnet.oraファイルの構成
sqlnet.ora
ファイルを使用すると、通常のファイル・システム用、複数データベースのアクセス用、およびOracle Automatic Storage Management (ASM)用にキーストアの場所を構成できます。 - 例: 通常のファイル・システム用のソフトウェア・キーストアの構成
通常のファイル・システムにソフトウェア・キーストアを構成できます。 - 例: 複数のデータベースで同じホストを共有する場合のTDEウォレットの構成
WALLET_ROOT
パラメータを設定することで、同じホストを共有するように複数のデータベースを構成できます。 - 例: Oracle Automatic Storage Managementディスク・グループ用のソフトウェア・キーストアの構成
Oracle Real Applications Clusters (Oracle RAC)環境では、WALLET_ROOT
パラメータは、そのデータベースのすべてのOracle RACインスタンスからアクセスできるOracle Automatic Storage Management (ASM)の共有ディレクトリを指します。
親トピック: 透過的データ暗号化の使用
11.1 sqlnet.oraファイルでのキーストアの場所について
新しい静的および動的TDE初期化パラメータをサポートするデータベースにデータベースがアップグレードされた場合などは、非推奨になったsqlnet.ora
のパラメータを使用したTDEの構成が可能です。
アップグレード後、データベースを再構成し、WALLET_ROOT
およびTDE_CONFIGURATION
パラメータを使用してキーストアの場所を構成することをお薦めします。分離モードのPDBについては、これらの新しいパラメータは必須です。
ただし、かわりにsqlnet.ora
ファイルを構成する場合は、WALLET_ROOT
およびTDE_CONFIGURATION
パラメータを使用したインスタンスの初期化ファイル・ベースのアプローチが推奨されることに留意してください。データベースへの各接続でsqlnet.ora
パラメータ・ファイルの内容が再読込みされるため、sqlnet.ora
の使用時に矛盾した構成となる可能性が回避されます。インスタンスの初期化ファイル・ベースのアプローチでは、データベース・インスタンスの起動時にWALLET_ROOT
パラメータが一度のみ読み取られるため、矛盾するリスクはありません。マルチテナント環境では、WALLET_ROOT
初期化パラメータは、各テナントPDBで独立した管理操作を実行できるため、sqlnet.ora
の使用よりも優先されます。
WALLET_ROOT
およびTDE_CONFIGURATION
初期化パラメータを設定しなかった場合、Oracle Databaseはsqlnet.ora
ファイルでキーストアのディレクトリの場所を確認します。これは、キーストアがソフトウェア・キーストア、外部キーストアまたはOracle Key Vaultキーストアのいずれであろうと適用されます。sqlnet.ora
ファイルを編集して、作成する予定のキーストアのディレクトリ場所を定義する必要があります。このディレクトリが事前に存在していることを確認してください。このディレクトリは空であると理想的です。
Oracle Real Application Clusters (Oracle RAC)またはマルチテナント環境でsqlnet.ora
ファイルを編集する必要がある場合は、次の動作に注意してください。
-
Oracle RAC環境:
srvctl
ユーティリティを使用していて、sqlnet.ora
構成ファイルに環境変数を含める場合は、各環境変数をオペレーティング・システムとsrvctl
環境の両方に設定する必要があります。キーストアはOracle Automatic Storage Management (ASM)やACFSなどの共有ファイル・システムに置くことをお薦めします。 -
マルチテナント環境: マルチテナント環境でTDE構成に
sqlnet.ora
が使用されている場合、統一モードのみがサポートされます。分離モードは、TDE構成にWALLET_ROOT
およびTDE_CONFIGURATION
パラメータが使用されている場合にのみサポートされます。
sqlnet.ora
ファイルで、ENCRYPTION_WALLET_LOCATION
パラメータを設定してキーストアの場所を指定する必要があります。ただし、Oracle Databaseリリース19c以降では、WALLET_ROOT
およびTDE_CONFIGURATION
初期化パラメータの使用が優先され、ENCRYPTION_WALLET_LOCATION
は非推奨となったことに注意してください。
デフォルトでは、sqlnet.ora
ファイルは、$ORACLE_HOME/network/admin
の場所、またはTNS_ADMIN
環境変数によって設定されている場所にあります。正しいsqlnet.ora
ファイルを指すようにTNS_ADMIN
環境変数が適切に設定されていることを確認してください。キーストアの場所がsqlnet.ora
ファイルに設定されていない場合、V$ENCRYPTION_WALLET
ビューにはデフォルトの場所が表示されます。キーストアの場所およびステータスは、V$ENCRYPTION_WALLET
ビューで確認できます。
11.2 ソフトウェア・キーストアの場所用のsqlnet.oraファイルの構成
sqlnet.ora
ファイルを使用すると、通常のファイル・システム用、複数データベースのアクセス用、およびOracle Automatic Storage Management (ASM)用にキーストアの場所を構成できます。
-
通常のファイル・システムでソフトウェア・キーストアを作成するには、
sqlnet.ora
ファイルを編集するときに次のフォーマットを使用します。ENCRYPTION_WALLET_LOCATION= (SOURCE= (METHOD=FILE) (METHOD_DATA= (DIRECTORY=path_to_keystore)))
path_to_keystore
が環境変数を含むことになる場合、データベース・インスタンスが起動した環境で、データベースを起動する前に、この変数を設定します。srvctl
ユーティリティを使用してデータベースを起動する場合、次のコマンドを使用してsrvctl
環境にも環境変数を設定します。srvctl setenv database -db database_name -env "environment_variable_name=environment_variable_value"
-
Oracle Real Application Clusters (Oracle RAC)の共有ファイル・システムでソフトウェア・キーストアを作成するには、
sqlnet.ora
ファイルを編集するときに次のフォーマットを使用します。ENCRYPTION_WALLET_LOCATION = (SOURCE = (METHOD = FILE) (METHOD_DATA = (DIRECTORY = +DATA/$ORACLE_UNQNAME)))
DIRECTORY
設定が環境変数を含むことになる場合、データベース・インスタンスが起動した環境で、データベースを起動する前に、この変数を設定します。srvctl
ユーティリティを使用してデータベースを起動する場合、Oracle RACインスタンスの名前がFINRAC
であると仮定すると、次のようなコマンドを使用してsrvctl
環境にも環境変数を設定します。srvctl setenv database -db FINRAC -t "ORACLE_UNQNAME=FINRAC, ORACLE_BASE=/u01/opt/oracle"
ノート:
Oracle Databaseリリース19c以上では、ENCRYPTION_WALLET_LOCATION
パラメータは非推奨です。かわりに、WALLET_ROOT
静的初期化パラメータおよびTDE_CONFIGURATION
動的初期化パラメータを使用して、ウォレットの場所を構成します。WALLET_ROOT
およびTDE_CONFIGURATION
は、通常のファイル・システム、複数のデータベース・アクセスおよびASMに使用できます。
11.3 例: 通常のファイル・システム用のソフトウェア・キーストアの構成
通常のファイル・システムにソフトウェア・キーストアを構成できます。
次の例では、データベース名がorcl
である通常のファイル・システム用にsqlnet.ora
ファイルにソフトウェア・キーストアの場所を構成する方法を示します。
ENCRYPTION_WALLET_LOCATION= (SOURCE= (METHOD=FILE) (METHOD_DATA= (DIRECTORY=/etc/ORACLE/WALLETS/orcl)))
ノート:
Oracle Databaseリリース19c以上では、ENCRYPTION_WALLET_LOCATION
パラメータは非推奨です。かわりに、WALLET_ROOT
静的初期化パラメータおよびTDE_CONFIGURATION
動的初期化パラメータを使用して、ウォレットの場所を構成します。
関連トピック
11.4 例: 複数のデータベースで同じホストを共有する場合のTDEウォレットの構成
WALLET_ROOT
パラメータを設定することで、同じホストを共有するように複数のデータベースを構成できます。
WALLET_ROOT
パラメータはOracleデータベースの内部にあるため、複数のデータベースで同じホストを共有できるようにするパラメータの設定のみが必要です。
たとえば:
ALTER SYSTEM SET WALLET_ROOT = '/etc/ORACLE/KEYSTORES/${ORACLE_SID}' SCOPE = SPFILE;
各データベースに対して個々のTDEウォレットを完全に分離して実装するには、WALLET_ROOT
パラメータ設定にORACLE_SID
(またはOracle Real Application ClustersではORACLE_UNQNAME
)を追加します。
11.5 例: Oracle Automatic Storage Managementディスク・グループ用のソフトウェア・キーストアの構成
Oracle Real Applications Clusters (Oracle RAC)環境では、WALLET_ROOT
パラメータは、そのデータベースのすべてのOracle RACインスタンスからアクセスできるOracle Automatic Storage Management (ASM)の共有ディレクトリを指します。
次の例では、ASMのソフトウェア・キーストアについてWALLET_ROOT
およびTDE_CONFIGURATION
を設定する方法を示します。
ALTER SYSTEM SET WALLET_ROOT = '+DATA/unique_name_of_database' SCOPE = SPFILE SID = '*';
たとえば、この値を+DATA/FINRAC
に設定すると、ウォレットの作成時に/tde
ディレクトリが自動的に生成されます。
関連トピック