- 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 Community Edition 和 MySQL Enterprise Edition 发行版中可用。参见 第 8.4.4.4 节,“使用 component_keyring_file 基于文件的密钥环组件”.component_keyring_encrypted_file
: 在服务器主机上的本地加密的、受密码保护的文件中存储密钥环数据。在 MySQL Enterprise Edition 发行版中可用。参见 第 8.4.4.5 节,“使用 component_keyring_encrypted_file 加密基于文件的密钥环组件”.component_keyring_oci
: 在 Oracle Cloud Infrastructure Vault 中存储密钥环数据。在 MySQL Enterprise Edition 发行版中可用。参见 第 8.4.4.9 节,“使用 Oracle Cloud Infrastructure Vault 密钥环组件”.
这些密钥环插件可用
keyring_okv
: 一个 KMIP 1.1 插件,用于与兼容 KMIP 的后端密钥环存储产品(例如 Oracle Key Vault 和 Gemalto SafeNet KeySecure Appliance)一起使用。在 MySQL Enterprise Edition 发行版中可用。参见 第 8.4.4.6 节,“使用 keyring_okv KMIP 插件”.keyring_aws
: 与 Amazon Web Services 密钥管理服务通信以进行密钥生成,并使用本地文件进行密钥存储。在 MySQL Enterprise Edition 发行版中可用。参见 第 8.4.4.7 节,“使用 keyring_aws Amazon Web Services 密钥环插件”.keyring_hashicorp
: 与 HashiCorp Vault 通信以进行后端存储。在 MySQL Enterprise Edition 发行版中可用。参见 第 8.4.4.8 节,“使用 HashiCorp Vault 密钥环插件”.
一个用于密钥环密钥管理的密钥环服务接口。此服务在两个级别上可访问
SQL 接口: 在 SQL 语句中,调用 第 8.4.4.12 节,“通用密钥环密钥管理功能” 中描述的函数。
C 接口: 在 C 语言代码中,调用 第 7.6.9.2 节,“密钥环服务” 中描述的密钥环服务函数。
密钥元数据访问
Performance Schema 的
keyring_keys
表提供了密钥环中密钥的元数据信息。密钥元数据包括密钥 ID、密钥所有者和后端密钥 ID。keyring_keys
表不会公开任何敏感的密钥环数据,例如密钥内容。请参阅 第 29.12.18.2 节,“The keyring_keys table”。Performance Schema 的
keyring_component_status
表提供了有关正在使用的密钥环组件(如果已安装)的状态信息。请参阅 第 29.12.18.1 节,“The keyring_component_status Table”。
密钥迁移功能。MySQL 支持在密钥存储库之间迁移密钥,使 DBA 可以将 MySQL 安装从一个密钥存储库切换到另一个密钥存储库。请参阅 第 8.4.4.11 节,“Migrating Keys Between Keyring Keystores”。
密钥环插件的实现已修改为使用组件基础结构。这是使用名为
daemon_keyring_proxy_plugin
的内置插件来实现的,该插件充当插件和组件服务 API 之间的桥梁。请参阅 第 7.6.8 节,“The Keyring Proxy Bridge Plugin”。
对于加密密钥管理, component_keyring_file
和 component_keyring_encrypted_file
组件并非旨在作为监管合规性解决方案。PCI、FIPS 等安全标准要求使用密钥管理系统来保护、管理和保护密钥库或硬件安全模块 (HSM) 中的加密密钥。
在 MySQL 中,密钥环服务使用者包括
InnoDB
存储引擎使用密钥环存储其用于表空间加密的密钥。请参阅 第 17.13 节,“InnoDB Data-at-Rest Encryption”。MySQL Enterprise Audit 使用密钥环存储审计日志文件加密密码。请参阅 加密审计日志文件。
二进制日志和中继日志管理支持基于密钥环的日志文件加密。在启用日志文件加密后,密钥环将存储用于加密二进制日志文件和中继日志文件密码的密钥。请参阅 第 19.3.2 节,“Encrypting Binary Log Files and Relay Log Files”。
用于解密解密敏感系统变量的持久化值的解密文件的密钥存储在密钥环中。MySQL 服务器实例必须启用密钥环组件以支持敏感系统变量值的安全的存储,而不是密钥环插件,因为密钥环插件不支持此功能。请参阅 持久化敏感系统变量。
有关密钥环安装的一般说明,请参阅 第 8.4.4.2 节,“Keyring Component Installation” 和 第 8.4.4.3 节,“Keyring Plugin Installation”。有关特定密钥环组件或插件的安装和配置信息,请参阅描述该组件或插件的部分。
有关使用密钥环功能的信息,请参阅 第 8.4.4.12 节,“General-Purpose Keyring Key-Management Functions”。
密钥环组件、插件和功能访问密钥环服务,该服务提供与密钥环的接口。有关访问此服务和编写密钥环插件的信息,请参阅 第 7.6.9.2 节,“The Keyring Service” 和 编写密钥环插件。