Objectif: publier une page Web statique à l'aide d'AWS S3
Problèmes: accès refusé et erreurs 403
Je travaille sur ce problème depuis plusieurs heures maintenant. Après avoir regardé plusieurs tutoriels (comme celui ici: https://www.youtube.com/watch ? v = 4UafFZsCQLQ ), le déploiement d'une page Web statique sur AWS S3 a semblé assez facile. Cependant, je rencontre continuellement des erreurs "Accès refusé" en suivant les didacticiels et des erreurs 403 en essayant d'accéder à ma page.
403 Erreur lors du chargement de la page
Lors de l'affichage de ce que devrait être ma page Web statique ( http://watchyourinterest.live.s3-website.us-east-2.amazonaws.com ), je reçois un Erreur 403 (voir l'image ci-dessus). C'est après avoir ajouté la stratégie de compartiment suivante:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "PublicReadGetObject", "Effect": "Allow", "Principal": "*", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::watchyourinterest.live/*" } ] }
J'ai également changé tous les paramètres d'accès public des autorisations sur False (juste pour m'assurer que rien ne devrait restreindre cela, bien que je prévois de les changer pour ce qu'ils devraient être plus tard une fois que cela fonctionne).
Je me suis également assuré de définir correctement le document d'index sur ma page index.html et de définir correctement le document d'erreur sur mon fichier error.html .
Lors de la visualisation des didacticiels, il semble que cela devrait rendre ma page bonne à parcourir. Cependant, comme je l'ai déjà dit, j'obtiens toujours les erreurs 403. Après réflexion, j'ai essayé de définir l'accès public à tout le monde pour tous les fichiers, mais chaque fois que j'essaie de cliquer sur la sélection de tout le monde, j'obtiens une erreur qui dit «accès refusé».
Tentative de définition du fichier en accès public
Erreur d'accès refusé lorsque je tente de définir l'accès public ... p >
De même, la même chose se produit lorsque je clique sur des fichiers individuellement et que je prends des mesures sur eux d'une manière différente, comme on le voit ci-dessous:
Accès refusé à nouveau en essayant de rendre public
Sur la page principale qui répertorie tous mes buckets, je reçois également ceci état "Access" étrange de mon bucket, lorsque je souhaite qu'il soit public au lieu de ceci:
"Accéder" à l'état du bucket, JE VEUX QUE CELA SOIT PUBLIC
Toute aide serait grandement appréciée !!
3 Réponses :
Je pense qu'il vous manque peut-être l'opération de liste, essayez
{ "Version": "2012-10-17", "Statement": [ { "Sid": "PublicListObject", "Effect": "Allow", "Principal": "*", "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::watchyourinterest.live" }, { "Sid": "PublicReadGetObject", "Effect": "Allow", "Principal": "*", "Action": ["s3:Get*","s3:List*"] "Resource": ["arn:aws:s3:::watchyourinterest.live/*","arn:aws:s3:::watchyourinterest.live"] } ] }
Une autre suggestion est de rendre public acl sur cet objet. Essayez donc d'utiliser docs aws s3api put-object-acl --bucket MyBucket --key file.txt --acl public-read
La cause première du problème réside dans les paramètres d'accès public au niveau du bucket. Selon la capture d'écran, votre bucket permet uniquement aux utilisateurs autorisés d'accéder à tout ce qui se trouve dans votre bucket.
Les paramètres d'accès public bloquent l'accès même si vous avez donné l'accès à vos objets de compartiment via des stratégies de compartiment.
Pour résoudre le problème, veuillez modifier les paramètres d'accès public comme suit:
Cela devrait afficher l'accès pour ce bucket comme public.
Vous devriez maintenant pouvoir accéder à votre site Web avec un point de terminaison donné pour l'hébergement de site Web statique.
Merci pour ça. J'ai édité l'article, et vous pouvez voir que sur la base de la capture d'écran qui est maintenant incluse, je l'avais déjà comme ça avant, donc malheureusement ce n'est pas le problème.
@PatrickLymanOld J'ai vérifié votre capture d'écran. Non, ce n'est pas inclus. Sur la dernière capture d'écran, je peux toujours voir que le seau n'a accès qu'aux utilisateurs autorisés.
Cet accès est modifié avec la modification des paramètres d'accès public dans la console s3, où il vous suffit de sélectionner le compartiment et de modifier le paramètre d'accès public sur false.
Similaire à la réponse expliquée par @Sangam Belrose, mais à la place, cela DOIT ÊTRE APPLIQUÉ À L'ENSEMBLE DU COMPTE CONSOLE AWS. Lorsque ceux-ci ont été modifiés, je n'ai plus rencontré mes problèmes. Les images ci-dessous illustrent ceci:
Paramètres d'accès public du COMPTE
Tapez confirmer le moment où la fenêtre de confirmation de la boîte apparaît
Maintenant, voyez que si ceci ET les paramètres d'accès public du bucket sont correctement définis, ce bucket sera désormais public.
En jetant simplement ceci là-bas, ces ACL "cryptiques" sont définies ici aws.amazon.com/blogs/aws/...