Spring Cloud Vault - лучшее место для хранения секретного идентификатора и идентификатора роли

Я использую Spring Cloud Vault Library для доступа к своим секретам с сервера Vault.

В настоящее время я сохраняю все параметры, такие как role-id, secret-id, host, port и т. Д., Как Переменные среды, а затем вставляю их в свой bootstrap.yml моего приложения Spring-boot. Ниже мой YAML файл

spring:
 cloud:
    vault:
      authentication: APPROLE
      app-role:
        role-id: ${role-id}
        secret-id: ${secret-id}
      host: ${host}
      port: ${port}
      scheme: ${scheme}

Я застрял в управлении идентификатором роли и секретным идентификатором хранилища. Очевидно, что Vault не годится для защиты наших секретов, если люди могут легко заполучить эти 2 части информации - они действительно сами являются секретами.

Каковы наилучшие отраслевые методы защиты Role-Id и Secret-Id? Мы уже продумали такие идеи, как storing-in-config-server, storing-in-environment-variable, storing-in-cloudfoundry-UPS. .

Тем не менее, мы хотели бы понять передовой опыт в этом отношении.


person Arun    schedule 05.09.2018    source источник
comment
Так что же вы решили сделать в конечном итоге?   -  person Somjit    schedule 23.11.2020
comment
я использовал PCF Credhub для хранения секрета-0   -  person Arun    schedule 07.01.2021


Ответы (1)


Я столкнулся с той же проблемой, и вот что вы можете сделать. Прежде всего, приложение должно иметь собственного системного пользователя и запускаться от имени этого пользователя. Затем в том же каталоге, что и ваш файл jar / war, вы можете создать файл bootstrap.properties, содержащий:

spring.cloud.vault.app-role.secret-id=*your-secret-for-role-id*

Вот пример вывода ls:

-rw-------. 1 app app bootstrap.properties
-rwxr--r--. 1 app app app.jar

Пользователь приложения должен быть владельцем этого файла свойств, и только ему должно быть разрешено читать bootstrap.properties. Это защищает ваш секрет от несанкционированного доступа, если у вас нет прав пользователя root или приложения.

person kemot90    schedule 08.08.2019