Fehler „Datei am angegebenen Speicherort kann nicht geschrieben werden... Zugriff verweigert' beim Erstellen eines Verzeichnisses mit AWS S3 und Flysystem
P粉147045274
P粉147045274 2024-01-06 11:44:49
0
1
618

Ich habe einige Schwierigkeiten beim Versuch, mit Flysystem ein Verzeichnis auf AWS S3 zu erstellen – ich bekomme ständig AccessDenied 响应。我的存储桶具有所有公共访问权限 blocked, aber die Bucket-Richtlinie erlaubt dem Benutzer, der die Anfrage stellt, alles darauf zu tun:

{
    "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/*"
        }
    ]
}

Und meine local Benutzerrichtlinie:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:*",
                "s3-object-lambda:*"
            ],
            "Resource": "*"
        }
    ]
}

Ich kann Dateien absolut problemlos hochladen – nur Verzeichnisse, z. B. images/blog 等,我收到 LeagueFlysystemUnableToWriteFile::atLocation Ausnahme und wirft den folgenden Fehler aus:

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>

Wissen Sie, was es verursacht hat?

P粉147045274
P粉147045274

Antworte allen(1)
P粉541796322

经过几周的尝试寻找答案,我发现如果我在创建 s3 驱动程序时将 visibility 作为 private 并通过配置传递,那么它确实可以正常工作预计。

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage