- 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_okv KMIP 插件
- 8.4.4.7 使用 keyring_aws Amazon Web Services 密钥环插件
- 8.4.4.8 使用 HashiCorp Vault 密钥环插件
- 8.4.4.9 使用 Oracle Cloud Infrastructure Vault 密钥环组件
- 8.4.4.10 支持的密钥环密钥类型和长度
- 8.4.4.11 在密钥环密钥库之间迁移密钥
- 8.4.4.12 通用密钥环密钥管理功能
- 8.4.4.13 特定于插件的密钥环密钥管理功能
- 8.4.4.14 密钥环元数据
- 8.4.4.15 密钥环命令选项
- 8.4.4.16 密钥环系统变量
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 Cloud Infrastructure Vault 中。在 MySQL 企业版发行版中可用。参见 第 8.4.4.9 节,“使用 Oracle Cloud Infrastructure Vault 密钥环组件”。
提供以下密钥环插件
keyring_okv
: 用于与 KMIP 兼容的后端密钥环存储产品(如 Oracle Key Vault 和 Gemalto SafeNet KeySecure Appliance)一起使用的 KMIP 1.1 插件。在 MySQL 企业版发行版中可用。参见 第 8.4.4.6 节,“使用 keyring_okv KMIP 插件”。keyring_aws
: 与 Amazon Web Services 密钥管理服务通信以进行密钥生成,并使用本地文件进行密钥存储。在 MySQL 企业版发行版中可用。参见 第 8.4.4.7 节,“使用 keyring_aws Amazon Web Services 密钥环插件”。keyring_hashicorp
: 与 HashiCorp Vault 通信以进行后端存储。在 MySQL 企业版发行版中可用。参见 第 8.4.4.8 节,“使用 HashiCorp Vault 密钥环插件”。
用于密钥环密钥管理的密钥环服务接口。此服务在两个级别上可访问
SQL 接口:在 SQL 语句中,调用 第 8.4.4.12 节,“通用密钥环密钥管理功能” 中描述的功能。
C 接口:在 C 语言代码中,调用 第 7.6.9.2 节,“密钥环服务” 中描述的密钥环服务功能。
密钥元数据访问
性能模式
keyring_keys
表公开密钥环中密钥的元数据。密钥元数据包括密钥 ID、密钥所有者和后端密钥 ID。keyring_keys
表不公开任何敏感的密钥环数据,例如密钥内容。请参见 第 29.12.18.2 节,“keyring_keys 表”。性能模式
keyring_component_status
表提供了有关正在使用的密钥环组件(如果已安装)的状态信息。请参见 第 29.12.18.1 节,“keyring_component_status 表”。
密钥迁移功能。MySQL 支持在密钥存储之间迁移密钥,使 DBA 能够将 MySQL 安装从一个密钥存储切换到另一个密钥存储。请参见 第 8.4.4.11 节,“在密钥环密钥存储之间迁移密钥”。
密钥环插件的实现已修改为使用组件基础设施。这是使用名为
daemon_keyring_proxy_plugin
的内置插件来完成的,该插件充当插件和组件服务 API 之间的桥梁。请参见 第 7.6.8 节,“密钥环代理桥接插件”。
对于加密密钥管理,component_keyring_file
和 component_keyring_encrypted_file
组件并非旨在作为合规性解决方案。PCI、FIPS 等安全标准要求使用密钥管理系统来保护、管理和保护密钥保管库或硬件安全模块 (HSM) 中的加密密钥。
在 MySQL 中,密钥环服务使用者包括
InnoDB
存储引擎使用密钥环来存储其表空间加密的密钥。请参见 第 17.13 节,“InnoDB 静态数据加密”。MySQL 企业审计使用密钥环来存储审计日志文件加密密码。请参见 加密审计日志文件。
二进制日志和中继日志管理支持基于密钥环的日志文件加密。启用日志文件加密后,密钥环将存储用于加密二进制日志文件和中继日志文件密码的密钥。请参见 第 19.3.2 节,“加密二进制日志文件和中继日志文件”。
用于解密解密敏感系统变量的持久值的文件密钥的主密钥存储在密钥环中。必须在 MySQL 服务器实例上启用密钥环组件以支持持久系统变量值的安全的存储,而不是密钥环插件,密钥环插件不支持该功能。请参见 持久化敏感系统变量。
有关一般密钥环安装说明,请参见 第 8.4.4.2 节,“密钥环组件安装” 和 第 8.4.4.3 节,“密钥环插件安装”。有关特定密钥环组件或插件的安装和配置信息,请参见描述该组件或插件的部分。
有关使用密钥环功能的信息,请参见 第 8.4.4.12 节,“通用密钥环密钥管理功能”。
密钥环组件、插件和函数访问密钥环服务,该服务提供密钥环的接口。有关访问此服务和编写密钥环插件的信息,请参见 第 7.6.9.2 节,“密钥环服务” 和 编写密钥环插件。