2017-06-23 97 views
-1

我正在使用AWS S3桶来保存Java AWS Lambdas的配置文件。如何配置存储桶以仅允许访问任何lambda函数而没有其他内容?将AWS S3桶限制为仅允许Lambda访问

+0

一般来说,如果你想解决的AWS服务作为一个IAM政策主犯,那么你可以使用“服务”:“lambda.amazonaws.com”(或“s3.amazonaws.com”,“ec2.amazonaws.com”等)然而,在这种情况下,我认为这不是与Lambda服务相关的,而是假定您的Lambda函数正在运行的IAM角色,因为它是从S3存储桶检索配置的被调用的Lambda函数本身(推测)。 – jarmod

回答

0

您需要在区域us-east-1添加S3存储策略帐户123456789012 -

{ 
    "Id": "Policy1498253351771", 
    "Version": "2012-10-17", 
    "Statement": [ 
     { 
      "Sid": "Stmt1498253327847", 
      "Action": [ 
         "s3:GetObject", 
         "s3:PutObject" 
        ], 
      "Effect": "Allow", 
      "Resource": "arn:aws:s3:::<bucket_name>/<prefix>", 
      "Principal": { 
      "AWS": [ 
       "arn:aws:lambda:us-east-1:123456789012:function:*" 
       ] 
      } 
     } 
    ] 
} 

以上就是对所有的lambda函数的一般政策。

如果你需要生成一个更细化的政策,按您的用例,你可以尝试AWS Policy Generator

+1

显示的策略允许持有者针对us-east-1中的AWS账户123456789012中的所有Lambda函数调用所有Lambda API。它不能帮助任何Lambda函数从S3中检索对象,或者阻止非Lambda函数从S3存储桶中检索对象。 – jarmod

+1

@jarmod,我已经把一个通用的,以便它可以作为参考,而从我分享的链接生成一个政策。我已根据您的建议更新了我的政策,请审核。谢谢- – tom

相关问题