Amazon web services 如何在无需登录的情况下访问S3 bucket cli
我想创建一个bucket,在特定IP范围内的用户无需登录即可访问它。因此,这些用户应该能够在不登录的情况下将文件自由上传到该bucket。我想使用用户提供的S3文件链接从lambda访问这些文件 我试图在添加IP限制之前,首先允许任何人在不登录的情况下访问bucketAmazon web services 如何在无需登录的情况下访问S3 bucket cli,amazon-web-services,amazon-s3,amazon-iam,web-hosting,Amazon Web Services,Amazon S3,Amazon Iam,Web Hosting,我想创建一个bucket,在特定IP范围内的用户无需登录即可访问它。因此,这些用户应该能够在不登录的情况下将文件自由上传到该bucket。我想使用用户提供的S3文件链接从lambda访问这些文件 我试图在添加IP限制之前,首先允许任何人在不登录的情况下访问bucket 我公开了这一政策: { "Version": "2012-10-17", "Statement": [ { &q
我公开了这一政策:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "PublicRead",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::my-public-bucket/*"
}
]
}
我还通过ACL向公众授予了写入bucket的权限:
现在,如果我试图以匿名方式访问指向bucket的链接(),我会得到以下结果: 我想我可以使用静态web托管url(),但那只是用来托管网站
我唯一的选择是创建新的IAM角色并将其凭据提供给用户吗?这是一种非常糟糕的用户体验,我想避免它。Amazon S3管理控制台需要很多权限才能“正确”工作,例如列出所有存储桶、列出存储桶等 如果您的目标是让特定用户访问bucket,首先考虑他们将如何访问bucket。如果他们将使流程自动化,那么使用AWS CLI是一个很好的选择,因为它可以很容易地编写脚本。此外,只需要特定的权限(例如
PutObject
)
使用AWS CLI确实需要AWS权限,该权限可以来自IAM用户(除非您与组织外的人有持续的关系,否则不建议他们使用),也可以使用您自己的后端应用程序生成的临时凭据(这将对它们进行身份验证,然后生成临时AWS凭据)
如果AWS CLI对这些用户来说过于“不友好”,那么CyberDuck等实用程序可以为S3提供一个熟悉的拖放界面。但是,它需要与AWS CLI相同的凭据
您可以提供对bucket的匿名访问限制在IP地址范围内,但他们需要通过直接发送到bucket进行交互,可能是通过您提供给他们的网站。这是因为所有API调用都需要经过身份验证。您能让他们使用FTP类型的应用程序,如Cloudberry或WinSCP ins吗tead?您只需输入一次凭据,然后使用面向文件的UI进行文件传输。我真的不想离开aws。使用aws不可能做到这一点吗?您是建议匿名文件上载,还是建议您有一个前端应用程序,该应用程序应该能够在用户没有IAM凭据的情况下上载?我想支持匿名文件上载。我想不是支持his,但我看不到任何关于启用它的文档。不要使用ACL,只使用S3策略。您的bucket策略(如所述)允许未经验证的用户获取rqa测试bucket中的所有对象,但当前不允许他们列出bucket。是的,您可以支持未经验证的上传到S3-这不是一个很好的安全性当然,你可以练习,但如果绝对需要的话,你可以这样做。请注意,这样做允许用户B覆盖用户A刚刚上传的对象。