J'utilise les outils d'Amazon pour créer une application Web. Je suis très heureux avec eux, mais j'ai un problème de sécurité.Impact des identifiants de compte AWS
À l'heure actuelle, j'utilise plusieurs instances EC2, S3, SimpleDB et SQS. Afin d'authentifier les demandes auprès des différents services, vous devez inclure votre Access Identifiers (connexion requise).
Par exemple, pour télécharger un fichier à partir d'une instance S3 EC2, votre instance EC2 a besoin d'avoir votre accès ID de clé et votre accès secrète.
Cela signifie essentiellement que votre nom d'utilisateur et mot de passe doivent être dans vos instances.
Si l'une de mes instances devait être compromise, tous mes actifs Amazon seraient compromis. Les clés peuvent être utilisées pour télécharger/remplacer des données S3 et SimpleDB, démarrer et arrêter des instances EC2, etc.
Comment puis-je minimiser les dommages d'un seul hôte compromis? Ma première pensée est d'obtenir plusieurs identifiants par compte afin que je puisse suivre les modifications apportées et révoquer rapidement le compte «piraté». Amazon ne prend pas en charge plus d'un ensemble d'informations d'identification par compte. Mon second réflexe était de créer plusieurs comptes et d'utiliser des ACL pour contrôler l'accès. Malheureusement, tous les services ne permettent pas d'accorder l'accès à vos données à d'autres comptes. Plus la bande passante est moins chère, plus vous l'utilisez, donc tout passer par un compte est idéal.
Est-ce que quelqu'un a traité ou a au moins pensé à ce problème?
Ce type de serveur d'authentification «à lancer soi-même» risque de générer des failles de sécurité inattendues et inaperçues. AWS maintenant (mais pas en arrière quand cela a été demandé pour la première fois) a des facilités pour gérer les risques de la question. En particulier, les rôles IAM (tels que décrits par la réponse de @ cudds) conviennent parfaitement à ce problème. –