2014-07-07 2 views
0

Merci de votre visite.Comment configurer la sécurité sur les fichiers Amazon S3 si j'ai activé une politique de sécurité CORS

Je suis nouveau sur Amazon S3 et j'ai mis en place un seau avec environ 100K fichiers. Je voudrais restreindre l'accès à ces fichiers d'un seul domaine, donc j'ai mis une politique CORS sur le seau:

<?xml version="1.0" encoding="UTF-8"?> 
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> 
    <CORSRule> 
     <AllowedOrigin>http://www.example.com</AllowedOrigin> 
     <AllowedMethod>GET</AllowedMethod> 
     <MaxAgeSeconds>3000</MaxAgeSeconds> 
     <AllowedHeader>Authorization</AllowedHeader> 
    </CORSRule> 
    <CORSRule> 
     <AllowedOrigin>http://www.example.com/*</AllowedOrigin> 
     <AllowedMethod>GET</AllowedMethod> 
     <MaxAgeSeconds>3000</MaxAgeSeconds> 
     <AllowedHeader>Authorization</AllowedHeader> 
    </CORSRule> 
</CORSConfiguration> 

Le problème

Même avec cette politique CORS place, je suis en mesure de entrer une URL de fichier individuel directement dans un navigateur et y accéder, il ne semble donc pas que la sécurité fonctionne.

Actuellement, la sécurité de chaque fichier dans S3 est définie sur "Tout le monde" pour l'autorisation de lecture. J'aurais supposé que le fichier CORS remplacerait cela. Si je supprime "Tout le monde" des autorisations, alors je ne peux pas accéder au fichier du tout (même avec la politique CORS en place).

Des idées?

Répondre

1

La configuration CORS sera utilisée uniquement pour indiquer au navigateur s'il peut envoyer des requêtes à ce domaine ou non, et avec quels en-têtes et méthodes. Cela n'aura aucun impact sur l'autorisation S3.

Vous pouvez générer des URL temporaires pré-signées pour des objets qui sont probablement mieux adaptés à la sécurité gérée par l'application.

Voir http://docs.aws.amazon.com/AmazonS3/latest/dev/ShareObjectPreSignedURLJavaSDK.html pour l'exemple Java SDK.

+0

Merci, c'est très utile. La pré-signature est-elle quelque chose qui ne doit être fait qu'une seule fois et stockée dans une base de données, ou doit-on le faire chaque fois qu'une page contenant des liens vers des fichiers S3 est demandée? Merci encore. –

+0

Chaque fois qu'une page est demandée contenant des liens vers des fichiers S3. C'est un contrôle de sécurité très simple et ne considère pas l'authentification, si cela est nécessaire, jetez un oeil à la fédération d'identité en utilisant les rôles IAM. –

+0

Merci beaucoup pour votre aide! –

Questions connexes