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
Ruby on rails 使用活动存储需要最严格的IAM(权限和存储桶)策略?_Ruby On Rails_Amazon Web Services_Amazon S3_Ruby On Rails 6_Rails Activestorage - Fatal编程技术网

Ruby on rails 使用活动存储需要最严格的IAM(权限和存储桶)策略?

Ruby on rails 使用活动存储需要最严格的IAM(权限和存储桶)策略?,ruby-on-rails,amazon-web-services,amazon-s3,ruby-on-rails-6,rails-activestorage,Ruby On Rails,Amazon Web Services,Amazon S3,Ruby On Rails 6,Rails Activestorage,使用Active Storage设置工作应用程序以与Amazon S3配合使用所需的最小/最严格的权限集是什么 从一些不太好的东西开始:AmazonS3FullAccess 从技术上讲,这是可行的,但这是非常糟糕的做法,因为IAM现在拥有完全访问权限(即它可以做任何事情),并允许访问帐户上的所有存储桶,包括那些与应用程序无关的存储桶!所以我们可以说这不符合 问题: 使用AWS的JSON格式,允许活动存储正常运行(即上传、读取、删除图像等)的最严格IAM策略是什么。或者换句话说,提到的权限: 活

使用Active Storage设置工作应用程序以与Amazon S3配合使用所需的最小/最严格的权限集是什么

从一些不太好的东西开始:
AmazonS3FullAccess

从技术上讲,这是可行的,但这是非常糟糕的做法,因为IAM现在拥有完全访问权限(即它可以做任何事情),并允许访问帐户上的所有存储桶,包括那些与应用程序无关的存储桶!所以我们可以说这不符合

问题: 使用AWS的JSON格式,允许活动存储正常运行(即上传、读取、删除图像等)的最严格IAM策略是什么。或者换句话说,提到的权限:

活动存储的核心功能需要以下权限:
s3:ListBucket
s3:PutObject
s3:GetObject
s3:DeleteObject

就这个问题而言,请假设应用程序只使用一个名为
mybucket

到目前为止我所知道的 在谷歌搜索/阅读了很多文档之后,我发现很多“示例”没有明确地将S3权限映射到确切的ActiveStorage需求。在任何情况下,我发现最好的:

{
“版本”:“2012-10-17”,
“声明”:[
{
“效果”:“允许”,
“操作”:[“s3:ListBucket”],
“资源”:[“arn:aws:s3:::mybucket”]
},
{
“效果”:“允许”,
“行动”:[
“s3:PutObject”,
“s3:GetObject”,
“s3:DeleteObject”
],
“资源”:[“arn:aws:s3:::mybucket/*”]
}
]
}
我可以确认它“有效”(rails应用程序可以“查看”图像、添加新图像和删除图像)

因为我在过去没有设置过很多次,所以我无法确认它是否像我希望的那样精致,或者是否缺少任何可能导致问题的东西


TL;DR,就在IAM策略之后,该策略允许使用活动存储的全部功能,仅此而已。

不知道如何在不影响功能的情况下获得更多限制。您已将其限制为仅针对您希望管理的bucket执行必要的操作。

不知道如何在不影响功能的情况下获得更多限制。您已将其限制为只对希望管理的存储桶执行必要的操作。@dbugger谢谢,很高兴知道。我在猜。如果你有信心,请回答,我会接受