Creating a database with TDE
============================

TDEを有効にして新しいEDB Postgres Advanced
Serverクラスターを作成します。

-  暗号化のための\ ``wrap`` および\ ``unwrap``
   コマンドをエクスポートするように環境変数を設定します。

-  暗号化を有効にしてサーバーを初期化します。

-  データベースサーバーを起動します。

-  TDEが有効になっていることを確認します。

実際の例
--------

この例では、Linuxプラットフォームで実行されているEDB Postgres Advanced
Server 15を使用します。
opensslを使用してパスフレーズを定義し、生成されたデータ暗号化キーをラップおよびラップ解除します。

1. データ暗号化キーwrapと復号化unwrap環境変数を設定します。

.. code:: shell

      export PGDATAKEYWRAPCMD=openssl enc -e -aes-128-cbc -pass pass:ok -out %p
      export PGDATAKEYUNWRAPCMD=openssl enc -d -aes-128-cbc -pass pass:ok -in %p

..  Note::
   - Windowsを使用している場合、変数値を一重引用符で囲む必要はありません。 - `ok` を、データ暗号化キーのラップに使用するパスフレーズに置き換えることを確認します。 !!!

1. 暗号化を有効にした\ ``initdb``
   を使用してクラスターを初期化します。このコマンドは、
   postgresql.confファイルの\ ``data_encryption_key_unwrap_command``
   パラメーターを設定します。

.. code:: shell

      /usr/edb/as15/bin/initdb --data-encryption -D /var/lib/edb/as15/data 

1. クラスターを起動します。

.. code:: shell

      /usr/edb/as15/bin/pg_ctl -D /var/lib/edb/as15/data start

1. postgresql.confでgrepを実行して、\ ``data_encryption_key_unwrap_command``
   の設定を確認します。

.. code:: shell

      grep data_encryption_key_unwrap_command /var/lib/edb/as15/data/postgresql.conf
      __OUTPUT__
      data_encryption_key_unwrap_command = openssl enc -d -aes-128-cbc -pass pass:ok -in %p

1. :ref:`Verifying TDE is enabled <Verifying TDE is enabled>`  。
