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
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
Du musst angemeldet sein, um einen Kommentar abzugeben.
Eine Rolle zugewiesen, um eine AWS Lambda-Funktion sollte erstellt eine AWS Lambda-Rolle (ausgewählt beim erstellen einer Rolle in der IAM-Konsole).
Rollen nicht ein AUFTRAGGEBER da die Berechtigungen zugewiesen werden, je nachdem, welcher Dienst (in diesem Fall Lambda-Funktion) ist mit der Rolle.
Außerdem sollten Sie Berechtigungen zuweisen, auf die Eimer selbst (z.B. zur Liste der Inhalte) und auf der Inhalt der Eimer (z.B. GetObject).
Es wäre so etwas wie dieses:
Die Befestigung der AmazonS3FullAccess Politik an der Rolle gearbeitet, auch für mich. Bitte posten Sie Ihre eigene Antwort, und markieren Sie es als Antwort akzeptiert!
InformationsquelleAutor John Rotenstein
Nachdem die loopfunktion ich, während ich es schaffen konnte, ist der Prozeß:
IAM-Richtlinie:
und ich verwenden Sie diese Richtlinie auf den s3-Bucket
<lambda-function-name>
, aber die Rolle, die Namen, oder in anderen Worten, nur die volle Rolle arn.InformationsquelleAutor Cristian Sepulveda