Как безопасно хранить учетные данные AWS на личных машинах?
В деталях:
Всем в нашей команде требуются учетные данные безопасности AWS для выполнения административных задач (учетные данные разделены по ролям). Эти учетные данные обычно хранятся в виде открытого текста в некоторых файлах конфигурации на диске. Я думаю, что это очень небезопасно, особенно с учетом того, что учетные данные распределяются между членами команды, попадают в резервную копию и т. Д.
Я бы предпочел хранить эти учетные данные в зашифрованном виде (например, по аналогии с ключами ssh). Есть ли какой-нибудь автоматический способ сделать это? Или мне нужно взломать какой-нибудь сценарий bash, который использует, например, openssl для шифрования данных?
В Интернете есть много информации о том, как защитить учетные данные в экземпляре EC2. Есть даже это Функциональность ролей Amazon IAM, но это также относится только к EC2.
Отличный вопрос - и в зависимости от того, кто ответит, у вас, вероятно, будет несколько маршрутов. Приведу пример того, что мы используем:
Пример: разрешить все действия ec2 для администратора. Или разрешить доступ только на основе тега или подсети для разработчика и т. Д.
Запустите экземпляры ec2 Linux, используя определенные роли IAM. Запустите экземпляр для каждой конкретной роли или пользователя (настройте размер / тип экземпляра в соответствии с потребностями, бюджетом и т. Д.)
Настройте группу безопасности для каждого экземпляра, чтобы разрешить только определенные подсети или отдельные IP-адреса, чтобы вы могли заблокировать вход трафика в SSH.
Установите индивидуального пользователя / пароль для SSH или присоединитесь к домену.
Назначьте каждому пользователю вход или SSH в экземпляр Linux для своей роли или доступа пользователя.
Ключи API и доступ теперь наследуются от самой роли экземпляра IAM, поэтому необходимость хранения пользовательских ключей не имеет значения. Просто убедитесь, что группа безопасности заблокирована, предоставляйте доступ только определенным пользователям в Linux. Пользователь должен иметь возможность писать сценарии с использованием API AWS / использовать функциональные возможности инструментов API как обычно.
Мы используем этот метод уже около года - с дополнительными настройками безопасности, такими как арендованное время доступа, купленное в AWS HSM, и он отлично работает.
Надеюсь, это поможет вам или кому-то еще.
https://github.com/realestate-com-au/credulous возможно, стоит изучить. Из описания проекта:
доверчивый это инструмент командной строки, который управляет AWS (IAM) Учетные данные безопасно. Цель состоит в том, чтобы зашифровать учетные данные с помощью пользователя открытый ключ SSH так что только пользователь, имеющий соответствующий закрытый SSH-ключ может их видеть и использовать. Кроме того, этот инструмент также позволит пользователю легко вращать их текущие учетные данные, не нарушая текущий рабочий процесс пользователя.
Есть вводная статья в блоге по адресу http://techblog.realestate.com.au/protecting-your-aws-keys-with-credulous/.