Erreur « Impossible d'écrire le fichier à l'emplacement spécifié... AccessDenied » lors de la création d'un répertoire à l'aide d'AWS S3 et Flysystem
P粉147045274
P粉147045274 2024-01-06 11:44:49
0
1
619

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 ?

P粉147045274
P粉147045274

répondre à tous(1)
P粉541796322

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.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal