J'ai quelques difficultés à essayer de créer un répertoire sur AWS S3 à l'aide de Flysystem - je continue à recevoir AccessDenied
响应。我的存储桶具有所有公共访问权限 blocked
, mais la politique du bucket permet à l'utilisateur qui fait la demande de tout faire dessus :
{ "Version": "2008-10-17", "Id": "PolicyForCloudFrontPrivateContent", "Statement": [ { "Sid": "AllowCloudFrontServicePrincipal", "Effect": "Allow", "Principal": { "Service": "cloudfront.amazonaws.com" }, "Action": "s3:GetObject", "Resource": "arn:aws:s3:::my-local-bucket/*", "Condition": { "StringEquals": { "AWS:SourceArn": "arn:aws:cloudfront::***:distribution/***" } } }, { "Sid": "2", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::***:user/local" }, "Action": "s3:*", "Resource": "arn:aws:s3:::my-local-bucket/*" } ] }
Et ma local
Politique d'utilisation :
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:*", "s3-object-lambda:*" ], "Resource": "*" } ] }
Je peux télécharger des fichiers absolument sans problème - juste des répertoires, par exemple images/blog
等,我收到 LeagueFlysystemUnableToWriteFile::atLocation
exception et renvoie l'erreur suivante :
Error executing "PutObject" on "https://s3.eu-west-2.amazonaws.com/my-local-bucket/images/blog/"; AWS HTTP error: Client error: `PUT https://s3.eu-west-2.amazonaws.com/my-local-bucket/images/blog/` resulted in a `403 Forbidden` response: <?xml version="1.0" encoding="UTF-8"?> <Error><Code>AccessDenied</Code><Message>Access Denied</Message><RequestId>***(truncated...) AccessDenied (client): Access Denied - <?xml version="1.0" encoding="UTF-8"?> <Error><Code>AccessDenied</Code><Message>Access Denied</Message><RequestId>***</RequestId><HostId>***</HostId></Error>
Savez-vous ce qui a causé cela ?
Après quelques semaines à essayer de trouver la réponse, j'ai découvert que si je passe
visibility
作为private
par la configuration lors de la création du pilote s3, alors cela fonctionne comme prévu.