使用keyring_file基于文件的插件
该keyring_file
插件是一个密钥环插件,用于将密钥环数据存储在服务器主机本地的文件中。
警告该
keyring_file
加密密钥管理插件不打算作为一个合规性解决方案。PCI,FIPS等安全性标准要求使用密钥管理系统来保护,管理和保护密钥库或硬件安全模块(HSM)中的加密密钥。
要安装keyring_file
插件,请使用“密钥环插件安装”中的常规密钥环安装说明,以及keyring_file
此处的特定配置信息。
为了在服务器启动过程中可用,keyring_file
必须使用该--early-plugin-load
选项进行加载。所述keyring_file_dat
系统变量任选配置由所使用的文件的位置keyring_file
的插件用于数据存储。默认值是特定于平台的。要显式配置文件位置,请在启动时设置变量值。例如,在服务器my.cnf
文件中使用以下几行(.so
根据需要调整平台的后缀和文件位置):
[mysqld] early-plugin-load=keyring_file.so keyring_file_dat =/usr/local/mysql/mysql-keyring/keyring
密钥环操作是事务性的:keyring_file
插件在写操作期间使用备份文件,以确保在操作失败时可以回滚到原始文件。备份文件的名称与keyring_file_dat
系统变量的值相同,后缀为.backup
。
有关的其他信息keyring_file_dat
,请参见“密钥环系统变量”。
为确保仅在存在正确的密钥环存储文件时才刷新keyring_file
密钥,请在文件中存储密钥环的SHA-256校验和。在更新文件之前,插件会验证它是否包含预期的校验和。
该keyring_file
插件支持包含标准MySQL Keyring服务接口的功能。这些功能执行的密钥环操作可从两个级别访问:
- SQL接口:在SQL语句中,调用“通用密钥环密钥管理功能”中所述的用户定义函数(UDF)。
- C接口:在C语言代码中,调用“密钥环服务”中所述的密钥环服务功能。
示例(使用UDF):
SELECT keyring_key_generate('MyKey', 'AES', 32);SELECT keyring_key_remove('MyKey');
有关允许的密钥类型的信息keyring_file
,请参见“支持的密钥环密钥类型和长度”。