Amazon web services 使用http代理集成从lambda访问s3 bucket的正确公共访问配置是什么?
我有一个s3存储桶,我想从lambda上传一个通过API调用的文件,但我不知道阻止s3存储桶的公共访问配置设置的正确配置是什么。现在,4个选项中没有一个被选中,并且它可以工作,但是考虑到安全方面,我不确定它是否可以工作 使用http调用将文件上载到s3时,策略桶、IAM角色和阻止公共访问的正确配置是什么Amazon web services 使用http代理集成从lambda访问s3 bucket的正确公共访问配置是什么?,amazon-web-services,amazon-s3,aws-lambda,amazon-iam,Amazon Web Services,Amazon S3,Aws Lambda,Amazon Iam,我有一个s3存储桶,我想从lambda上传一个通过API调用的文件,但我不知道阻止s3存储桶的公共访问配置设置的正确配置是什么。现在,4个选项中没有一个被选中,并且它可以工作,但是考虑到安全方面,我不确定它是否可以工作 使用http调用将文件上载到s3时,策略桶、IAM角色和阻止公共访问的正确配置是什么 谢谢 适当的配置是: Lambda函数IAM角色:允许s3:PutObject到s3://mybucket/myprefix/* Lambda函数:使用AWS SDK将PutObject调用到
谢谢 适当的配置是:
- Lambda函数IAM角色:允许s3:PutObject到s3://mybucket/myprefix/*
- Lambda函数:使用AWS SDK将PutObject调用到S3
S3存储桶策略和S3块公共访问设置在很大程度上与Lambda需求正交。在典型情况下,您应该使用标准的最佳实践:根本没有S3 bucket策略(除非您特别需要),并在帐户级别启用阻止公共访问(除非您特别需要bucket是公共的)。谢谢,我加入了这两个选项:-阻止通过新的公共bucket或访问点策略授予的对bucket和对象的公共访问-阻止通过任何公共bucket或访问点策略对bucket和对象的公共和跨帐户访问是否正确?否。这将允许单个对象具有公共读取ACL。只需勾选所有4项的顶级框,除非您有特定的理由不这样做。如果我想在网站中显示文件(图像),我应该勾选什么?我要说的第一件事是,理想情况下,您不应该在同一个桶中混合公共和非公共内容。如果您需要未经身份验证的用户可以在web上访问文件,那么您必须将对象公开—我个人会通过S3 bucket策略这样做。在这种情况下,您将无法阻止公共访问。如果文件要通过您编写的某些web应用程序提供,那么它们不必是公共的-webapp可以直接或通过预签名URL将其提供给经过身份验证的用户。