- 6.4.1 Keyring Plugin Installation
- 6.4.2 Using the keyring_file File-Based Plugin
- 6.4.3 Using the keyring_encrypted_file Keyring Plugin
- 6.4.4 Using the keyring_okv KMIP Plugin
- 6.4.5 Using the keyring_aws Amazon Web Services Keyring Plugin
- 6.4.6 Migrating Keys Between Keyring Keystores
- 6.4.7 Supported Keyring Key Types
- 6.4.8 General-Purpose Keyring Key-Management Functions
- 6.4.9 Plugin-Specific Keyring Key-Management Functions
- 6.4.10 Keyring Command Options
- 6.4.11 Keyring System Variables
MySQL Server supports a keyring that enables internal server components and plugins to securely store sensitive information for later retrieval. The implementation is plugin-based:
MySQL 5.7.11 and higher includes a keyring plugin,
keyring_file, that stores keyring data in a file local to the server host. This plugin is available in all MySQL distributions, Community Edition and Enterprise Edition included. See Section 6.4.2, “Using the keyring_file File-Based Plugin”.
MySQL 5.7.21 and higher includes a keyring plugin,
keyring_encrypted_file, that stores keyring data in an encrypted file local to the server host. This plugin is available in MySQL Enterprise Edition distributions. See Section 6.4.3, “Using the keyring_encrypted_file Keyring Plugin”.
MySQL 5.7.12 and higher includes
keyring_okv, a KMIP 1.1 plugin for use with KMIP-compatible back end keyring storage products such as Oracle Key Vault and Gemalto SafeNet KeySecure Appliance. This plugin is available in MySQL Enterprise Edition distributions. See Section 6.4.4, “Using the keyring_okv KMIP Plugin”.
MySQL 5.7.19 and higher includes
keyring_aws, a plugin that communicates with the Amazon Web Services Key Management Service for key generation and uses a local file for key storage. This plugin is available in MySQL Enterprise Edition distributions. See Section 6.4.5, “Using the keyring_aws Amazon Web Services Keyring Plugin”.
MySQL 5.7.21 and higher supports a server operational mode that enables migration of keys between underlying keyring keystores. This enables DBAs to switch a MySQL installation from one keyring plugin to another. See Section 6.4.6, “Migrating Keys Between Keyring Keystores”.
MySQL 5.7.13 and higher includes an SQL interface for keyring key management, implemented as a set of user-defined functions (UDFs). See Section 6.4.8, “General-Purpose Keyring Key-Management Functions”.
keyring_encrypted_file plugins for encryption
key management are not intended as a regulatory compliance
solution. Security standards such as PCI, FIPS, and others
require use of key management systems to secure, manage, and
protect encryption keys in key vaults or hardware security
Uses for the keyring within MySQL include:
InnoDBstorage engine uses the keyring to store its key for tablespace encryption.
InnoDBcan use any supported keyring plugin.
MySQL Enterprise Audit uses the keyring to store the audit log file encryption password. The audit log plugin can use any supported keyring plugin.
For general keyring installation instructions, see Section 6.4.1, “Keyring Plugin Installation”. For information specific to a given keyring plugin, see the section describing that plugin.
For information about using the keyring UDFs, see Section 6.4.8, “General-Purpose Keyring Key-Management Functions”.
Keyring plugins and UDFs access a keyring service that provides the interface for server components to the keyring. For information about accessing the keyring plugin service and writing keyring plugins, see The Keyring Service, and Writing Keyring Plugins.