Я пытаюсь выяснить преимущества безопасности при перемещении аутентификаторов служб в хранилище секретов.
Очевидно, что хранить аутентификаторы базы данных в коде или в конфигурациях сервера приложений - плохая идея.
AWS Secrets Manager упрощает шифрование секретов и позволяет AWS автоматически поворачивать учетные данные, что хорошо.Понятно, что вращение db-аутентификатора выгодно с точки зрения безопасности.Если кто-то каким-то образом украдет аутентификатор БД, Менеджер секретов может менять его ежедневно или чаще, а если он старый, вам не повезло.
Однако, если ваш сервер приложений будет взломан, разве у него не будет ключей AWS, необходимых для запроса Secrets Manager?То же самое для вашего исходного кода (то есть, где-то хранятся какие-то учетные данные, которые приводят к базе данных u / p).И, конечно же, к этому серверу приложений прикреплена роль IAM, которая позволяет этому запросу, а также предоставлению сетевого трафика доступ к базе данных.
Чем это на самом деле сильно отличается от хранения аутентификатора базы данных на сервере приложений?Просто если программный доступ к Secrets Manager осуществляется через ваш код (через SDK), кому-то придется скомпрометировать ваш исходный код и сервер приложений, чтобы иметь пароль и правильный путь в VPC (например, безопасность входящего трафика)правила группы, таблица маршрутов и т. д.), чтобы получить данные?
Мне кажется, что-то здесь не хватает!