- 8.4.4.1 密钥环组件与密钥环插件的比较
- 8.4.4.2 密钥环组件安装
- 8.4.4.3 密钥环插件安装
- 8.4.4.4 使用 component_keyring_file 文件基于密钥环组件
- 8.4.4.5 使用 component_keyring_encrypted_file 加密文件基于密钥环组件
- 8.4.4.6 使用 keyring_file 文件基于密钥环插件
- 8.4.4.7 使用 keyring_encrypted_file 加密文件基于密钥环插件
- 8.4.4.8 使用 keyring_okv KMIP 插件
- 8.4.4.9 使用 keyring_aws Amazon Web Services 密钥环插件
- 8.4.4.10 使用 HashiCorp Vault 密钥环插件
- 8.4.4.11 使用 Oracle Cloud Infrastructure Vault 密钥环组件
- 8.4.4.12 使用 Oracle Cloud Infrastructure Vault 密钥环插件
- 8.4.4.13 支持的密钥环密钥类型和长度
- 8.4.4.14 在密钥环密钥库之间迁移密钥
- 8.4.4.15 通用密钥环密钥管理函数
- 8.4.4.16 插件特定密钥环密钥管理函数
- 8.4.4.17 密钥环元数据
- 8.4.4.18 密钥环命令选项
- 8.4.4.19 密钥环系统变量
MySQL 服务器支持一个密钥环,启用内部服务器组件和插件安全地存储敏感信息以供后续检索。该实现包括以下元素:
-
密钥环组件和插件管理备份存储或与存储后端通信。密钥环使用涉及安装可用的组件和插件之一。密钥环组件和插件都管理密钥环数据,但配置不同且可能具有操作差异(见第 8.4.4.1 节,“密钥环组件与密钥环插件的比较”)。
这些密钥环组件可用:
-
component_keyring_file
:在服务器主机本地文件中存储密钥环数据。适用于 MySQL 社区版和 MySQL 企业版发行版。见第 8.4.4.4 节,“使用 component_keyring_file 文件基于密钥环组件”。 -
component_keyring_encrypted_file
:在服务器主机本地加密、密码保护的文件中存储密钥环数据。适用于 MySQL 企业版发行版。见第 8.4.4.5 节,“使用 component_keyring_encrypted_file 加密文件基于密钥环组件”。 -
component_keyring_oci
:在 Oracle 云基础设施 Vault 中存储密钥环数据。适用于 MySQL 企业版发行版。见第 8.4.4.11 节,“使用 Oracle 云基础设施 Vault 密钥环组件”。
这些密钥环插件可用:
-
keyring_file
(已弃用):在服务器主机本地文件中存储密钥环数据。适用于 MySQL 社区版和 MySQL 企业版发行版。见第 8.4.4.6 节,“使用 keyring_file 文件基于密钥环插件”。 -
keyring_encrypted_file
(已弃用):在服务器主机本地加密、密码保护的文件中存储密钥环数据。适用于 MySQL 企业版发行版。见第 8.4.4.7 节,“使用 keyring_encrypted_file 加密文件基于密钥环插件”。 -
keyring_okv
:KMIP 1.1 插件,用于与 KMIP 兼容的后端密钥环存储产品,如 Oracle Key Vault 和 Gemalto SafeNet KeySecure 设备。适用于 MySQL 企业版发行版。见第 8.4.4.8 节,“使用 keyring_okv KMIP 插件”。 -
keyring_aws
:与 Amazon Web Services 密钥管理服务通信,用于密钥生成,并使用本地文件存储密钥。适用于 MySQL 企业版发行版。见第 8.4.4.9 节,“使用 keyring_aws Amazon Web Services 密钥环插件”。 -
keyring_hashicorp
:与 HashiCorp Vault 通信,用于后端存储。适用于 MySQL 企业版发行版。见第 8.4.4.10 节,“使用 HashiCorp Vault 密钥环插件”。 -
keyring_oci
(已弃用):与 Oracle 云基础设施 Vault 通信,用于后端存储。适用于 MySQL 企业版发行版。见第 8.4.4.12 节,“使用 Oracle 云基础设施 Vault 密钥环插件”。
-
-
密钥环服务接口用于密钥管理。该服务在两个级别上可访问:
-
SQL 接口:在 SQL 语句中,调用第 8.4.4.15 节,“通用密钥环密钥管理函数”中描述的函数。
-
C 接口:在 C 语言代码中,调用第 7.6.9.2 节,“密钥环服务”中描述的密钥环服务函数。
-
-
密钥元数据访问:
-
性能模式
keyring_keys
表公开了密钥环中的密钥元数据。密钥元数据包括密钥 ID、密钥所有者和后端密钥 ID。密钥环_keys 表不公开任何敏感的密钥环数据,如密钥内容。见第 29.12.18.2 节,“密钥环_keys 表”。 -
性能模式 代码
keyring_component_status
表提供了当前使用的密钥环组件的状态信息,如果安装了一个。见 第 29.12.18.1 节,“keyring_component_status 表”。
-
-
密钥迁移功能。 MySQL 支持在密钥存储之间迁移密钥,启用 DBA 将 MySQL 安装从一个密钥存储切换到另一个。见 第 8.4.4.14 节,“在密钥环 keystores 之间迁移密钥”。
-
密钥环插件的实现被修订为使用组件基础设施。这是通过使用名为
daemon_keyring_proxy_plugin
的内置插件实现的,该插件充当插件和组件服务 API 之间的桥梁。见 第 7.6.8 节,“密钥环代理桥插件”。
对于加密密钥管理,component_keyring_file
和 component_keyring_encrypted_file
组件,以及 keyring_file
和 keyring_encrypted_file
插件不旨在作为合规解决方案。安全标准如 PCI、FIPS 等要求使用密钥管理系统来保护、管理和保护加密密钥在密钥库或硬件安全模块(HSM)中。
在 MySQL 中,密钥环服务消费者包括:
-
InnoDB 存储引擎使用密钥环来存储表空间加密密钥。见 第 17.13 节,“InnoDB 静态加密”。
-
MySQL Enterprise Audit 使用密钥环来存储审核日志文件加密密码。见 加密审核日志文件。
-
二进制日志和中继日志管理支持基于密钥环的日志文件加密。启用日志文件加密后,密钥环存储用于加密二进制日志文件和中继日志文件的密钥。见 第 19.3.2 节,“加密二进制日志文件和中继日志文件”。
-
主密钥用于解密文件密钥,该文件密钥用于解密敏感系统变量的持久化值。密钥环组件必须在 MySQL 服务器实例上启用,以支持敏感系统变量的安全存储,而不是密钥环插件,它们不支持该功能。见 持久化敏感系统变量。
对于一般的密钥环安装说明,请参阅 第 8.4.4.2 节,“密钥环组件安装”,和 第 8.4.4.3 节,“密钥环插件安装”。对于特定密钥环组件或插件的安装和配置信息,请参阅该组件或插件的描述部分。
关于使用密钥环函数的信息,请参阅 第 8.4.4.15 节,“通用密钥环密钥管理函数”。
密钥环组件、插件和函数访问密钥环服务,该服务提供了对密钥环的接口。关于访问该服务和编写密钥环插件的信息,请参阅 第 7.6.9.2 节,“密钥环服务”,和 编写密钥环插件。