S3 Richtlinie zu Ermöglichen, Lambda

Habe ich die folgende Richtlinie auf ein S3 bucket erstellt mit dem AWS policy generator ermöglichen eine lambda, läuft mit einer bestimmten Rolle Zugriff auf die Dateien im Eimer sind. Wenn ich allerdings führen die Lambda, bekomme ich 403 permission denied:

"errorMessage": "Access Denied (Service: Amazon S3; Status Code: 403; Error Code: AccessDenied; Request ID: <requestId>)",
  "errorType": "com.amazonaws.services.s3.model.AmazonS3Exception",

Die Politik auf den S3-bucket:

{
"Version": "2012-10-17",
"Id": "Policy<number>",
"Statement": [
    {
        "Sid": "Stmt<number>",
        "Effect": "Allow",
        "Principal": {
            "AWS": "arn:aws:iam::<account>:role/<roleName>"
        },
        "Action": "s3:*",
        "Resource": "arn:aws:s3:::<bucketName>/*"
    }
]
}

Was ist Los mit der Politik? Die Lamba ausgeführt wird, mit der Rolle, die in der Richtlinie festgelegt.

Beginnen werde ich mit Erstens ändern diese Politik zu geben, alle Berechtigungen für alle .. im Grunde entfernen AUFTRAGGEBER und bucketname.. das wird Ihnen sagen, wenn das problem in Ihrem s3-Richtlinie oder mit lambda.
Warum nicht fügen Sie den S3-bucket-Berechtigungen, um die IAM-Rolle zugeordnet sind, die Lambda-Funktion, anstatt zu versuchen, diese durch einen Eimer Politik?
Was machst du, um den Eimer, von Lambda? Einige Aktionen erfordern die Ressource auszuschließen /* am Ende, andere brauchen es enthalten: "Resource": [ "arn:aws:s3:::<bucketName>", "arn:aws:s3:::<bucketName>/*" ]

InformationsquelleAutor FiguringThisOut | 2017-07-24

Schreibe einen Kommentar