component_keyring_encrypted_file
是商业产品MySQL企业版中包含的扩展。要了解更多关于商业产品的信息,请参见https://www.10bet靠谱mysql.com/products/.
的component_keyring_encrypted_file
密匙环组件将密匙环数据存储在服务器主机本地的一个加密的、受密码保护的文件中。
对于加密密钥管理,需要使用component_keyring_file
而且component_keyring_encrypted_file
组件,keyring_file
而且keyring_encrypted_file
插件并不打算作为法规遵从性解决方案。诸如PCI、FIPS等安全标准要求使用密钥管理系统来保护、管理和保护密钥库或硬件安全模块(hms)中的加密密钥。
使用component_keyring_encrypted_file
对于密钥库管理,您必须:
编写一个通知服务器加载的清单
component_keyring_encrypted_file
,详见第6.4.4.2节“密匙环组件安装”.的配置文件
component_keyring_encrypted_file
,正如这里所描述的。
初始化时,component_keyring_encrypted_file
读取全局配置文件,或者读取与本地配置文件配对的全局配置文件:
组件试图从安装组件库文件的目录(即服务器插件目录)读取它的全局配置文件。
如果全局配置文件指示使用本地配置文件,组件将尝试从数据目录读取其本地配置文件。
虽然全局配置文件和本地配置文件位于不同的目录中,但文件名为
component_keyring_encrypted_file.cnf
在这两个位置。这是一个错误,没有配置文件存在。
component_keyring_encrypted_file
没有有效的配置无法初始化。
本地配置文件允许设置要使用的多个服务器实例component_keyring_encrypted_file
,这样每个服务器实例的组件配置都特定于给定的数据目录实例。这使相同的密匙环组件可用于每个实例的不同数据文件。
component_keyring_encrypted_file
配置文件具有以下属性:
配置文件必须是有效的JSON格式。
配置文件允许以下配置项:
“read_local_config”
:只允许在全局配置文件中配置。如果该项不存在,则组件只使用全局配置文件。如果项目存在,则其值为真正的
或假
,指示组件是否应该从本地配置文件读取配置信息。如果
“read_local_config”
项与其他项一起出现在全局配置文件中时,组件将检查“read_local_config”
项目价值:如果值为
假
组件处理全局配置文件中的其他项,忽略本地配置文件。如果值为
真正的
,组件忽略全局配置文件中的其他项,并尝试读取本地配置文件。
“路径”
:项值是用于存储密匙环数据的文件名的字符串。文件应该使用绝对路径命名,而不是相对路径。配置项必选。如果不指定,component_keyring_encrypted_file
初始化失败。“密码”
:项目值为字符串,指定访问数据文件的密码。配置项必选。如果不指定,component_keyring_encrypted_file
初始化失败。“read_only”
: keyring数据文件是否为只读。项目值为真正的
(只读)假
(读/写)。配置项必选。如果不指定,component_keyring_encrypted_file
初始化失败。
数据库管理员负责创建要使用的任何配置文件,并确保其内容正确。如果发生错误,则服务器启动失败,管理员必须纠正服务器错误日志中诊断所指出的任何问题。
任何存储密码的配置文件都应该具有限制模式,并且只能由用于运行MySQL服务器的帐户访问。
给定上述配置文件属性,进行配置component_keyring_encrypted_file
,创建全局配置文件component_keyring_encrypted_file.cnf
在目录中component_keyring_encrypted_file
安装库文件,并可选地创建一个本地配置文件,也命名为component_keyring_encrypted_file.cnf
,在data目录下。下面的说明假设密匙环数据文件命名为/usr/local/mysql/keyring/component_keyring_encrypted_file
以读/写方式使用。您还必须选择一个密码。
如果只使用全局配置文件,文件内容如下所示:
{"path": "/usr/local/mysql/keyring/component_keyring_encrypted_file", "password": "密码", "read_only": false}
在目录中创建此文件
component_keyring_encrypted_file
已安装库文件。或者,要使用全局和本地配置文件对,全局文件看起来像这样:
{"read_local_config": true}
在目录中创建此文件
component_keyring_encrypted_file
已安装库文件。本地文件看起来像这样:
{"path": "/usr/local/mysql/keyring/component_keyring_encrypted_file", "password": "密码", "read_only": false}
在data目录中创建这个文件。
Keyring操作是事务性的:component_keyring_encrypted_file
在写操作期间使用备份文件,以确保在操作失败时可以回滚到原始文件。备份文件与数据文件名称相同,后缀为.backup
.
component_keyring_encrypted_file
支持包含标准MySQL Keyring服务接口的功能。由这些函数执行的密匙环操作可在两个级别访问:
SQL接口:在SQL语句中,调用中描述的函数第6.4.4.14节“通用密钥环密钥管理功能”.
C接口:在C语言代码中调用keyring服务函数第5.6.9.2节“密匙环服务”.
示例(使用SQL接口):
SELECT keyring_key_generate('MyKey', 'AES', 32);选择keyring_key_remove(“MyKey”);
所允许的键值的特征的信息component_keyring_encrypted_file
,请参阅第6.4.4.12节“支持的Keyring密钥类型和长度”.