2014-07-14 7 views
0

Quelle est la méthode appropriée pour déléguer l'authentification d'accès au fichier de S3 à notre service d'authentification? Par exemple: l'utilisateur du site Web (il possède notre identifiant de session dans les en-têtes) envoie une requête à S3 pour obtenir le fichier par url. S3 envoie une demande à notre service d'authentification demandant si un utilisateur avec de tels en-têtes peut accéder à ce fichier, et si notre service d'authentification autorise l'obtention de ce fichier, il sera téléchargé.Modèle d'authentification Amazon S3

Il y a beaucoup d'informations sur les requêtes prédéfinies mais absolument rien sur la requête s3 avec authentification "cachée".

Répondre

1

Si un fichier a été rendu public sur S3, alors bien sûr tout le monde peut le télécharger, en utilisant un lien direct vers le fichier.

Si le fichier n'est pas public, il doit y avoir un certain type d'authentification. Il n'y a vraiment que deux façons d'obtenir un fichier de S3 s'il n'est pas public, l'un via une URL pré-signée, et l'autre est un utilisateur Amazon qui a accès à S3. Évidemment, voici comment cela fonctionne lorsque vous voulez vous-même accéder à un objet sur S3, vous devez fournir votre clé d'accès et une signature dans l'en-tête de la requête GET. Vous pouvez autoriser d'autres utilisateurs à accéder à S3 via Amazon IAM, ce qui s'apparente davantage à l'authentification «cachée» que vous avez mentionnée. Via la route IAM, il existe différents moyens de fournir l'accès, y compris les utilisateurs fédérés. Visitez ce lien pour en savoir plus:

http://docs.aws.amazon.com/AmazonS3/latest/dev/MakingAuthenticatedRequests.html

Si vous essayez simplement de fournir un accès utilisateur authentifié à un fichier, le meilleur et le plus simple de le faire serait de créer une URL pré-signé avec un date d'expiration. L'heure d'expiration peut être courte, de 10 minutes ou même d'une minute, pour empêcher l'utilisateur de transmettre le lien à d'autres personnes.