Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 如何在无需登录的情况下访问S3 bucket cli_Amazon Web Services_Amazon S3_Amazon Iam_Web Hosting - Fatal编程技术网

Amazon web services 如何在无需登录的情况下访问S3 bucket cli

Amazon 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

我想创建一个bucket,在特定IP范围内的用户无需登录即可访问它。因此,这些用户应该能够在不登录的情况下将文件自由上传到该bucket。我想使用用户提供的S3文件链接从lambda访问这些文件

我试图在添加IP限制之前,首先允许任何人在不登录的情况下访问bucket


我公开了这一政策:

{
    "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刚刚上传的对象。