Как безопасно хранить/ссылаться на пароли
Terraform — это мощный инструмент «инфраструктура как код» (IaC), который помогает создавать, изменять и версионировать инфраструктуру. У него есть плюсы и минусы, как и у всего остального, но главное преимущество заключается в том, что он не зависит от облака, то есть его можно использовать с несколькими облачными провайдерами.
В этой лабораторной работе мы будем использовать AWS для Windows в качестве поставщика облачных услуг. Компоненты, над которыми мы будем работать, включают:
- AWS Secrets Manager: сервис управления секретами, который помогает защитить доступ к вашим приложениям, сервисам и ИТ-ресурсам. Он будет использоваться для хранения и извлечения учетных данных базы данных.
- Amazon RDS для PostgreSQL: сервис реляционной базы данных, предоставляющий на выбор шесть знакомых механизмов баз данных, включая Amazon Aurora, PostgreSQL, MySQL и т. д.
- Экземпляр EC2: Amazon Elastic Compute Cloud (Amazon EC2) — это веб-служба, предоставляющая безопасные вычислительные ресурсы с изменяемым размером в облаке.
Цель здесь состоит в том, чтобы наше приложение ссылалось на значение секретного пароля в диспетчере секретов, а не хранило пароль в виде обычного текста в нашем исходном коде.
Хранение простых текстовых паролей в исходном коде — ужасная идея, поэтому это важная концепция.
Предпосылки
Прежде чем приступить к этой лабораторной работе, убедитесь, что у вас есть:
- Установил Terraform на локальную машину.
- Установил AWS CLI и настроил его с помощью своих учетных данных AWS.
- Установлен текстовый редактор, например VS Code, Atom или Sublime Text. Я бы также рекомендовал установить расширение Terraform в ваш редактор кода.
Приведенные ниже команды/шаги были выполнены в Windows, если вы используете Mac/Linux, синтаксис терминала, скорее всего, будет немного другим. Однако шаги и ссылки из Terraform одинаковы.
Шаг 1. Создайте новый каталог и инициализируйте Terraform
Откройте терминал в редакторе кода и создайте каталог для нашего проекта:
mkdir terraform-aws-secrets && cd terraform-aws-secrets