keyring_file插件是一个密钥环插件,用于将密钥环数据存储在服务器主机本地的文件中。
警告
该keyring_file加密密钥管理插件不打算作为一个合规性解决方案。PCI,FIPS等安全性标准要求使用密钥管理系统来保护,管理和保护密钥库或硬件安全模块(HSM)中的加密密钥。
要安装keyring_file插件,请使用第6.4.4.1节“密钥环插件安装”中的常规密钥环安装说明 ,以及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_file插件在写操作期间使用备份文件,以确保在操作失败时可以回滚到原始文件。备份文件的名称与keyring_file_data系统变量的值相同 ,后缀为.backup。
有关的其他信息 keyring_file_data,请参见 第6.4.4.12节“密钥环系统变量”。
为确保仅在存在正确的密钥环存储文件时才刷新keyring_file密钥,请在文件中存储密钥环的SHA-256校验和。在更新文件之前,插件会验证它是否包含预期的校验和。
该keyring_file插件支持包含标准MySQL Keyring服务接口的功能。这些功能执行的密钥环操作可从两个级别访问:
SQL接口:在SQL语句中,调用第6.4.4.9节“通用密钥环密钥管理功能”中所述的用户定义函数(UDF) 。
C接口:在C语言代码中,调用第29.3.2节“密钥环服务”中所述的密钥环服务功能。
示例(使用UDF):
SELECT keyring_key_generate('MyKey', 'AES', 32);
SELECT keyring_key_remove('MyKey');
有关允许的密钥类型的信息 keyring_file,请参见 第6.4.4.8节“支持的密钥环密钥类型和长度”。