Работа с секретами на машинах разработчиков
Максимально коротко рассказываем о секретах — какие они бывают, и как с ними работать на машинах разработчиков. Например, как их туда безопасно доставить и употребить.
Виды секретов
🚫Продовые, тестовые и CI/CD секреты должны быть надёжно защищены. В идеале, они не выходят за пределы безопасного контура, на машине разработчика их быть не должно.
🆗Локальные и персональные — секреты, которые могут понадобиться на машине разработчика для локальной разработки, тестирования. Ни при каких обстоятельствах нельзя, чтобы они пересекались с продовыми.
Время жизни
🚫Вечные — дают неограниченный по времени доступ. Это серьёзная угроза безопасности.
🤔Долгоживущие — срок их жизни ограничен, поэтому они более безопасны в случаях утечки, а также вынуждают регулярно проверять их на актуальность.
🆗Короткоживущие — идеальный вариант для машины разработчика, живут крайне недолго. Наиболее безопасны.
Хранение
🚫Не храните секреты на локальных хранилищах персональных машин или по единому ключу для доступа ко всем секретам.
🚫Нельзя хранить секреты в переменных среды, локальных файлах, в открытом виде в репозитории или на стикере монитора.
🆗Используйте, например, опенсорсный Hashicorp Vault, проприетарный Yandex Cloud Lockbox, AWS Secrets Manager или другие хранилища.
Распространение
🚫Не используйте для переноса секретов мессенджеры, почту, буфер обмена или нешифрованный канал.
🆗Используйте способ, который не даёт потенциальным злоумышленникам перехватить секрет. Здорово, если секрет вообще не выходит за пределы защищённого контура.
Употребление
🤔Лучше не хранить секреты долгосрочно на стороне потребления, например, в локальных файлах или даже защищённых хранилищах.
🆗Секреты должны находиться на машинке только в рамках сессии употребления, после чего их удаляют без остатка.
Если хотите узнать о теме больше, читайте «Как донести секреты до dev-тачки и не пролить?». В статье мы более широко раскрываем каждый пункт, а также делимся примерами скриптов для bash.
Post #591
4.73K
- 👍 10
- ❤ 1