Я использую инструменты Amazon для создания веб-приложения. Я очень доволен ими, но у меня проблема безопасности.Влияние идентификаторов учетной записи AWS
Прямо сейчас, я использую несколько экземпляров EC2, S3, SimpleDB и SQS. Чтобы аутентифицировать запросы к различным службам, вы включаете свой Access Identifiers (требуется логин).
Например, чтобы загрузить файл в S3 из экземпляра EC2, ваш экземпляр EC2 должен иметь свой Access Key ID и ваш Секретный ключ доступа.
Это в основном означает, что ваше имя пользователя и пароль должны быть в ваших экземплярах.
Если один из моих экземпляров должен быть скомпрометирован, все мои активы Amazon будут скомпрометированы. Ключи могут использоваться для загрузки/замены данных S3 и SimpleDB, запуска и остановки экземпляров EC2 и т. Д.
Как я могу свести к минимуму ущерб одного взломанного хоста?
Моя первая мысль - получить несколько идентификаторов для каждой учетной записи, чтобы я мог отслеживать сделанные изменения и быстро отменить «взломанную» учетную запись. Amazon не поддерживает более одного набора учетных данных для каждой учетной записи.
Моей второй мыслью было создать несколько учетных записей и использовать ACL для контроля доступа. К сожалению, не все службы поддерживают предоставление другим учетным записям доступа к вашим данным. Плюс пропускная способность дешевле, тем более, что вы используете, поэтому, если все это пройти через одну учетную запись, это идеально.
С кем связано или, по крайней мере, подумал об этой проблеме?
«Роллинг» собственный сервер аутентификации такого типа может привести к неожиданным и незаметным недостаткам безопасности. AWS теперь (но не назад, когда это было впервые задано) имеет возможности для управления рисками из вопроса. В частности, роли IAM (как описано в ответе @ cudds) хорошо подходят для этой проблемы. – 2013-06-22 13:27:04