Ошибка при попытке установить Vault, установленный на GCP, с плагином секретного движка mysql - PullRequest
0 голосов
/ 08 января 2020

Я установил хранилище на GCP, используя шаблон terraform . Я вошел на сайт хранилища *: 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"

Ошибка, которую я получил:

Ошибка записи в базу данных / config / mm c. URL: не определено Код: не определено

Также попробовал API:

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

Будучи полезной нагрузкой. 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": ["ошибка при создании объекта базы данных: ошибка при проверке соединения: наберите tcp xx.xx.xx.xx: 3306: connect: время ожидания истекло"]}

Кто-нибудь знает, что происходит не так? Заранее спасибо.

1 Ответ

0 голосов
/ 08 января 2020

Решено, это была проблема Google Cloud Platform (GCP). Облачный SQL экземпляр был настроен с использованием publi c IP, но Vault был настроен с использованием частного IP (режим хоста-бастиона), чтобы подключить частный IP Compute Engine к облаку SQL, есть два варианта: 1) настроить Vault на использование общедоступного c IP 2) настроить Cloud SQL на использование частного IP и настраиваемой сети vp c, которую использует тот же Vault. Выбрал этот из соображений безопасности.

...