Documentation Home
MySQL 8.3 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 40.8Mb
PDF (A4) - 40.9Mb
Man Pages (TGZ) - 294.0Kb
Man Pages (Zip) - 409.0Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb
Excerpts from this Manual

MySQL 8.3 Reference Manual  /  ...  /  Using the keyring_encrypted_file Encrypted File-Based Keyring Plugin

8.4.4.7 使用 keyring_encrypted_file 加密文件基于密钥环插件

Note

keyring_encrypted_file 插件是 MySQL Enterprise Edition 的一部分,一个商业产品。要了解更多关于商业产品的信息,请参阅 https://www.mysql.com/products/

keyring_encrypted_file 密钥环插件将密钥环数据存储在服务器主机上的加密、密码保护的文件中。

该插件已弃用,并将在未来 MySQL 版本中删除。相反,考虑使用 component_encrypted_keyring_file 组件来存储密钥环数据(参阅 第 8.4.4.5 节,“使用 component_keyring_encrypted_file 加密文件基于密钥环组件”)。

Warning

对于加密密钥管理,keyring_encrypted_file 插件不是用于合规性解决方案的解决方案。安全标准如 PCI、FIPS 等要求使用密钥管理系统来保护、管理和保护加密密钥在密钥库或硬件安全模块(HSM)中。

要安装 keyring_encrypted_file,请使用 第 8.4.4.3 节,“密钥环插件安装” 中的通用说明,以及特定于 keyring_encrypted_file 的配置信息。

要在服务器启动过程中使用 keyring_encrypted_file,必须使用 --early-plugin-load 选项。要指定加密密钥环数据文件的密码,请设置 keyring_encrypted_file_password 系统变量。(密码是必需的;如果在服务器启动时未指定,keyring_encrypted_file 初始化将失败。)keyring_encrypted_file_data 系统变量可选地配置用于存储数据的文件的位置。默认值是平台特定的。要显式配置文件位置,请在启动时设置变量值。例如,在服务器 my.cnf 文件中使用以下行,调整平台的 .so 后缀和文件位置,并将密码替换为您选择的密码:

[mysqld]
early-plugin-load=keyring_encrypted_file.so
keyring_encrypted_file_data=/usr/local/mysql/mysql-keyring/keyring-encrypted
keyring_encrypted_file_password=password

因为 my.cnf 文件在写入时存储密码,因此它应该具有限制模式,只能由运行 MySQL 服务器的帐户访问。

密钥环操作是事务性的:keyring_encrypted_file 插件在写入操作期间使用备份文件,以确保如果操作失败,可以回滚到原始文件。备份文件具有与 keyring_encrypted_file_data 系统变量相同的名称,但带有 .backup 后缀。

有关配置 keyring_encrypted_file 插件的系统变量的更多信息,请参阅 第 8.4.4.19 节,“密钥环系统变量”

为了确保只有在正确的密钥环存储文件存在时才刷新密钥,keyring_encrypted_file 在文件中存储密钥环的 SHA-256 校验和。在更新文件之前,插件验证它包含预期的校验和。此外,keyring_encrypted_file 使用 AES 加密文件内容,然后写入文件,并在读取文件后解密文件内容。

keyring_encrypted_file 插件支持标准 MySQL 密钥环服务接口的函数。密钥环操作由这些函数执行,可以在两个级别访问:

示例(使用 SQL 接口):

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

关于keyring_encrypted_file允许的密钥值特征的信息,请参阅第 8.4.4.13 节,“支持的 Keyring 密钥类型和长度”