Documentation Home
MySQL 8.3 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 40.8Mb
PDF (A4) - 40.9Mb
Man Pages (TGZ) - 294.0Kb
Man Pages (Zip) - 409.0Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb
Excerpts from this Manual

MySQL 8.3 Reference Manual  /  ...  /  Using the Oracle Cloud Infrastructure Vault Keyring Plugin

8.4.4.12 使用 Oracle Cloud Infrastructure Vault 密钥环插件

Note

keyring_oci 插件是 MySQL Enterprise Edition 的一部分,属于商业产品。要了解更多关于商业产品的信息,请参阅 https://www.mysql.com/products/

keyring_oci 插件是一个密钥环插件,用于与 Oracle Cloud Infrastructure Vault 进行后端存储。MySQL 服务器本地存储中不存储任何密钥信息。所有密钥都存储在 Oracle Cloud Infrastructure Vault 中,这使得该插件非常适合 Oracle Cloud Infrastructure MySQL 客户管理他们的 MySQL Enterprise Edition 密钥。

该插件已弃用,并将在未来 MySQL 版本中删除。相反,考虑使用 component_keyring_oci 组件来存储密钥环数据(参阅 第 8.4.4.11 节,“使用 Oracle Cloud Infrastructure Vault 密钥环组件”)。

keyring_oci 插件支持标准 MySQL 密钥环服务接口中的函数。这些函数执行的密钥环操作可以在两个级别上访问:

示例(使用 SQL 接口):

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

有关 keyring_oci 所允许的密钥值特征,请参阅 第 8.4.4.13 节,“支持的密钥环密钥类型和长度”

要安装 keyring_oci,请使用 第 8.4.4.3 节,“密钥环插件安装” 中的通用说明,以及特定于 keyring_oci 的配置信息。插件特定配置涉及设置多个系统变量,以指示 Oracle Cloud Infrastructure 资源的名称或值。

假设您熟悉 Oracle Cloud Infrastructure 概念,但以下文档可能在设置 keyring_oci 插件时有所帮助:

keyring_oci 插件支持以下表格所示的配置参数。要指定这些参数,请将值分配给相应的系统变量。

Configuration Parameter System Variable Mandatory
User OCID keyring_oci_user
Tenancy OCID keyring_oci_tenancy
Compartment OCID keyring_oci_compartment
Vault OCID keyring_oci_virtual_vault
Master key OCID keyring_oci_master_key
Encryption server endpoint keyring_oci_encryption_endpoint
Key management server endpoint 密钥环OCI管理端点
Vaults server endpoint 密钥环OCI保险库端点
Secrets server endpoint 密钥环OCI机密端点
RSA private key file 密钥环OCI密钥文件
RSA private key fingerprint 密钥环OCI密钥指纹
CA certificate bundle file 密钥环OCI CA证书

要在服务器启动过程中使用 密钥环OCI,必须使用 --early-plugin-load 选项加载它。如上表所示,几个插件相关的系统变量是强制性的,必须设置:

  • Oracle Cloud Infrastructure 广泛使用 Oracle Cloud IDs (OCIDs) 来指定资源,几个 密钥环OCI 参数指定了要使用的资源的 OCID 值。因此,在使用 密钥环OCI 插件之前,必须满足以下先决条件:

    • 必须存在一个连接到 Oracle Cloud Infrastructure 的用户。如果必要,创建用户并将用户 OCID 分配给 密钥环OCI用户 系统变量。

    • 必须存在 Oracle Cloud Infrastructure 租户、MySQL comparment 和保险库。创建这些资源,如果必要,并确保用户可以使用它们。将租户、comparment 和保险库的 OCID 分配给 密钥环OCI租户密钥环OCI comparment密钥环OCI虚拟保险库 系统变量。

    • 必须存在一个主密钥用于加密。创建它,如果必要,并将其 OCID 分配给 密钥环OCI主密钥 系统变量。

  • 必须指定几个服务器端点。这些端点是保险库特定的,Oracle Cloud Infrastructure 在创建保险库时分配它们。从保险库详细信息页面获取它们的值,并将它们分配给 密钥环OCI加密端点密钥环OCI管理端点密钥环OCI保险库端点密钥环OCI机密端点 系统变量。

  • Oracle Cloud Infrastructure API 使用 RSA 私钥/公钥对进行身份验证。使用 Required Keys and OCIDs 中的说明创建这个密钥对,并获取密钥指纹。将私钥文件名和密钥指纹分配给 密钥环OCI密钥文件密钥环OCI密钥指纹 系统变量。

此外,密钥环OCI CA证书 可以选择性地设置,以指定证书颁发机构(CA)证书 bundle 文件用于对等身份验证。

Important

如果从 Oracle Cloud Infrastructure 控制台复制参数,复制的值可能包括初始 https:// 部分。省略该部分时设置相应的 密钥环OCI 系统变量。

例如,要加载和配置 密钥环OCI,可以在服务器 my.cnf 文件中使用以下行(根据平台调整 .so 后缀和文件位置):

[mysqld]
early-plugin-load=keyring_oci.so
keyring_oci_user=ocid1.user.oc1..longAlphaNumericString
keyring_oci_tenancy=ocid1.tenancy.oc1..longAlphaNumericString
keyring_oci_compartment=ocid1.compartment.oc1..longAlphaNumericString
keyring_oci_virtual_vault=ocid1.vault.oc1.iad.shortAlphaNumericString.longAlphaNumericString
keyring_oci_master_key=ocid1.key.oc1.iad.shortAlphaNumericString.longAlphaNumericString
keyring_oci_encryption_endpoint=shortAlphaNumericString-crypto.kms.us-ashburn-1.oraclecloud.com
keyring_oci_management_endpoint=shortAlphaNumericString-management.kms.us-ashburn-1.oraclecloud.com
keyring_oci_vaults_endpoint=vaults.us-ashburn-1.oci.oraclecloud.com
keyring_oci_secrets_endpoint=secrets.vaults.us-ashburn-1.oci.oraclecloud.com
keyring_oci_key_file=file_name
keyring_oci_key_fingerprint=12:34:56:78:90:ab:cd:ef:12:34:56:78:90:ab:cd:ef

有关 密钥环OCI 插件特定系统变量的更多信息,请参阅 第 8.4.4.19 节,“密钥环系统变量”

插件 keyring_oci 不支持运行时重新配置,无法在运行时修改其系统变量。要更改配置参数,请执行以下操作:

  • my.cnf 文件中修改参数设置,或者使用 SET PERSIST_ONLY 对于持久化到 mysqld-auto.conf 的参数。

  • 重新启动服务器。