代码之家  ›  专栏  ›  技术社区  ›  user1578872

AWS S3-通过URL访问EC2的公共文件

  •  0
  • user1578872  · 技术社区  · 3 年前

    我使用AWS S3存储pdf文件、文档和其他文件,并在EC2上运行我的后端java应用程序和前端react应用程序。 我的要求,

    1. EC2后端应用程序应该可以使用API或Java客户端访问用于放置和获取对象的S3存储桶
    2. EC2前端应用程序应该能够使用S3 URL访问对象
    3. EC2后端应用程序应该能够使用S3 URL访问对象

    添加了IAM策略,以获得对S3存储桶的EC2实例访问,并使用API实现put和get。 对于,使用S3 URL访问对象,启用了pUblic访问,但仅限于前端域,因此没有其他人可以直接访问URL,并且只能通过前端访问。

    {
        "Version": "2012-10-17",
        "Id": "http referer policy example",
        "Statement": [
            {
                "Sid": "Allow get requests originating from www.example.com and example.com.",
                "Effect": "Allow",
                "Principal": "*",
                "Action": "s3:GetObject",
                "Resource": "arn:aws:s3:::bucket-uat/*",
                "Condition": {
                    "StringLike": {
                        "aws:Referer": [
                            "http://www.example.com:9000/*",
                        ]
                    }
                }
            }
        ]
    }
    

    这正在按预期进行。现在,我只能在前端应用程序中使用S3 URL访问文件,而不能在前端应用软件之外访问。

    现在,我需要EC2实例也使用URL访问S3对象。不确定,如何在此策略中添加EC2实例访问权限。我的EC2实例数可以从2更改为5.6,。。。。所以我想让它通用,这样我当前和未来的所有后端EC2实例都可以通过URL访问。

    0 回复  |  直到 3 年前