есть seed phrase, которая используется для HD Wallet. В процессе разработки хранили её в env, и особо не парились. В рамках деплоя в production встала проблема, что девопс не готов брать на себя ответственность за знание seed phrase. Какие варианты в целом есть, чтобы только овнер знал seed phrase, но при этом код мог откуда-то тянуть её и пользоваться ей?
Вариант с поднятием сервиса для подписи транзакций на машине овнера не подходит.
Попробуй делать глобальные переменные через pydantic, у него есть класс BaseSettings, через него можно в консоль 1 раз ввести переменную и ее значение и оно будет использоваться, только я не совсем уверен что при продакшене это получится сделать, хотя по идее через докер это все спокойно делается
Останутся же торчать в докере в env, не?
Так он же не машина, дешифровать её глазами не сможет, так что просто накиньте на неё какое-либо шифрование и киньте в env. А в код имплементируйте дешифровалку. Но, конечно есть проблема в том, что он может узнать шифрование и дешифровать, но тогда советую создать кошелек, новый, чистый и перевести туда деньгу, которая нужна для работы программы.
Secrets as a service загуглить пробовал?
В теории можно вообще заморочиться, добавлять через терминал хэшированную версию а потом в классе сделать сеттер, который бы расхэшировал и все. Но мне кажется есть более удобный способы, но я о них не знаю
Вопрос не безопасности, а именно сокрытия от разработчика. Насколько мне известно, с секретами тоже не прокатит, и в целом, система ключей (публичный/приватный) не подходят, так как самому сервису нужен будет ключ, к которому, опять же будет доступ у разработчиков.
Не ну сокрытие от и является одной из основных тем)
Сеттер по расхэшированию не вариант, так как расхэшить - тоже нужны «ключики», которые надо указать.
Окей, посмотрю, спасибо за наводку.
Так а в чем собственно проблема использовать секреты?
Если я все правильно понял, зашифрованный секрет так или иначе должен быть расшифрован, то есть должен быть ключ к дешифрованию. Соответственно, деплоится проект с ключом, девопс имеет доступ к информации из секретов. Ошибаюсь?
Ты можешь сам секрет вшить в переменные. Там значение не отобразается
Обсуждают сегодня