的component_keyring_file
Keyring组件将Keyring数据存储在服务器主机本地的一个文件中。
对于加密密钥管理,使用component_keyring_file
而且component_keyring_encrypted_file
组件,keyring_file
而且keyring_encrypted_file
插件并不是作为法规遵从性解决方案。诸如PCI、FIPS和其他安全标准需要使用密钥管理系统来保护密钥库或硬件安全模块中的加密密钥。
使用component_keyring_file
对于密钥存储库管理,您必须:
编写一个清单,告诉服务器加载
component_keyring_file
,如第6.4.4.2节,“密匙环组件安装”.编写配置文件
component_keyring_file
,如此处所述。
初始化时,component_keyring_file
读取全局配置文件,或与本地配置文件配对的全局配置文件:
组件尝试从组件库文件所在的目录(即服务器插件目录)读取全局配置文件。
如果全局配置文件显示使用本地配置文件,则组件会尝试从数据目录读取本地配置文件。
尽管全局和本地配置文件位于不同的目录中,但文件名是
component_keyring_file.cnf
在这两个位置。没有配置文件存在是错误的。
component_keyring_file
没有有效的配置就不能初始化。
本地配置文件允许设置要使用的多个服务器实例component_keyring_file
,以便每个服务器实例的组件配置特定于给定的数据目录实例。这使得可以对每个实例的不同数据文件使用相同的密匙环组件。
component_keyring_file
配置文件有以下属性:
配置文件必须是有效的JSON格式。
配置文件允许以下配置项:
“read_local_config”
:仅全局配置文件允许配置此项。如果该项不存在,则组件只使用全局配置文件。如果项存在,则其值为真正的
或假
,指示组件是否应该从本地配置文件中读取配置信息。如果
“read_local_config”
项与其他项一起出现在全局配置文件中,则组件将检查“read_local_config”
项目价值:如果值是
假
时,组件处理全局配置文件中的其他项,忽略本地配置文件。如果值是
真正的
时,组件忽略全局配置文件中的其他项,并尝试读取本地配置文件。
“路径”
: item值是一个字符串,用于命名用于存储密匙环数据的文件。文件应该使用绝对路径命名,而不是相对路径。配置时必选。如果不指定,component_keyring_file
初始化失败。“read_only”
:表示keyring数据文件是否为只读。项目值为真正的
(只读)假
(读/写)。配置时必选。如果不指定,component_keyring_file
初始化失败。
数据库管理员负责创建要使用的任何配置文件,并确保它们的内容是正确的。如果发生错误,服务器启动失败,管理员必须纠正服务器错误日志中的诊断所指示的任何问题。
给定前面的配置文件属性,来配置component_keyring_file
,创建全局配置文件component_keyring_file.cnf
的目录中component_keyring_file
库文件安装,并可选地创建一个本地配置文件,也命名为component_keyring_file.cnf
,在数据目录下。下面的说明假设一个名为/usr/local/mysql/keyring/component_keyring_file
以读/写的方式使用。
如果只使用全局配置文件,文件内容如下所示:
{"path": "/usr/local/mysql/keyring/component_keyring_file", "read_only": false}
在目录中创建此文件
component_keyring_file
已安装库文件。或者,使用全局和本地配置文件对,全局文件如下所示:
{"read_local_config": true}
在目录中创建此文件
component_keyring_file
已安装库文件。本地文件看起来像这样:
{"path": "/usr/local/mysql/keyring/component_keyring_file", "read_only": false}
在数据目录中创建此文件。
密匙环操作是事务性的:component_keyring_file
在写操作时使用备份文件,确保在操作失败时可以回滚到原始文件。备份文件与后缀为的数据文件同名.backup
.
component_keyring_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_file
,请参阅第6.4.4.12节,“支持的密匙环密钥类型和长度”.