Хранение учетных данных AWS надежно на персональной машине

Как я могу надежно сохранить учетные данные AWS на персональных машинах?

Подробно:

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

Я очень предпочел бы хранить эти учетные данные в зашифрованном виде (подобный ssh ключам, например). Разве существует ли некоторый автоматизированный способ сделать так? Или я должен изрубить некоторый сценарий удара, который использует, например, openssl для шифрования данных?

Существует много информации о сети относительно того, как защитить учетные данные на экземпляре EC2. Существует даже этот Amazon, я - ролевая функциональность, но он также применяется только к EC2.

9
задан 20 September 2014 в 15:07
2 ответа

https: // Возможно, стоит изучить github.com/realestate-com-au/credulous. Из описания проекта:

credulous - это инструмент командной строки, который безопасно управляет учетными данными AWS (IAM) . Цель состоит в том, чтобы зашифровать учетные данные с помощью общедоступный SSH-ключ пользователя , чтобы только пользователь, имеющий соответствующий закрытый SSH-ключ может их видеть и использовать. Кроме того, этот инструмент также позволит пользователю легко вращать их текущие учетные данные без нарушения текущего пользователя рабочий процесс.

Вводная статья в блоге http://techblog.realestate.com.au/protecting-your-aws-keys-with-credulous/ .

4
ответ дан 2 December 2019 в 22:34

Отличный вопрос - и в зависимости от того, кто отвечает,у вас, вероятно, будет несколько маршрутов. Я приведу вам пример того, что мы используем:

  1. Создание ролей IAM на основе пользователя (разработчик, инфраструктура, безопасность, аудит и т. Д.) -настройка политики, чтобы разрешить или запретить определенные действия в зависимости от доступа пользователя.

Пример: разрешить все действия ec2 для администратора. Или разрешить доступ только на основе тега или подсети для разработчика и т. Д.

  1. Запустите экземпляр (ы) Linux ec2, используя определенные роли IAM. Запустите экземпляр для каждой конкретной роли или пользователя (настройте размер / тип экземпляра в соответствии с потребностями, бюджетом и т. Д.)

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

  3. Установите индивидуального пользователя / пароль для SSH или присоединитесь к домену.

  4. Назначьте каждому пользователю вход в систему или SSH для экземпляра Linux с их ролью или доступом пользователя.

  5. Ключи API и доступ теперь наследуются от самой роли IAM экземпляра, что делает необходимость хранения пользовательских ключей несущественной. Просто убедитесь, что группа безопасности заблокирована, предоставляйте доступ только определенным пользователям в Linux. Пользователь должен иметь возможность писать сценарии с использованием API AWS / использовать функциональные возможности инструментов API как обычно.

Мы используем этот метод уже около года - с дополнительными настройками безопасности, такими как арендованное время доступа, приобретенное в AWS HSM и он отлично работает.

Надеюсь, это поможет вам или кому-то еще.

4
ответ дан 2 December 2019 в 22:34

Теги

Похожие вопросы