Springboot Vault с DDL Автообновление для Postgres вызывает проблемы с разрешениями - PullRequest
0 голосов
/ 26 июня 2019

Мы переносим наши секреты БД в хранилище Хашикорп. Springboot может подключаться к Vault и автоматически создавать роль в Postgres.

Когда я запускаю приложение в первый раз, настройки «ddl.auto» позволяют Springboot автоматически создавать таблицы в Postgres. Проблема в том, что у этих таблиц временный пользователь является владельцем таблицы в Postgre. Когда я перезапускаю приложение, новый пользователь не имеет разрешения на чтение из этой таблицы, даже если у него есть доступ к схеме.

Как настроить весеннюю загрузку с хранилищем для секретов БД и автоматических настроек ddl?

spring.cloud.vault:
  fail-fast: true
  uri: http://localhost:8200
  authentication: APPROLE
  app-role:
    role-id: a1f62274-145c-3d10-dc8a-790a83995adc
    secret-id: d5032c0f-a8f3-be23-531a-a444994ff5f5
  generic:
    enabled: false
  database:
    enabled: true
    role: test-app-role
    backend: database
    username-property: spring.datasource.username
    password-property: spring.datasource.password
spring:
  jpa:
    hibernate.ddl-auto: "update"

Exception

"Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'appListInitializer': Invocation of init method failed; nested exception is org.springframework.dao.InvalidDataAccessResourceUsageException: could not extract ResultSet; SQL [n/a]; nested exception is org.hibernate.exception.SQLGrammarException: could not extract ResultSet","logger_name":"org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext","thread_name":"restartedMain","level":"WARN","level_value":30000}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...