Ruby on rails 为Rails用户确定AWS S3对象的范围
我有一个rails应用程序设置,带有Desive、AWS S3和Highcharts 目前用户可以登录并将文本文件上传到S3。Rails然后直接从AWS请求数据,并将其传递给Highcharts进行处理——生成一个漂亮的图形。然而,用户目前可以看到上传的每一条数据Ruby on rails 为Rails用户确定AWS S3对象的范围,ruby-on-rails,amazon-web-services,amazon-s3,Ruby On Rails,Amazon Web Services,Amazon S3,我有一个rails应用程序设置,带有Desive、AWS S3和Highcharts 目前用户可以登录并将文本文件上传到S3。Rails然后直接从AWS请求数据,并将其传递给Highcharts进行处理——生成一个漂亮的图形。然而,用户目前可以看到上传的每一条数据 我不知道如何在用户和他们各自上传的对象之间建立关系。在S3中“范围”数据的最佳方式是什么,这样用户只能看到他们上传的数据?我假设这是通过AWS ACL完成的?S3 bucket ACL设计用于控制对AWS帐户的bucket访问和整个匿
我不知道如何在用户和他们各自上传的对象之间建立关系。在S3中“范围”数据的最佳方式是什么,这样用户只能看到他们上传的数据?我假设这是通过AWS ACL完成的?S3 bucket ACL设计用于控制对AWS帐户的bucket访问和整个匿名请求,如文档所示。因此,我认为ACL不适合您的用例 一个更好的解决方案可能是。这里的想法是为应用程序中注册的每个帐户创建一个新的IAM用户。这可以通过编程轻松完成。然后,将bucket的名称空间沿某行拆分,可能是account\u id:
s3://mybucket/account1/
s3://mybucket/account2/
s3://mybucket/account3/
...
在创建帐户时,构造一个IAM策略,授予RW仅访问该帐户文件夹的权限
实际上,我还没有为您的用例尝试过这一点,但我相当有信心它会起作用。IAM也免费提供,一旦您弄清楚amazon资源是如何命名的,它的API就非常容易使用。更多详细信息参见。S3 bucket ACL设计用于控制对AWS帐户的bucket访问和整个匿名请求,如文档所示。因此,我认为ACL不适合您的用例 一个更好的解决方案可能是。这里的想法是为应用程序中注册的每个帐户创建一个新的IAM用户。这可以通过编程轻松完成。然后,将bucket的名称空间沿某行拆分,可能是account\u id:
s3://mybucket/account1/
s3://mybucket/account2/
s3://mybucket/account3/
...
在创建帐户时,构造一个IAM策略,授予RW仅访问该帐户文件夹的权限
实际上,我还没有为您的用例尝试过这一点,但我相当有信心它会起作用。IAM也免费提供,一旦您弄清楚amazon资源是如何命名的,它的API就非常容易使用。更多详细信息如下。S3是一个平面文件结构,因此是否可以像您提到的那样以编程方式断开名称空间?当然可以。它在技术上是扁平的,但IAM权限的行为似乎不是这样,而且与S3交互的大多数东西都将名称空间前缀视为文件夹。查看IAM Policys的一些工作示例。S3是一个平面文件结构,因此是否可以像您提到的那样以编程方式断开名称空间?当然可以。它在技术上是扁平的,但IAM权限的行为似乎不是这样,而且与S3交互的大多数东西都将名称空间前缀视为文件夹。查看IAM策略的一些工作示例。