AWS CloudHSM での Oracle Database の透過的なデータ暗号化 (TDE) - AWS CloudHSM

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS CloudHSM での Oracle Database の透過的なデータ暗号化 (TDE)

透過的なデータ暗号化 (TDE) を使用して、データベースファイルを暗号化します。TDE を使用すると、データベースソフトウェアはデータをディスクに保存する前に暗号化します。データベースのテーブル列またはテーブルスペースのデータは、テーブルキーまたはテーブルスペースキーで暗号化されています。一部バージョンの Oracle のデータベースソフトウェアには TDE を提供します。Oracle TDE では、これらのキーは TDE マスター暗号化キーを使用して暗号化されます。TDE マスター暗号化キーを AWS CloudHSM クラスター内の HSM に保存することで、セキュリティを強化できます。

Oracle TDE マスター暗号化キーを AWS CloudHSM に保存します。

このソリューションでは、Amazon EC2 インスタンスにインストールされている Oracle Database を使用します。Oracle Database は PKCS #11 の AWS CloudHSM ソフトウェアライブラリと統合し、TDE マスターキーをクラスター内の HSM に保存します。

重要
  • Amazon EC2 インスタンスに Oracle Database をインストールすることを推奨します。

Oracle TDE と AWS CloudHSM を統合するには、次のステップを実行します。

ステップ 1. 前提条件の設定

Oracle TDE と AWS CloudHSM の統合を実現するには、以下が必要です。

  • 少なくとも 1 つの HSM があるアクティブな AWS CloudHSM クラスター。

  • 次のソフトウェアがインストールされた Amazon Linux オペレーティングシステムを実行している Amazon EC2 インスタンス。:

    • AWS CloudHSM クライアントとコマンドラインツール。

    • PKCS #11 の AWS CloudHSM ソフトウェアライブラリ。

    • Oracle Database。AWS CloudHSM は、Oracle TDE 統合をサポートします。クライアント SDK 5.6 以降は、Oracle Database 19c 用 Oracle TDE をサポートしています。クライアント SDK 3 は Oracle データベースバージョン 11g および 12c の Oracle TDE をサポートします。

  • クラスター内の HSM で TDE マスター暗号化キーを所有および管理するための暗号化ユーザー (CU)。

これらの前提条件のすべてを設定するには、以下のステップを実行します。

Oracle TDE と AWS CloudHSM の統合の前提条件をセットアップするには
  1. 入門」のステップを完了します。これを行うと、1 つの HSM を含むアクティブなクラスターが提供されます。Amazon Linux オペレーティングシステムで実行される Amazon EC2 インスタンスも作成されます。AWS CloudHSM クライアントとコマンドラインツールもインストールされて設定されます。

  2. (オプション) 他の HSM をクラスターに追加します。詳細については、「AWS CloudHSM クラスターHSMへの の追加」を参照してください。

  3. Amazon EC2 クライアントインスタンスに接続し、以下を実行します。

    1. PKCS #11 の AWS CloudHSM ソフトウェアライブラリをインストールします

    2. Oracle Database をインストールします。詳細については、Oracle Database のドキュメントを参照してください。クライアント SDK 5.6 以降は、Oracle Database 19c 用 Oracle TDE をサポートしています。クライアント SDK 3 は Oracle データベースバージョン 11g および 12c の Oracle TDE をサポートします。

    3. cloudhsm_mgmt_util コマンドラインツールを使用し、クラスターで暗号化ユーザー (CU) を作成します。CU の作成に関する詳細については、CMU で HSM ユーザーを管理する方法HSM ユーザー を参照してください。

ステップ 3: Oracle TDE マスター暗号化キーの生成

クラスターの HSM で Oracle TDE マスターキーを生成するには、次の手順を実行します。

マスターキーを生成するには
  1. 次のコマンドを使用して、Oracle SQL*Plus を開きます。プロンプトが表示されたら、Oracle Database のインストール時に設定したシステムパスワードを入力します。

    sqlplus / as sysdba
    注記

    クライアント SDK 3 の場合、マスターキーを生成するたびに CLOUDHSM_IGNORE_CKA_MODIFIABLE_FALSE 環境変数を設定する必要があります。この変数は、マスターキーの生成にのみ必要です。詳細については、サードパーティーアプリケーションの統合に関する既知の問題 の「問題:Oracleは CKA_MODIFIABLE マスターキーの生成中に PCKS #11 属性を設定しますが、HSM はそれをサポートしていません」を参照してください。

  2. 次の例に示すように、マスター暗号化キーを作成する SQL ステートメントを実行します。使用しているバージョンの Oracle Database に対応するステートメントを使用します。<CU user name> を暗号化ユーザー (CU) のユーザー名に置き換えます。<password> を CU パスワードに置き換えます。

    重要

    次のコマンドは 1 回のみ実行します。コマンドを実行するたびに、新しいマスター暗号化キーが作成されます。

    • Oracle Database バージョン 11 の場合は、次の SQL ステートメントを実行します。

      SQL> alter system set encryption key identified by "<CU user name>:<password>";
    • Oracle Database バージョン 12 およびバージョン 19c の場合は、次の SQL ステートメントを実行します。

      SQL> administer key management set key identified by "<CU user name>:<password>";

    レスポンスが System altered または keystore altered の場合は、Oracle TDE のマスターキーが正常に生成および設定されています。

  3. (オプション) 次のコマンドを実行して Oracle ウォレットのステータスを確認します。

    SQL> select * from v$encryption_wallet;

    ウォレットが開いていない場合は、次のいずれかのコマンドを使用して開きます。<CU user name> を暗号化ユーザー (CU) の名前に置き換えます。<password> を CU パスワードに置き換えます。

    • Oracle 11 の場合は、次のコマンドを実行してウォレットを開きます。

      SQL> alter system set encryption wallet open identified by "<CU user name>:<password>";

      手動でウォレットを閉じるには、次のコマンドを実行します。

      SQL> alter system set encryption wallet close identified by "<CU user name>:<password>";
    • Oracle 12 および Oracle 19c の場合は、次のコマンドを実行してウォレットを開きます。

      SQL> administer key management set keystore open identified by "<CU user name>:<password>";

      手動でウォレットを閉じるには、次のコマンドを実行します。

      SQL> administer key management set keystore close identified by "<CU user name>:<password>";