Рубрики
Uncategorized

Почему управление секретами-это не просто магазин ключей

Исследуйте наиболее важные аспекты управления секретами и почему хранилище ключевых значений-это только начало. Tagged с DevOps, безопасности, инфраструктурой.

Для тех, кто управлял секретами через файлы .ENV или кратко рассмотрел менеджеров секретов, таких как Hashicorp Vault Легко сложиться впечатление, что «Управление секретами»-это просто хранение и поиск секретов из хранилища данных.

Но повторяющиеся задачи, такие как мгновенное сравнение секретных значений между средами при устранении неисправностей или предупреждение, когда вводится новый секрет, являются важными функциями, которые должен предоставить каждый менеджер Secrets. Без них команды разработчиков вынуждены собирать свои собственные решения, часто в бункерах на основе применения.

Реальность такова, что файлы .ENV и традиционные секреты, менеджеры, никогда не были разработаны для удовлетворения потребностей современных групп разработки приложений, где микросервисы и мульти-облачные развертывания являются новыми нормальными.

По сути, мы хотим гибкости секретного решения для хранения ключевых значений, но с операционной моделью и набором функций, которые уменьшают сложность, повышают производительность разработчиков и стандартизируют, как секреты управляются для приложений в каждой части бизнеса.

В этом посте мы рассмотрим наиболее важные аспекты управления секретами и почему хранилище ключей-это только начало.

Контроль доступа и разрешения

Кому нужен доступ к секретам? Каким должен быть их уровень разрешений и какие приложения и среды должны иметь доступ? Предоставляется ли доступ в соответствии со структурой ORG или владельцем приложений?

Если элементы управления доступа недостаточно мелкозернистые, вы рискуете нарушать принцип наименьшей привилегии, но если он слишком жесткий, может препятствовать способности команд принять культуру DevOps и «перемещение влево», чтобы внедрить безопасность ранее в процесс разработки приложения Анкет

Ниже приведена отправная точка для требований к разрешению в секрете и доступе:

  • Способность сегментировать части бизнеса на отдельные рабочие места, например, приобретенная стартап может на борту для использования менеджера Secrets, оставаясь полностью отделенным от существующих секретов организации.

  • Рассмотрим, как будет управляться доступ через границы облаков и платформ, например, AWS, GCP и Vercel?

  • Возможность предоставлять доступ к секретам для конкретных приложений и среда в каждом приложении.

  • В большинстве случаев разработчики должны иметь доступ только к секретам, принадлежащим к их приложениям, и только для соответствующей среды (например, DEV и тест). Devsecops будут иметь большие уровни разрешения, чтобы они могли работать межфункционально в любой среде.

  • Временные секреты доступа к внешним организациям (например, подрядчикам) должны быть охвачены подмножества секретов приложения через токен авторитета/сервис.

  • Одноразовое совместное использование секретов внешним организациям (например, сертификаты TLS для внешней фирмы) следует запечатлеть в журнале деятельности и отправлено с помощью зашифрованных средств с использованием такой службы, как Допплеровский общий период Анкет

  • Обязанный MFA для доступа к панели управления Secrets Manager.

  • Повышение привилегий (например, разработчик, просмотр секретов производства), будет ограничена по времени и захвачена в журнале деятельности.

  • Безусловная интеграция с существующими единичными решениями, такими как SAML и SCIM, чтобы позволить назначать уровни разрешения доступа по умолчанию на основе роли и/или членства в группе.

Дальнейшим соображением является ограничение доступа к машине к диапазону IP -адресов CIDR, предотвращая использование токенов утечки с утечками за пределами доверенных корпоративных и облачных сетей.

Есть много чего рассмотреть для контроля доступа и разрешений, и ваш менеджер Secrets должен сделать это простым для удовлетворения этих требований.

Версия и откат

Управление версиями и возможность отмены изменений являются обязательными, и не должно быть за счет снижения производительности или дополнительных сборов за хранение.

В то время как большинство секретных менеджеров поддерживают версии и откат, очень важно оценить фактический процесс.

Возможность отказаться от неправильного изменения в одном щелчке с поддержкой запуска автоматического перезагрузки или развертывания приложений — это то, чего команды должны ожидать от менеджера Secrets, что позволяет применять исправление неправильной конфигурации в секунды.

Секретная документация

Существуют совершенно разные точки зрения на документирование кода, но единственное, с чем могут договориться, это то, что полезные комментарии кода предоставляют контекст, который объясняет «почему», а не только то, что делает код.

Такой контекст и комментарии могут быть особенно ценными для секретов, но где это должно быть задокументировано?

Разумным вариантом является комментарии README или встроенного кода, в которых используется секрет, однако контекст может быть потерян, если значение секрета будет изменено в вашем менеджере Secrets кем -то, кто не просматривал код.

Возможность заметить секреты непосредственно в менеджере секретов снижает вероятность ошибок неправильной конфигурации, которых можно было бы легко избежать, если бы были предоставлены соответствующие комментарии (и контекст).

Местное развитие

Чем ближе ваша среда разработки к производству, тем менее вероятно, что неожиданные проблемы возникают во время развертывания, поэтому в разработке следует получить доступ к секретам, как и в производстве.

Ваш менеджер Secrets должен рассматривать разработку как собственную среду самостоятельно и отвечать за поставку секретов для разработчиков на местном уровне. Это спасает каждого разработчика от ручного обновления и исправления списка своих собственных переменных среды в своем файле IDE или .ENV.

Среда разработки также представляет уникальную проблему, где секретные ценности часто будут специфичными для каждого разработчика, например, При работе с филиалом функции, который использует новый секрет.

Разработчики нуждаются в гибкости, чтобы переопределить секреты во время разработки, не затрагивая других разработчиков в команде. Это важная особенность, которую менеджер секретов должен предоставить для обеспечения того, чтобы доступы секретов оставались согласованными для каждой среды.

Один унифицированный представление для конфигурации приложения

Одна из причин, по которой разработчики любят .env Файлы заключаются в том, что он дает им единое унифицированное представление о том, как настроено приложение, поскольку они имеют тенденцию хранить как секреты, так и данные конфигурации, такие как клавиши API, привязки портов и флаги функций.

При оценке перехода от .env Файлы в диспетчер секретов, команды часто запутаются в том, следует ли разделить секреты и конфигурацию. Например, должны ли секреты быть перенесены на диспетчер секретов, в то время как Config продолжает существовать в файлах .env?

В то время как секретные менеджеры предназначены для хранения конфиденциальных данных, имеет смысл хранить как конфигурацию, так и секреты вместе, так как нет логистического или финансового преимущества, полученного за счет их разделения.

Если секреты и конфигурация просто отображаются в виде пары ключей на панели мониторинга менеджера Secrets, зритель должен определить способ визуальной организации Secrets по применению, а затем дальнейший сегмент в отдельные среды.

Ваш менеджер Secrets должен предоставить простой встроенный механизм для просмотра секретов для конкретного приложения и среды, а также хранения конфигурации, а также секреты в вашем секретном диспетчере гарантирует, что вы все равно получите одно единое представление о том, как настроено ваше приложение.

Уменьшить трение, чтобы увеличить усыновление

Хотя внедрение менеджера секретов часто является усилием безопасности, его лучше рассматривать как производительность, так как каждая команда проекта может оценить время и усилия. И если осанка безопасности улучшена, хорошо!

Но если основное внимание уделяется безопасности за счет производительности (даже в случае краткосрочной перспективы), получение широкого распространения будет значительно сложнее, так как команды продуктов стимулированы для постановки новых функций, а не улучшить безопасность (если не обязательно это сделать).

Таким образом, менеджер Secrets, который, вероятно, окажет наибольшее влияние на повышение безопасности, — это тот, который обеспечивает почти без трения, чтобы команды могли ежедневно реализовать и использовать.

Предотвращение вопросов неправильной конфигурации

Проблемы неправильной конфигурации гораздо легче решить, если поймают до того, как изменения будут применены в производстве. Чтобы достичь этого, разработчики и инженеры Devops нуждаются в доступе к журналу «Секреты деятельности», который выдвигает секретные события туда, где они естественным образом общаются, такие как канал команды Slack или Microsoft.

Панель инструментов управления секретами также должна предоставить индикаторы потенциальных проблем, таких как если бы секрет был добавлен в стадирующую среду, но не производство, а также функции устранения неполадок, такие как возможность мгновенно сравнивать секретную ценность по каждой среде.

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

Автоматизировать перезагрузку и перераспределение приложений

Инфраструктура как кодовое движение ставит автоматизацию в основе рабочих процессов развертывания, и важнейшая функция любого менеджера Secrets должна быть возможностью автоматически запустить приложение для перезагрузки или перераспределения, если его конфигурация или секреты изменятся.

Это снова подчеркивает необходимость в том, чтобы секретные менеджеры вышли за рамки простого хранилища ключевых значений, поскольку, поскольку они должны знать, какое приложение запустить перераспределение, основываясь на приложении и среде, к которой принадлежит измененный секрет.

Управление секретами выходит за рамки секретного хранения

К настоящему времени должно быть ясно, что управление секретами выходит за рамки безопасного хранения секретов в качестве пары ключевых значений. Мы затронули процессы, лучшие практики, а также различные риски, проблемы и проблемы, которые могут возникнуть, и то, что менеджер секретов должен разумно сделать, чтобы смягчить их.

Они связаны с ключевыми элементами хранения, доступа, видимости, интеграции, рабочих процессов и процессов устранения неполадок для управления секретами, но и конфигурации приложения.

Допплеров — это просто результат создания универсального менеджера Secrets, которого мы хотели, но просто не было.

Допплеров позволяет прекратить использование старых способов хранения, обмена и доступа к секретам через файлы .ENV.

Это ваш централизованный источник истины для управления секретами по нескольким облакам, платформам и форматам упаковки, от облачных пакетов сборки до контейнеров, без серверов и многого другого.

Это бесплатно начать И вы можете работать за считанные минуты. Посмотрите, как легко это может быть надежно управлять своими секретами, используя доплеровский!

Оригинал: «https://dev.to/doppler/why-secrets-management-is-not-just-a-key-value-store-27i4»