密钥环keyring_file
插件将密钥环数据存储在服务器主机的本地文件中。
对于加密密钥管理,该
keyring_file
插件并非旨在作为法规遵从性解决方案。PCI、FIPS 等安全标准要求使用密钥管理系统来保护、管理和保护密钥库或硬件安全模块 (HSM) 中的加密密钥。
要安装keyring_file
,请使用
第 6.4.4.1 节“Keyring 插件安装”中的一般说明,以及此处提供的特定配置信息
keyring_file
。
要在服务器启动过程中可用,
keyring_file
必须使用该
--early-plugin-load
选项加载。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 操作是事务性的:
keyring_file
插件在写入操作期间使用备份文件,以确保在操作失败时可以回滚到原始文件。备份文件与系统变量的值同名,
keyring_file_data
后缀为.backup
.
有关的其他信息
keyring_file_data
,请参阅
第 6.4.4.12 节,“密钥环系统变量”。
从 MySQL 5.7.17 开始,为确保仅当存在正确的密钥环存储文件时才刷新密钥,将密钥
keyring_file
环的 SHA-256 校验和存储在文件中。在更新文件之前,插件会验证它是否包含预期的校验和。
该keyring_file
插件支持构成标准 MySQL Keyring 服务接口的功能。可以在两个级别访问由这些函数执行的密钥环操作:
SQL 接口:在 SQL 语句中,调用 第 6.4.4.8 节“通用密钥环密钥管理函数”中描述的函数。
C 接口:在 C 语言代码中,调用第 5.5.6.2 节“密钥环服务”中描述的密钥环服务函数。
示例(使用 SQL 接口):
SELECT keyring_key_generate('MyKey', 'AES', 32);
SELECT keyring_key_remove('MyKey');
有关 允许的密钥值的特征的信息keyring_file
,请参阅
第 6.4.4.6 节,“支持的密钥环密钥类型和长度”。