keyring_file
キーリングプラグインは、サーバーホストに対してローカルなファイルに鍵リングデータを格納します。
暗号化キー管理用の keyring_file
プラグインは、規制コンプライアンスソリューションとしては意図されていません。 PCI、FIPS などのセキュリティ標準では、キーボールトまたはハードウェアセキュリティモジュール (HSM) 内の暗号化キーを保護、管理および保護するためにキー管理システムを使用する必要があります。
keyring_file
プラグインをインストールするには、セクション6.4.4.1「キーリングプラグインのインストール」 にある一般的なキーリングのインストール手順と、ここにある keyring_file
に固有の構成情報を使用します。
サーバーの起動プロセス中に使用できるようにするには、--early-plugin-load
オプションを使用して keyring_file
をロードする必要があります。 keyring_file_data
システム変数は、オプションで、keyring_file
プラグインがデータストレージに使用するファイルの場所を構成します。 デフォルト値はプラットフォーム固有です。 ファイルの場所を明示的に構成するには、起動時に変数値を設定します。 たとえば、サーバー my.cnf
ファイルで次の行を使用して、プラットフォームの .so
接尾辞とファイルの場所を必要に応じて調整します:
[mysqld]
early-plugin-load=keyring_file.so
keyring_file_data=/usr/local/mysql/mysql-keyring/keyring
キーリング操作はトランザクションです: keyring_file
プラグインは、書込み操作中にバックアップファイルを使用して、操作が失敗した場合に元のファイルにロールバックできるようにします。 バックアップファイルの名前は、接尾辞が .backup
の keyring_file_data
システム変数の値と同じです。
keyring_file_data
の詳細は、セクション6.4.4.13「キーリングシステム変数」 を参照してください。
正しい鍵リングストレージファイルが存在する場合にのみ鍵が確実にフラッシュされるように、keyring_file
は鍵リングの SHA-256 チェックサムをファイルに格納します。 ファイルを更新する前に、プラグインは、予想されるチェックサムが含まれていることを確認します。
keyring_file
プラグインは、標準の MySQL キーリングサービスインタフェースを構成する関数をサポートしています。 これらの関数によって実行されるキーリング操作には、次の 2 つのレベルでアクセスできます:
SQL インタフェース: SQL ステートメントで、セクション6.4.4.10「汎用キーリングキー管理関数」 で説明されているユーザー定義関数 (UDF) をコールします。
C インタフェース: C 言語コードでは、セクション5.6.8.2「キーリングサービス」 で説明されているキーリングサービス関数をコールします。
例 (UDF を使用):
SELECT keyring_key_generate('MyKey', 'AES', 32);
SELECT keyring_key_remove('MyKey');
keyring_file
で許可されるキータイプの詳細は、セクション6.4.4.8「サポートされているキーリングキーのタイプと長さ」 を参照してください。