文档首页
MySQL 9.0 参考手册
相关文档 下载本手册
PDF (US Ltr) - 40.0Mb
PDF (A4) - 40.1Mb
Man Pages (TGZ) - 258.2Kb
Man Pages (Zip) - 365.3Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 9.0 参考手册  /  ...  /  使用 component_keyring_file 基于文件的密钥环组件

8.4.4.4 使用 component_keyring_file 基于文件的密钥环组件

component_keyring_file 密钥环组件将密钥环数据存储在服务器主机本地的文件中。

警告

对于加密密钥管理,component_keyring_filecomponent_keyring_encrypted_file 组件并非旨在作为监管合规解决方案。PCI、FIPS 等安全标准要求使用密钥管理系统来保护密钥库或硬件安全模块 (HSM) 中的加密密钥的安全、管理和保护。

要使用 component_keyring_file 进行密钥库管理,您必须

  1. 编写一个清单,告诉服务器加载 component_keyring_file,如 第 8.4.4.2 节“密钥环组件安装” 中所述。

  2. component_keyring_file 编写配置文件,如本文所述。

component_keyring_file 初始化时,会读取全局配置文件,或读取全局配置文件和本地配置文件。

  • 该组件尝试从组件库文件安装的目录(即服务器插件目录)读取其全局配置文件。

  • 如果全局配置文件指示使用本地配置文件,该组件将尝试从数据目录读取其本地配置文件。

  • 虽然全局配置文件和本地配置文件位于不同的目录,但这两个位置的文件名均为 component_keyring_file.cnf

  • 如果不存在配置文件,则会发生错误。component_keyring_file 无法在没有有效配置的情况下初始化。

本地配置文件允许设置多个服务器实例以使用 component_keyring_file,以便每个服务器实例的组件配置特定于给定的数据目录实例。这使得同一个密钥环组件可以与每个实例的单独数据文件一起使用。

component_keyring_file 配置文件具有以下属性

  • 配置文件必须采用有效的 JSON 格式。

  • 配置文件允许以下配置项

    • "read_local_config":此项仅在全局配置文件中允许。如果此项不存在,该组件将仅使用全局配置文件。如果此项存在,其值为 truefalse,指示该组件是否应从本地配置文件读取配置信息。

      如果全局配置文件中存在 "read_local_config" 项以及其他项,该组件将首先检查 "read_local_config" 项的值

      • 如果值为 false,该组件将处理全局配置文件中的其他项,并忽略本地配置文件。

      • 如果值为 true,该组件将忽略全局配置文件中的其他项,并尝试读取本地配置文件。

    • "path":项值为一个字符串,用于命名用于存储密钥环数据的文件。文件应使用绝对路径命名,而不是相对路径。此项在配置中是必需的。如果未指定,component_keyring_file 初始化将失败。

    • "read_only":项值指示密钥环数据文件是否为只读。项值为 true(只读)或 false(读/写)。此项在配置中是必需的。如果未指定,component_keyring_file 初始化将失败。

  • 数据库管理员有责任创建任何要使用的配置文件,并确保其内容正确。如果出现错误,服务器启动将失败,管理员必须更正服务器错误日志中诊断信息指示的任何问题。

鉴于前面的配置文件属性,要配置 component_keyring_file,请在安装 component_keyring_file 库文件所在的目录中创建一个名为 component_keyring_file.cnf 的全局配置文件,并在数据目录中可选地创建一个名为 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 密钥环服务接口的函数。这些函数执行的密钥环操作可以在 SQL 语句中访问,如 第 8.4.4.12 节,“通用密钥环密钥管理函数” 中所述。

示例

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

有关 component_keyring_file 允许的键值的特征信息,请参阅 第 8.4.4.10 节,“支持的密钥环密钥类型和长度”