暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

使用 Percona Server for MySQL 和 Amazon KMS 作为密钥环

原创 谭磊Terry 恩墨学院 2022-07-29
537

Percona Server for MySQL 8.0.28-20 引入了一个新的密钥环组件 component_keyring_kms,它允许使用 AWS Key Management Service 作为密钥环。该组件也包含在Percona XtraBackup 8.0.28中,允许备份使用该组件加密的数据库。

该功能类似于 MySQL Enterprise 中包含的 AWS 密钥环插件,但它是作为一个组件实现的,因此,它需要不同的配置。

配置 AWS KMS

该组件在 KMS 上使用单个主密钥,必须在配置组件之前手动创建。此密钥也可以稍后更改,并且使用旧密钥的现有密钥将保持可用,只要该密钥仍然存在于 KMS 上。

要配置 KMS,请登录 AWS 管理控制台,然后设置新的 CMK。稍后可以使用其 UUID、ARN 或别名在组件配置中引用此密钥。建议使用别名,因为这样可以在不修改组件配置的情况下更改密钥。

该组件还需要一个用户,通过身份验证密钥和密钥标识来访问 KMS 服务,并且该用户应具有使用 CMK 的权限。建议为此目的使用专用用户。

为 MySQL 配置 Percona 服务器

要将 KMS 组件与 Percona Server for MySQL 一起使用,请创建一个全局或本地清单文件以启用该组件:

<span style="font-weight: 400;">{</span>
<span style="font-weight: 400;">  "components": "file://component_keyring_kms”</span>
<span style="font-weight: 400;">}</span>

然后还为 KMS 组件本身创建一个全局或本地配置文件:

<span style="font-weight: 400;">{ 
  “read_local_config”: “false”,</span>
<span style="font-weight: 400;">  "path": "</span><span style="font-weight: 400;">/usr/local/mysql/keyring/</span><span style="font-weight: 400;">keyring_kms_file",</span>
<span style="font-weight: 400;">  "read_only": "false",   </span>
<span style="font-weight: 400;">  “region": "us-east-2",</span>
<span style="font-weight: 400;">  "kms_key": "<uuid_or_alias_of_kms_key>",</span>
<span style="font-weight: 400;">  "auth_key": "<user_authentication_key>",</span>
<span style="font-weight: 400;">  “secret_access_key": "<user_secret_key>"</span>
<span style="font-weight: 400;">}</span>

密钥环文件的目录应该存在,AWS 凭证和密钥标识符必须在正确的参数下有效,否则,组件初始化将失败。

配置文件应该命名为“component_keyring_kms.cnf”,对于全局配置,它应该驻留在服务器目录中,对于本地配置,它应该驻留在数据目录中。

由于此文件包含指定 AWS 用户的身份验证信息,因此该用户应具有必要的最低权限,并且该文件应仅可由 MySQL 用户读取。

当这些文件存在并正确设置时,服务器将启动并加载 KMS 组件并准备好使用。加密功能可以一一单独启用。

数据安全

KMS 组件的工作方式类似于 component_keyring_file:它将 MySQL 加密密钥存储在一个文件中,由其配置文件中的路径值指定。这两个组件之间的区别在于,不是将密钥以纯文本形式存储在文件中,而是使用 KMS 服务对密钥进行加密。这意味着数据目录和密钥环数据文件不足以解密数据库,还需要访问 KMS 服务。

原文标题:Using Percona Server for MySQL with Amazon KMS as Keyring
原文作者:Zsolt Parragi
原文地址:https://www.percona.com/blog/using-percona-server-for-mysql-with-amazon-kms-as-keyring/

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论