【问题标题】:Error trying to setup Vault installed on GCP with mysql secret engine plugin尝试使用 mysql 秘密引擎插件设置安装在 GCP 上的 Vault 时出错
【发布时间】:2020-01-08 20:21:11
【问题描述】:

我已经使用terraform template 在 GCP 上安装了保管库。 我已经登录到 Vault 站点 *:8200 并成功地从我的控制台和 Vault 控制台创建了测试秘密引擎和秘密。

数据库秘密引擎也成功创建。但不幸的是,我无法设置 mysql-database-plugin 插件。

我尝试了几种方法来设置数据库秘密引擎:

export VAULT_TOKEN=xxxxxxxxxxxxxxxxxxx
export VAULT_ADDR=https://xx.xx.xx.xx:8200

vault write -tls-skip-verify database/config/xx plugin_name=mysql-database-plugin connection_url="{{username}}:{{password}}@tcp(xx.xx.xx.xx:3306)/" allowed_roles="vault-mysql-role" username="xx" password="xx"

但我得到了:

将数据写入数据库/config/xx 时出错:超出上下文期限

也从 Vault 控制台尝试过:

vault write database/config/mmc plugin_name=mysql-database-plugin connection_url="{{username}}:{{password}}@tcp(xx.xx.xx.xx:3306)/" allowed_roles="vault-mysql-role" username="xx" password="xx"

我得到的错误:

写入错误:database/config/mmc。 网址:未定义 代码:未定义

也试过api:

curl -k --header "X-Vault-Token: xxxxxxxxxxx" --request POST --data @payload.json https://xx.xx.xx.xx:8200/v1/database/config/mysql

作为payload.json:

{
  "plugin_name": "mysql-database-plugin",
  "allowed_roles": "readonly",
  "connection_url": "{{username}}:{{password}}@tcp(xx.xx.xx.xx:3306)/xx",
  "max_open_connections": 5,
  "max_connection_lifetime": "5s",
  "username": "xx",
  "password": "xx"
}

但我得到了:

{"errors":["创建数据库对象时出错: 验证连接时出错: dial tcp xx.xx.xx.xx:3306: connect: connection timed out"]}

有人知道出了什么问题吗? 提前致谢。

【问题讨论】:

    标签: mysql database plugins google-cloud-platform hashicorp-vault


    【解决方案1】:

    已解决,这是一个 Google Cloud Platform (GCP) 问题。 Cloud SQL 实例已使用公共 IP 设置,但 Vault 已使用私有 IP(堡垒主机模式)设置,为了将 Compute Engine 私有 IP 与 Cloud SQL 连接,有两种选择: 1) 设置 Vault 以使用公共 IP 2) 设置 Cloud SQL 以使用私有 IP 和自定义 vpc 网络,与 Vault 使用相同。出于安全考虑,选择了这个。

    【讨论】:

      猜你喜欢
      • 2014-09-25
      • 2021-08-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-18
      • 1970-01-01
      相关资源
      最近更新 更多