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

キーストアの場所の構成にWALLET_ROOTおよびTDE_CONFIGURATIONパラメータを使用しない場合は、sqlnet.oraファイルを使用できます。

sqlnet.oraファイルでのキーストアの場所について

キーストアの場所を構成するには、WALLET_ROOTおよびTDE_CONFIGURATIONパラメータを使用することをお薦めしますが、sqlnet.oraファイルを構成することもできます。

ただし、かわりに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ファイルでキーストアのディレクトリの場所を確認します。これは、キーストアがソフトウェア・キーストアであろうと、ハードウェア・モジュール・セキュリティ(HSM)キーストアであろうと、Oracle Key Vaultのキーストアであろうと、適用されます。sqlnet.oraファイルを編集して、作成する予定のキーストアのディレクトリ場所を定義する必要があります。このディレクトリが事前に存在していることを確認してください。このディレクトリは空であると理想的です。

Oracle Real Application Clusters (Oracle RAC)またはマルチテナント環境でsqlnet.oraファイルを編集する必要がある場合は、次の動作に注意してください。

  • Oracle RAC環境: srvctlユーティリティを使用していて、sqlnet.ora構成ファイルに環境変数を含める場合は、各環境変数をオペレーティング・システムとsrvctl環境の両方に設定する必要があります。キーストアはOracle Automatic Storage Management (ASM)やNFSなどの共有ファイル・システムに置くことをお薦めします。

  • マルチテナント環境: マルチテナント環境で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_BASE/network/adminディレクトリ(ORACLE_BASE環境変数が設定されている場合)、$ORACLE_HOME/network/adminの場所、またはTNS_ADMIN環境変数で設定された場所にあります。正しいsqlnet.oraファイルを指すようにTNS_ADMIN環境変数が適切に設定されていることを確認してください。キーストアの場所がsqlnet.oraファイルに設定されていない場合、V$ENCRYPTION_WALLETビューにはデフォルトの場所が表示されます。キーストアの場所およびステータスは、V$ENCRYPTION_WALLETビューで確認できます。

ソフトウェア・キーストアの場所用の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 Databaseリリース19c以上では、ENCRYPTION_WALLET_LOCATIONパラメータは非推奨です。かわりに、WALLET_ROOT静的初期化パラメータおよびTDE_CONFIGURATION動的初期化パラメータを使用して、ウォレットの場所を構成します。WALLET_ROOTおよびTDE_CONFIGURATIONは、通常のファイル・システム、複数のデータベース・アクセスおよびASMに使用できます。

例: 通常のファイル・システム用のソフトウェア・キーストアの構成

通常のファイル・システムにソフトウェア・キーストアを構成できます。

次の例では、データベース名が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動的初期化パラメータを使用して、ウォレットの場所を構成します。

例: 複数のデータベースでsqlnet.oraファイルを共有する場合のソフトウェア・キーストアの構成

複数のデータベースでsqlnet.oraファイルを共有するように構成できます。

次の例では、複数のデータベースでsqlnet.oraファイルを共有する場合にソフトウェア・キーストアの場所を構成する方法を示します。

ENCRYPTION_WALLET_LOCATION=
 (SOURCE=
  (METHOD=FILE)
   (METHOD_DATA=
    (DIRECTORY=/etc/ORACLE/WALLETS/$ORACLE_SID/)))

注意:

Oracle Databaseリリース19c以上では、ENCRYPTION_WALLET_LOCATIONパラメータは非推奨です。かわりに、WALLET_ROOT静的初期化パラメータおよびTDE_CONFIGURATION動的初期化パラメータを使用して、ウォレットの場所を構成します。これらのパラメータは、各データベースに対して個別に設定する必要があります。

例: Oracle Automatic Storage Managementディスク・グループ用のソフトウェア・キーストアの構成

Oracle Automatic Storage Management (ASM)ディスク・グループにsqlnet.oraを構成できます。

次のフォーマットは、ASMディスク・グループでソフトウェア・キーストアの場所を作成する場合にソフトウェア・キーストアを構成する方法を示しています。

ENCRYPTION_WALLET_LOCATION=
 (SOURCE=
  (METHOD=FILE)
   (METHOD_DATA=
    (DIRECTORY=+disk_group_name/path_within_the_ASM_diskgroup)))

注意:

Oracle Databaseリリース19c以上では、ENCRYPTION_WALLET_LOCATIONパラメータは非推奨です。かわりに、WALLET_ROOT静的初期化パラメータおよびTDE_CONFIGURATION動的初期化パラメータを使用して、ウォレットの場所を構成します。