AWS 权限 - 我们是否需要在 Lambda 和 S3 上设置权限
AWS permissions - do we need to set permissions on both Lambda and S3
当我们希望一个Lamdba函数能够访问一个s3 bucket时,例如:
actions: ["s3:ListBucket", "s3:GetObject", "s3:PutObject", "s3:DeleteObject"]
将 S3 存储桶 ARN 和操作添加到 Lambda 上的 IAM 策略语句是否足够,或者我们是否需要向存储桶添加任何授予权限?
将策略附加到 Lambda 角色就足够了。
政策示例:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "ExampleStmt",
"Action": [
["s3:ListBucket", "s3:GetObject", "s3:PutObject", "s3:DeleteObject"]
],
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::AWSDOC-EXAMPLE-BUCKET/*"
]
}
]
}
如果 Lambda 与 S3 存储桶在同一个帐户中,您可以将其添加到 Lambda 的 IAM 角色。
如果它在单独的账户中,您需要将 Lambda 函数的 IAM 角色 Arn 添加为存储桶策略中的主体,然后将权限添加到 Lambdas IAM 角色。
当我们希望一个Lamdba函数能够访问一个s3 bucket时,例如:
actions: ["s3:ListBucket", "s3:GetObject", "s3:PutObject", "s3:DeleteObject"]
将 S3 存储桶 ARN 和操作添加到 Lambda 上的 IAM 策略语句是否足够,或者我们是否需要向存储桶添加任何授予权限?
将策略附加到 Lambda 角色就足够了。
政策示例:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "ExampleStmt",
"Action": [
["s3:ListBucket", "s3:GetObject", "s3:PutObject", "s3:DeleteObject"]
],
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::AWSDOC-EXAMPLE-BUCKET/*"
]
}
]
}
如果 Lambda 与 S3 存储桶在同一个帐户中,您可以将其添加到 Lambda 的 IAM 角色。
如果它在单独的账户中,您需要将 Lambda 函数的 IAM 角色 Arn 添加为存储桶策略中的主体,然后将权限添加到 Lambdas IAM 角色。