Ruby on rails 使用活动存储需要最严格的IAM(权限和存储桶)策略?
使用Active Storage设置工作应用程序以与Amazon S3配合使用所需的最小/最严格的权限集是什么 从一些不太好的东西开始: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策略是什么。或者换句话说,提到的权限: 活
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谢谢,很高兴知道。我在猜。如果你有信心,请回答,我会接受