Question

J'ai une route dans ma config qui dit que pour une page, par exemple /secure, il y a une connexion nécessaire (fait par authlogic). Un before_filter dans mon contrôleur prend de ces soins. Cela fonctionne très bien, la page et ses ressources ont limité l'accès -. Par l'application

Le problème est, nous utilisons Amazon S3 pour le stockage sur cette application (basée sur refinerycms) déployée à Heroku. J'ai un seau et il fonctionne très bien.

Cependant, toute ressource insérée dans la partie sécurisée de l'application est directement accessible via le navigateur. En d'autres termes, la page /secure contient des éléments tels que les fichiers PDF. Bien que grâce à l'application des ressources sont sécurisées, les fichiers PDF sont accessibles partout dans l'Internet (par exemple URL): http://s3.amazonaws.com/my_bucket/images/1234/the_file_which_should_be_secure.pdf

Puis-je faire un contrôle d'accès à grain fin sur S3? Est-ce que je dois créer un nouveau seau? Idéalement, je voudrais mettre un drapeau sur ma ressource qui le rend invisible dans Internet -. Je ne sais pas

Toute suggestion bienvenue.

P.S. openid.org a un cert ssl a expiré, si nécessaire pour créer un nouveau compte vide que je ne pouvais pas vous connecter

Était-ce utile?

La solution

La plus simple et la solution est plus facile juste pour nommer vos actifs S3 avec des noms de fichiers aléatoires, impossibles à deviner, et seulement exposer les URL secrètes aux personnes qui devraient avoir accès.

Voici comment les photos Facebook et de nombreux autres sites de travail (il n'y a pas la vie privée ou la sécurité au-delà de l'obscurité des noms de fichiers individuels).

Autres conseils

Vous pouvez essayer ce qui est dit sur cette page:

http://thewebfellas.com/blog/2009/ 8/29 / protection-vos-Paperclip-téléchargements

Les specficics sont sous la section "Plus le streaming, le temps pour une redirection".

Résumé:. S3 dispose de quatre politiques d'accès en conserve, à l'aide de la politique de lecture authentifiée S3 fournit un moyen de générer une URL authentifiée pour le contenu privé qui ne fonctionne que pour une période de temps spécifiée

Je ne l'ai pas vraiment fait cela, alors s'il vous plaît laissez-moi savoir si cela fonctionne pour vous. : -)

Si vous utilisez paperclip, vous pouvez restreindre l'accès aux objets stockés sur Amazon S3 par échéance url. (Si vous ne me dérange pas d'utiliser url expirant)

Voici le Wiki de thoughtbot / paperclip sur GitHub

https: // GitHub. com / thoughtbot / paperclip / wiki /-Access-la restriction à des objets stockés sur-Amazone S3

En outre, il y a quelques liens utiles en bas de cette page que vous ne voulez pas manquer.

Peut-être que je suis confus quant à ce que vous essayez d'accomplir, mais S3 a accès aux autorisations qui nécessitent une clé de chiffrement dans l'URL que vous fournissez à l'utilisateur. Lorsque vous utilisez la pierre précieuse aws-s3, cette option est activée par défaut. Par conséquent, vous ne devriez pas être en mesure d'accéder aux fichiers, à moins que l'utilisateur utilise le lien avec la clé cryptée intégrée en elle. Cela vous demandera de vous assurer que le fichier est réglé sur l'accès autorisé.

Plus d'informations peuvent être trouvées http://amazon.rubyforge.org/ sur la pierre précieuse. Recherchez la documentation relative au contrôle d'accès (je pense « authenticated_read » est ce que vous voulez).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top