MySQL キーリングでは、様々なタイプ (暗号化アルゴリズム) および長さのキーがサポートされます:
使用可能なキータイプは、インストールされているキープラグインによって異なります。
-
許可されるキーの長さには、複数の要因があります:
一般的なキーリング UDF インタフェース制限 (セクション6.4.4.10「汎用キーリングキー管理関数」 で説明されているいずれかのキーリング UDF を使用して管理されるキーの場合)、またはバックエンド実装からの制限。 これらの長さ制限は、キー操作タイプによって異なる場合があります。
一般的な制限に加えて、個々のプラグインではキータイプごとにキーの長さに制限が課される場合があります。
表6.26「一般的なキーリングキーの長さ制限」 には、一般的なキー長制限が表示されます。 (keyring_aws
の下限は、キーリング UDF ではなく AWS KMS インタフェースによって課されます。) 表6.27「プラグインのキータイプと長さのキー設定」 は、キーリングプラグインごとに、許可されているキータイプおよびプラグイン固有のキー長制限を表示します。
表 6.26 一般的なキーリングキーの長さ制限
キー操作 | 最大キー長 |
---|---|
キーの生成 |
16,384 バイト (MySQL 8.0.18 より前の 2,048)、 |
ストアキー |
16,384 バイト (MySQL 8.0.18 より前の 2,048)、 |
Fetch key |
16,384 バイト (MySQL 8.0.18 より前の 2,048)、 |
表 6.27 プラグインのキータイプと長さのキー設定
プラグイン名 | 許可されたキータイプ | プラグイン固有の長さの制限 |
---|---|---|
keyring_aws |
|
16 バイト、24 バイトまたは 32 バイト なし |
keyring_encrypted_file |
|
なし なし なし なし |
keyring_file |
|
なし なし なし なし |
keyring_hashicorp |
|
なし なし なし なし |
keyring_oci |
|
16 バイト、24 バイトまたは 32 バイト |
keyring_okv |
|
16 バイト、24 バイトまたは 32 バイト なし |
MySQL 8.0.19 で使用可能な SECRET
キータイプは、MySQL キーリングを使用した機密データの汎用的な格納を目的としており、ほとんどのキーリングプラグインでサポートされています。 キーリングは、格納および取得時に SECRET
データをバイトストリームとして暗号化および復号化します。
SECRET
キータイプを含むキーリング操作の例:
SELECT keyring_key_generate('MySecret1', 'SECRET', 20);
SELECT keyring_key_remove('MySecret1');
SELECT keyring_key_store('MySecret2', 'SECRET', 'MySecretData');
SELECT keyring_key_fetch('MySecret2');
SELECT keyring_key_length_fetch('MySecret2');
SELECT keyring_key_type_fetch('MySecret2');
SELECT keyring_key_remove('MySecret2');