【发布时间】:2021-02-06 02:20:14
【问题描述】:
我们正在尝试实现 lambda 函数,该函数将根据源 S3 存储桶事件将对象从一个 S3 复制到跨账户中的另一个 S3 存储桶。目前我们能够在同一个 SAG 中的源和目标之间复制文件。但是当我们尝试用跨账户实现相同的逻辑时,得到 CopyObject operation: Access Denied 问题。我已经给出了以下存储桶策略。您能否帮我获取正确的 IAM 和存储桶策略来解决此问题。
{
"Version": "2012-10-17",
"Id": "Policy1603404813917",
"Statement": [
{
"Sid": "Stmt1603404812651",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::6888889898:role/Staff"
},
"Action": [
"s3:GetObject",
"s3:GetObjectAcl",
"s3:ListBucket",
"s3:PutObject",
"s3:PutObjectAcl"
],
"Resource": [
"arn:aws:s3:::source-bucktet-testing-lambda/*",
"arn:aws:s3:::source-bucktet-testing-lambda"
]
}
]
}
基于https://www.lixu.ca/2016/09/aws-lambda-and-s3-how-to-do-cross_83.html链接,是的,我们可以在源和目标的访问ID和访问密钥的帮助下实现相同的逻辑。但是我试图实现相同的逻辑,而不是源和目标的访问 ID 和访问密钥,使用适当的策略授予源和目标存储桶的访问权限,并使其像同一个帐户一样工作。
【问题讨论】:
-
什么是
SAG? -
此存储桶策略是应用于源存储桶还是目标存储桶?
Staff角色是否已分配给 Lambda 函数?请编辑您的问题以包含分配给该角色的权限。 -
SAG - 服务帐户组。每个团队都有各自的 SAG 帐户,拥有自己的权限。
-
此存储桶策略是应用于源存储桶还是目标存储桶?是否将 Staff 角色分配给 Lambda 函数? - 是的,这是应用于源存储桶的策略。
标签: amazon-web-services amazon-s3 aws-lambda amazon-iam