【发布时间】:2021-03-16 20:25:12
【问题描述】:
MySQL Server 企业版与 Hashicorp 集成以加密静态数据。加密密钥存储在 HashiCorp 保管库中,如 MySQL documentation 中所述。
根据 HashiCorp 文档[1][2],我们可以使用 Azure Key Vault 来存储机密。
是否可以集成 MySQL - HashiCorp - Azure Key Vault 所以
- MySQL 企业版使用 HashiCorp 加密
- 加密密钥存储在 AKV 中。
编辑更多细节:我已经在 kv(Hashicop) 保险库中保存和读取 MySQL 加密密钥。但我想配置为从 Azure Key Vault 读取和存储此密钥。
像这样配置 MySQL 服务器:
[mysqld]
early-plugin-load=keyring_hashicorp.so
keyring_hashicorp_role_id='XXXXXXXX-XXXXXXXX-XXXXXXXX-XXXXXXXX-XXXXXXXX'
keyring_hashicorp_secret_id='XXXXXXXX-XXXXXXXX-XXXXXXXX-XXXXXXXX-XXXXXXXX'
keyring_hashicorp_store_path='/azure/mysql'
在 Azure 中,我已经设置了
vault read azure/creds/my-role
Key Value
--- -----
lease_id azure/creds/my-role/XXXXXXXX
lease_duration 1h
lease_renewable true
client_id XXXXXXXX-XXXXXXXX-XXXXXXXX-XXXXXXXX
client_secret XXXXXXXX
如何设置keyring_hashicorp_store_path 以从 Azure 获取密钥?
我找不到任何配置选项、教程或文档来使这三者协同工作。
【问题讨论】:
-
您不会看到这一点,因为它通常违反身份验证最佳实践。 docs.microsoft.com/en-us/azure/key-vault/general/… 在生产环境中,您总是希望使用托管标识或带有证书的服务主体。我有一个偷偷摸摸的怀疑,你实际上是在问如何在本地开发期间轻松地从开发人员凭据切换到生产的应用程序凭据?看看这个:docs.microsoft.com/en-us/azure/key-vault/general/…
-
或者这可能更多是关于“静态加密”,然后是“应用程序凭据”。 docs.microsoft.com/en-us/azure/mysql/…
-
根据您要保护的内容以及更重要的是何时或在 DevOps 中的哪个周期,您可能会对基于 Azure 资源管理器的新 Azure RBAC 预览版系统非常感兴趣。 docs.microsoft.com/en-us/azure/key-vault/general/rbac-guide
标签: mysql azure-keyvault hashicorp-vault