Назад | Перейти на главную страницу

EC2: могу ли я предоставить сценарии запуска по умолчанию для удаления конфиденциальных данных в моем AMI?

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

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

Но теперь мне кажется, что сценарии пользовательских данных относятся к экземплярам, ​​а не к AMI - то есть, они запускаются только тогда, когда это указано пользователем, выполняющим клонирование, а не создателем AMI (я).

Ну ... да, думаю, это имеет смысл, учитывая название "пользовательские данные".

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

Если вы создаете AMI, вы можете поместить в файловую систему все, что захотите.

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

ТЕМ НЕ МЕНИЕ! Ваш конкретный пример перезаписи конфиденциальных данных в файловой системе - это небезопасно делать в AMI. Конфиденциальная, личная или секретная информация никогда не должна помещаться в AMI. Фактически, он никогда не должен касаться тома EBS, используемого для создания общедоступного AMI, так как пользователи могут восстановить удаленные данные.

Я написал пару статей об этих угрозах безопасности:

Безопасное создание общедоступных AMI для EC2
http://alestic.com/2011/06/ec2-ami-security

Скрытые опасности при создании публичных снимков EBS на EC2
http://alestic.com/2009/09/ec2-public-ebs-danger