11 sqlnet.oraを使用した透過的データ暗号化キーストアの構成

sqlnet.oraのパラメータを使用したTDEの構成は非推奨になりましたが、データベース構成によっては引き続き可能です。

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ディレクトリが自動的に生成されます。