Pourquoi AWS recommande-t-il de ne pas utiliser les compartiments publics S3?

54

"Nous vous recommandons vivement de ne jamais autoriser le public à accéder à 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'aliasing d'un compartiment à cette fin. Cet avertissement est-il simplement redondant ou est-ce que je fais quelque chose de mal?

Andrew Johnson
la source
1
@ MichaelHampton Cela montrera cela dans la console S3, sans beaucoup de contexte supplémentaire. businessinsights.bitdefender.com/…
ceejayoz
Connexes - AWS peut-il voir dans un compartiment privé ou doit-il être public pour qu'AWS puisse accéder aux fichiers qu'il contient?
Criggie
@Criggie AWS étant leur équipe de support? Ou autre chose?
ceejayoz
@ceejayoz oui l'équipe de support AWS.
Criggie
J'imagine qu'à un certain niveau de support, ils pourraient fouiller à l'intérieur, bien que S3 prenne en charge le cryptage avec une clé non Amazon. Leurs processus devraient s'assurer que ce n'est pas fait sans autorisation explicite, je pense.
ceejayoz

Réponses:

69

Oui, si vous savez ce que vous faites ( éditez: et tous les autres utilisateurs y ayant accès le font aussi ...), vous pouvez ignorer cet avertissement.

Il existe parce que même les grandes organisations qui devraient savoir devraient avoir accidentellement placé des données privées dans des compartiments publics. Amazon vous enverra également des e-mails de mise en garde si vous laissez les compartiments publics en plus des avertissements dans la console.

Les informations sur les électeurs et les informations militaires de Accenture, Verizon, Viacom, dans l'Illinois ont été découvertes par inadvertance laissées ouvertes à tout le monde en ligne en raison de problèmes informatiques de la configuration des silos S3.

Si vous êtes absolument certain à 100% que tout ce qui se trouve dans le seau doit être public et que personne ne va y placer accidentellement des données privées (un site HTML statique est un bon exemple), laissez-le donc certainement public.

ceejayoz
la source
2
En pratique, vous n'êtes pratiquement jamais sûr à 100%, il est donc préférable de ne pas le faire.
Shadur
Il y a quelques mois à peine, le FBI ou la CIA ont laissé des données privées censées être sécurisées sur un S3 public. Je verrai si je peux trouver un lien vers l'article.
Reactgular
Voir ici: gizmodo.com/…
Reactgular
Bon père, pouvez-vous me guider comment autoriser spécifiquement uniquement mon site Web et mon application Android à pouvoir accéder aux objets de mon compartiment? En gros, je ne veux pas que les gens raclent le contenu de mon seau. Mais mon site Web et mon application devraient pouvoir les charger.
bad_keypoints
35

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

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 auquel il est autorisé à accéder .

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

Quentin Hayot
la source
2
CloudFlare fonctionne également et sera probablement encore meilleur marché.
chrylis -on strike-