2010-07-09 9 views
1

Nous avons une application web qui peut télécharger des fichiers sur S3. Pour que cela soit possible, un fichier de configuration contenant l'identifiant de clé d'accès et la clé secrète d'accès de mon compte AWS est requis.Comment garder les clés secrètes secrètes de l'administrateur système?

Je ne suis pas l'administrateur système de la boîte qui exécute l'application Web. Donc, fondamentalement, cette personne peut simplement saisir ma clé secrète d'accès et par exemple démarrer, arrêter et terminer les instances EC2, etc.

Comment puis-je garder ma clé secrète secrète dans cette situation?

EDIT: Pour clarifier, il ne s'agit pas de ne pas faire confiance à l'administrateur système, sinon une telle personne n'aurait pas accès root aux boîtes qu'il maintient. Faire confiance à un admin du système ne veut pas dire que je dois lui donner les détails de ma carte de crédit, les clés de ma maison et de ma voiture, etc. C'est ridicule.

Cette chose est, Amazon en donnant un aperçu des processus de sécurité (http://developer.amazonwebservices.com/connect/entry.jspa?externalID=1697) mentionne:

"Dans EC2, l'administrateur hôte et administrateur cloud peuvent être des personnes distinctes, permettant deux politiques de sécurité de la règle de l'homme à exécuter. "

Je ne vois pas comment les deux peuvent être séparés bien que si l'administrateur hôte a besoin de la clé secrète d'accès afin de pouvoir télécharger sur S3.

+1

Il peut être légalement requis que seules certaines personnes (avocat, médecin, etc.) aient accès aux données. Mais il est difficile de protéger une machine de la racine. –

+1

Je ne parle pas de protéger la machine de la racine. Je parle de protéger l'infrastructure de cloud d'un utilisateur root. Tout simplement parce que vous êtes un utilisateur root de la boîte 1, vous ne devriez pas avoir le droit de modifier les ACL des buckets S3, de mettre fin aux instances EC2, etc. –

Répondre

5

Malheureusement, je n'ai pas le temps de poster des instructions détaillées ici, mais je vous recommande fortement de regarder comment régler policies for a bucket et access policy language. Vous devriez être en mesure d'autoriser des téléchargements non authentifiés vers un compartiment donné uniquement à partir d'une adresse IP particulière (associée à votre instance EC2). Vous pouvez également créer un deuxième compte AWS qui n'a aucun accès, à l'exception du téléchargement dans ce compartiment. De cette façon, même si l'administrateur s'enfuyait avec vos crédos, ils n'auraient rien d'utile.

+0

Brilliant! Merci. Je vois que c'est encore en version bêta, mais je vais y aller. –

+0

+1 Cette nouvelle fonctionnalité devrait être une bonne solution. Je crois qu'il a toujours été possible de rendre les compartiments lisibles uniquement pour des comptes AWS spécifiques, mais la nouvelle fonctionnalité de stratégies de compartiment offre un contrôle encore plus important. –

2

Je ne crois pas que vous le pouvez. Si l'administrateur sys veut votre clé, et a un accès root à la machine, ils seront en mesure de l'obtenir.

1

Absolument vous devriez (garder votre secret de clé).

Vous devez fournir un autre moyen de télécharger les fichiers sur votre serveur. J'imagine que S3 vous permet de créer des comptes, et si vous avez simplement une boîte EC2, vous pouvez soit créer un nouveau compte ou installer un serveur FTP pour faire le téléchargement.

0

Étant une situation où vous ne pouvez pas faire confiance le Administrator est BAD. Configurez votre propre serveur.

Vous ne pouvez pas cacher à la racine!

Questions connexes