6.4.4.2 使用 keyring_file 基于文件的插件

keyring_file密钥环插件将密钥环数据存储在服务器主机本地的文件中。

Warning

用于加密密钥 Management 的keyring_file插件不能用作法规遵从性解决方案。诸如 PCI,FIPS 等安全标准要求使用密钥 Management 系统来保护,Management 和保护密钥库或硬件安全模块(HSM)中的加密密钥。

要安装keyring_file插件,请使用第 6.4.4.1 节“安装 Keyring 插件”中的常规密钥环安装说明以及此处找到的keyring_file特定的配置信息。

为了在服务器启动过程中可用,必须使用--early-plugin-load选项加载keyring_filekeyring_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插件在写操作期间使用备份文件,以确保操作失败时可以回滚到原始文件。备份文件的名称与后缀.backupkeyring_file_data系统变量的值相同。

有关keyring_file_data的其他信息,请参见第 6.4.4.11 节,“密钥环系统变量”

从 MySQL 5.7.17 开始,为确保仅在存在正确的密钥环存储文件时才刷新密钥,keyring_file将密钥环的 SHA-256 校验和存储在文件中。在更新文件之前,插件会验证它是否包含预期的校验和。

keyring_file插件支持包含标准 MySQL Keyring 服务接口的功能。这些功能执行的密钥环操作可从两个级别访问:

示例(使用 UDF):

SELECT keyring_key_generate('MyKey', 'AES', 32);
SELECT keyring_key_remove('MyKey');

有关keyring_file允许的密钥类型的信息,请参见第 6.4.4.6 节“支持的密钥环密钥类型和长度”