web-dev-qa-db-fra.com

Pourquoi AWS déconseille-t-il les compartiments S3 publics?

"Nous vous recommandons fortement de ne jamais accorder aucun type d'accès public à votre compartiment S3."

J'ai défini une politique publique très granulaire (s3: GetObject) pour un compartiment que j'utilise pour héberger un site Web. Route53 prend explicitement en charge l'alias d'un compartiment à cet effet. Cet avertissement est-il simplement redondant ou est-ce que je fais quelque chose de mal?

57
Andrew Johnson

Oui, si vous savez ce que vous faites ( edit: et tout le monde d'autre qui y a accès le fait aussi ...), vous pouvez ignorer cet avertissement.

Il existe parce que même grandes organisations qui devraient mieux savoir ont accidentellement placé des données privées dans des compartiments publics. Amazon vous enverra également des courriers électroniques si vous laissez les compartiments publics en plus des avertissements dans la console.

Accenture, Verizon, Viacom, Illinois Les informations sur les électeurs et les informations militaires ont toutes été trouvées par inadvertance laissées ouvertes à tout le monde en ligne en raison d'une mauvaise configuration des silos S3 par les organes informatiques.

Si vous êtes absolument certain à 100% que tout dans le bucket doit être public et que personne ne va accidentellement y mettre des données privées - un site HTML statique est un bon exemple - alors par tous les moyens , laissez-le public.

72
ceejayoz

Le problème de confidentialité présenté dans réponse de ceejayoz n'est pas le seul problème.
La lecture d'objets dans un compartiment S3 a un prix. Vous serez facturé par AWS pour chaque téléchargement à partir de ce compartiment. Et si vous avez beaucoup de trafic (ou si quelqu'un qui veut nuire à votre entreprise commence pour télécharger massivement des fichiers toute la journée), cela deviendra rapidement coûteux.

Si vous souhaitez que les fichiers de votre compartiment soient accessibles au public, vous devez créer une distribution Cloudfront qui pointe vers le compartiment S3 et y est autorisé .

Désormais, vous pouvez utiliser le nom de domaine de Cloudfront Distribution pour servir vos fichiers sans accorder d'accès S3 au public.
Dans cette configuration, vous payez pour l'utilisation des données de Cloudfront au lieu de S3. Et à des volumes plus élevés, c'est beaucoup moins cher.

37
Quentin Hayot