### 6.4.4 MySQL 密钥环

[6.4.4.1 密钥环组件与密钥环插件](keyring-component-plugin-comparison.html)
[6.4.4.2 密钥环组件安装](keyring-component-installation.html)
[6.4.4.3 密钥环插件安装](keyring-plugin-installation.html)
[6.4.4.4 使用组件\_钥匙圈\_file 基于文件的密钥环组件](keyring-file-component.html)
[6.4.4.5 使用组件\_钥匙圈\_加密的\_文件加密的基于文件的密钥环组件](keyring-encrypted-file-component.html)
[6.4.4.6 使用钥匙圈\_file 基于文件的密钥环插件](keyring-file-plugin.html)
[6.4.4.7 使用钥匙圈\_加密的\_文件加密的基于文件的密钥环插件](keyring-encrypted-file-plugin.html)
[6.4.4.8 使用密钥环\_okv KMIP 插件](keyring-okv-plugin.html)
[6.4.4.9 使用密钥环\_aws 亚马逊网络服务密钥环插件](keyring-aws-plugin.html)
[6.4.4.10 使用 HashiCorp Vault Keyring 插件](keyring-hashicorp-plugin.html)
[6.4.4.11 使用 Oracle Cloud Infrastructure Vault Keyring 插件](keyring-oci-plugin.html)
[6.4.4.12 支持的密钥环密钥类型和长度](keyring-key-types.html)
[6.4.4.13 在 Keyring 密钥库之间迁移密钥](keyring-key-migration.html)
[6.4.4.14 通用密钥环密钥管理功能](keyring-functions-general-purpose.html)
[6.4.4.15 插件特定的密钥环密钥管理功能](keyring-functions-plugin-specific.html)
[6.4.4.16 密钥环元数据](keyring-metadata.html)
[6.4.4.17 密钥环命令选项](keyring-options.html)
[6.4.4.18 密钥环系统变量](keyring-system-variables.html)

[](<>)

MySQL 服务器支持密钥环，使内部服务器组件和插件能够安全地存储敏感信息以供以后检索。该实施包括以下元素：

-   管理后备存储或与存储后端通信的密钥环组件和插件。密钥环的使用涉及安装可用组件和插件中的一个。密钥环组件和插件都管理密钥环数据，但配置不同并且可能存在操作差异（请参阅[第 6.4.4.1 节，“密钥环组件与密钥环插件”](keyring-component-plugin-comparison.html)）。

    这些密钥环组件可用：

    -   `组件密钥环文件`：将密钥环数据存储在服务器主机本地的文件中。自 MySQL 8.0.24 起，在 MySQL Community Edition 和 MySQL Enterprise Edition 发行版中可用。看[第 6.4.4.4 节，“使用组件\_钥匙圈\_file 基于文件的密钥环组件”](keyring-file-component.html).

    -   `组件密钥环加密文件`：将密钥环数据存储在服务器主机本地的加密的、受密码保护的文件中。自 MySQL 8.0.24 起在 MySQL Enterprise Edition 发行版中可用。看[第 6.4.4.5 节，“使用组件\_钥匙圈\_加密的\_文件加密的基于文件的密钥环组件”](keyring-encrypted-file-component.html).

        这些密钥环插件可用：

    -   `密钥环文件`：将密钥环数据存储在服务器主机本地的文件中。在 MySQL Community Edition 和 MySQL Enterprise Edition 发行版中可用。看[第 6.4.4.6 节，“使用密钥环\_文件基于文件的密钥环插件”](keyring-file-plugin.html).

    -   `密钥环加密文件`：将密钥环数据存储在服务器主机本地的加密的、受密码保护的文件中。在 MySQL 企业版发行版中可用。看[第 6.4.4.7 节，“使用密钥环\_加密的\_文件加密的基于文件的密钥环插件”](keyring-encrypted-file-plugin.html).

    -   `密钥环_okv`：KMIP 1.1 插件，用于与 KMIP 兼容的后端密钥环存储产品，例如 Oracle Key Vault 和 Gemalto SafeNet KeySecure Appliance。在 MySQL 企业版发行版中可用。看[第 6.4.4.8 节，“使用密钥环\_okv KMIP 插件”](keyring-okv-plugin.html).

    -   `密钥环_aws`：与 Amazon Web Services 密钥管理服务通信以生成密钥并使用本地文件进行密钥存储。在 MySQL 企业版发行版中可用。看[第 6.4.4.9 节，“使用密钥环\_aws 亚马逊网络服务密钥环插件”](keyring-aws-plugin.html).

    -   `keyring_hashicorp`：与 HashiCorp Vault 通信以进行后端存储。自 MySQL 8.0.18 起在 MySQL Enterprise Edition 发行版中可用。看[第 6.4.4.10 节，“使用 HashiCorp Vault Keyring 插件”](keyring-hashicorp-plugin.html).

    -   `密钥环_oci`：与 Oracle Cloud Infrastructure Vault 通信以进行后端存储。自 MySQL 8.0.22 起在 MySQL Enterprise Edition 发行版中可用。看[第 6.4.4.11 节，“使用 Oracle Cloud Infrastructure Vault Keyring 插件”](keyring-oci-plugin.html).

-   用于密钥环密钥管理的密钥环服务接口。此服务可在两个级别访问：

    -   SQL接口：在SQL语句中，调用中描述的函数[第 6.4.4.14 节，“通用密钥环密钥管理功能”](keyring-functions-general-purpose.html).

    -   C接口：在C语言代码中，调用描述的keyring服务函数[第 5.6.9.2 节，“密钥环服务”](keyring-service.html).

-   关键元数据访问：

    -   性能模式[`钥匙圈钥匙`](performance-schema-keyring-keys-table.html)表公开密钥环中密钥的元数据。密钥元数据包括密钥 ID、密钥所有者和后端密钥 ID。这[`钥匙圈钥匙`](performance-schema-keyring-keys-table.html)table 不会公开任何敏感的密钥环数据，例如密钥内容。自 MySQL 8.0.16 起可用。看[第 27.12.18.2 节，“密钥环\_钥匙桌”](performance-schema-keyring-keys-table.html).

        [](<>)[](<>)

    -   性能模式[`keyring_component_status`](performance-schema-keyring-component-status-table.html)表提供有关正在使用的密钥环组件的状态信息（如果已安装）。自 MySQL 8.0.24 起可用。看[第 27.12.18.1 节，“密钥环\_零件\_状态表”](performance-schema-keyring-component-status-table.html).

        [](<>)[](<>)

-   一个关键的迁移能力。MySQL 支持密钥库之间的密钥迁移，使 DBA 能够将 MySQL 安装从一个密钥库切换到另一个。看[第 6.4.4.13 节，“在密钥环密钥库之间迁移密钥”](keyring-key-migration.html).

-   从 MySQL 8.0.24 开始，keyring 插件的实现被修改为使用组件基础设施。使用名为的内置插件可以促进这一点`daemon_keyring_proxy_plugin`它充当插件和组件服务 API 之间的桥梁。看[第 5.6.8 节，“密钥环代理桥插件”](daemon-keyring-proxy-plugin.html).

警告

对于加密密钥管理，`组件密钥环文件`和`组件密钥环加密文件`组件，以及`密钥环文件`和`密钥环加密文件`插件并非旨在作为法规遵从性解决方案。PCI、FIPS 等安全标准要求使用密钥管理系统来保护、管理和保护密钥库或硬件安全模块 (HSM) 中的加密密钥。

在 MySQL 中，密钥环服务消费者包括：

-   这`InnoDB`存储引擎使用密钥环来存储其密钥以进行表空间加密。看[第 15.13 节，“InnoDB 静态数据加密”](innodb-data-encryption.html).

-   MySQL Enterprise Audit 使用密钥环来存储审计日志文件加密密码。看[加密审计日志文件](audit-log-logging-configuration.html#audit-log-file-encryption).

-   二进制日志和中继日志管理支持基于密钥环的日志文件加密。激活日志文件加密后，密钥环存储用于加密二进制日志文件和中继日志文件密码的密钥。看[第 17.3.2 节，“加密二进制日志文件和中继日志文件”](replication-binlog-encryption.html).

    有关一般密钥环安装说明，请参阅[第 6.4.4.2 节，“密钥环组件安装”](keyring-component-installation.html)， 和[第 6.4.4.3 节，“密钥环插件安装”](keyring-plugin-installation.html).有关特定于给定密钥环组件或插件的安装和配置信息，请参阅描述它的部分。

    有关使用密钥环功能的信息，请参阅[第 6.4.4.14 节，“通用密钥环密钥管理功能”](keyring-functions-general-purpose.html).

    密钥环组件、插件和函数访问提供密钥环接口的密钥环服务。有关访问此服务和编写密钥环插件的信息，请参阅[第 5.6.9.2 节，“密钥环服务”](keyring-service.html)， 和[编写密钥环插件](https://dev.mysql.com/doc/extending-mysql/8.0/en/writing-keyring-plugins.html).
