- EDB
- PostgreSQL
新ツール Postgres Workload Report によるパフォーマンス診断~データベース管理の未来を共に創る!~
EDB Postgres Workload Reportsは、Postgresデータベースのパフォーマンス診断とトラブルシューティングを強化する新しいツールです。OracleのAWRに似た詳細なレポートを提供し、データベースの問題を迅速に特定・解決できるようサポートします。本記事では概要と利用手順をご紹介します。
|
Index
企業は日々膨大な量のデータを収集しており、このデータの中には、金融情報、個人情報、取引履歴などの貴重な情報を含んでいることも少なくありません。これらの情報が悪意のある第三者に盗まれると、個人情報が悪用されるリスクはもちろんのこと、企業の評判や信用に大きな損害をもたらすため、セキュリティで保護される必要があります。
そんなユーザーの大切なデータを保護するために、EDB Postgres Advanced Server 15(EPAS15) では待望の「透過的データ暗号化(Transparent Data Encryption、以下TDE)」機能が登場しました。
TDEを使うことでユーザーデータを保護できる一方で、「パフォーマンス」や「周辺ツール」へ与える影響を心配されている方も多いと思います。今回はそんな期待と不安の声が聞こえてくる「TDE」について徹底解剖した結果を全2回(前編/後編)でお届けいたします!
TDEは、ユーザーが暗号化と復号処理を意識することなく暗号化データを扱うことができるDBMSの機能です。TDEを有効にするとディスク上に保存されているユーザーデータが全て透過的に暗号化されるため、不正アクセスによる情報漏洩のリスクからユーザーの大切なデータを保護することができます。また、データの暗号化/復号処理はDBMSが透過的に行いますので、アプリケーションやストレージシステムの設定変更が不要なのもTDEの魅力の一つです。
TDEの暗号化対象は、データベースに保存されている全てのユーザーデータ(リレーションファイル、WALファイル、一時ファイル)です。メモリからファイルシステムにデータを書き出す前に透過的に暗号化が行われます。それ以外のサーバログ、設定ファイル、外部テーブルやファイルシステムのメタデータ(ファイルサイズ、ファイル数、最終更新時間)等は暗号化の対象ではありません。
TDEは、下図の①で示すように「メモリ上のデータをファイルに書き出す時」「ファイルからメモリ上にデータを読み込む時」それぞれに暗号化/復号処理を追加できる仕組みを提供することで実装されています。これらの仕組みを使い、単純なパスフレーズの暗号化/復号、またはエンタープライズキー管理ソリューションとの統合を可能にしています。
また下図②で示すように、TDEを有効にしても正しい経路で(データベースを介して)データにアクセスするアプリケーションは一切の変更を必要としません。
一方で、下図③で示すように、ファイルシステム上に書き出されたデータは暗号化されているため、悪意のある第三者がファイルにアクセスしても内容を解読することができません。
|
TDEではAES(Advanced Encryption Standard)による暗号化方式が採用されています。
AESは米国が標準暗号化方式として採用している、非常に安全性が高い暗号化方式です。
各ファイルごとの暗号化方式は下記の通りです。
※AES - [鍵長] - [ブロック暗号モードの種類] を表しています。
暗号化方式の詳細については本記事では割愛させていただきます。
TDEを有効化するには、initdb でデータベースクラスタを初期化する時に専用のオプションを指定します。以下は、openssl を使った単純なパスフレーズでデータ暗号化キーをWRAP、UNWRAP(データ暗号化キー自体を暗号化、復号)する一例です。機能を有効化する際に指定可能なオプションや手順の詳細は公式のドキュメント(EDB Docs - Transparent Data Encryption)をご参照ください。
1.データ暗号化キーのWRAP、UNWRAPコマンドを環境変数に設定# export PGDATAKEYWRAPCMD='openssl enc -e -aes-128-cbc -pass pass:enterprisedb -out %p' # export PGDATAKEYUNWRAPCMD='openssl enc -d -aes-128-cbc -pass pass:enterprisedb -in %p'
# /usr/edb/as15/bin/initdb --data-encryption -D /var/lib/edb/as15/data
# /usr/edb/as15/bin/pg_ctl -D /var/lib/edb/as15/data start
# grep data_encryption_key_unwrap_command /var/lib/edb/as15/data/postgresql.conf
以上の手順でTDEが有効なデータベースクラスタを構築できます。次の章ではデータファイルのユーザーデータが本当に暗号化されているのかを確認していきます。
ファイルシステムに書き出されたデータファイルの内容がTDEで暗号化されていることを確認してみます。「tab01」テーブルを作成した後、「tab01」のリレーションファイルのデータをバイナリダンプで出力し、データが暗号化されていることを確認します。
1.「tab01」テーブルを作成edb=# CREATE TABLE tab01 (col1 INTEGER, col2 TEXT); edb=# INSERT INTO tab01 VALUES (12345,'hogehoge');
edb=# select pg_relation_filepath('tab01'); pg_relation_filepath ---------------------- base/15314/16389 (1 row)
[enterprisedb@tde01 ~]$ hexdump -C $PGDATA/base/15314/16389 | grep hogehoge [enterprisedb@tde01 ~]$
[enterprisedb@tde01 ~]$ hexdump -C $PGDATA/base/15314/16384 | grep hogehoge 00001ff0 39 30 00 00 13 68 6f 67 65 68 6f 67 65 00 00 00 |90...hogehoge...| [enterprisedb@tde01 ~]$
以上の結果から、万が一ファイルシステム上のデータファイルが悪意のある第三者の手に渡ってしまっても、TDEでデータが暗号化されていれば、内容を読み解くことができないということを確認できました。
前編では、EPAS15に追加された透過的データ暗号化(TDE)について、そのアーキテクチャや有効化方法、暗号化方式等を解説しました。
TDEを有効にすることで、データベースに保存されているユーザーデータが暗号化されるため、不正アクセスによる情報漏洩のリスクから保護することができます。また、透過的に暗号化や復号処理が行われるため、アプリケーションの改修が不要なのも魅力的ですね。
後編では、多くのユーザーが懸念している、TDEを利用する際のパフォーマンスへの影響や周辺ツールへの影響についての情報をお届けいたします。
2017年に中途入社。Oracle Database、EDB Postgres/PostgreSQL のサポート経験を経て、2020年からバックサポートを担当。DBとアプリケーションを繋ぐミドルウェア製品のスペシャリスト。トレンドな技術は積極的に触れるほど好奇心旺盛。最近はプロアクティブなサポートを目指して粉骨砕身。趣味はボードゲーム。...show more
■本記事の内容について
本記事に示した定義及び条件は変更される場合があります。あらかじめご了承ください。
■商標に関して
・Oracle®、Java、MySQL及びNetSuiteは、Oracle、その子会社及び関連会社の米国及びその他の国における登録商標です。
・Amazon Web Services、AWS、Powered by AWS ロゴ、[およびかかる資料で使用されるその他の AWS 商標] は、Amazon.com, Inc. またはその関連会社の商標です。
文中の社名、商品名等は各社の商標または登録商標である場合があります。
EDB Postgres Workload Reportsは、Postgresデータベースのパフォーマンス診断とトラブルシューティングを強化する新しいツールです。OracleのAWRに似た詳細なレポートを提供し、データベースの問題を迅速に特定・解決できるようサポートします。本記事では概要と利用手順をご紹介します。
35年以上教育事業を展開しているアシストが新たに取り組み始めた「ポスグレ学園」。連載10回目となる今回の記事では、OSS-DB Gold試験対策問題集 出版の経緯や内容を 新校長 我妻にインタビューしました。
EDB社のAjit Gadge氏を招き「PostgreSQLユーザーに捧ぐ、EDBを使ったDB機能向上とコスト削減の両立」セミナーを開催しました。DB市場の現状やトレンド、EDBの最新動向について紹介しております。アシストセッションのアーカイブ配信の視聴申し込みも可能です。ぜひご覧ください。