使用 Active Storage 需要最严格的 IAM(权限和存储桶)策略?
Strictest possible IAM (permissions and bucket) policy required to work with Active Storage?
设置使用 Active Storage 的工作应用程序以与 Amazon S3 一起工作需要哪些 smallest/strictest 权限集?
从不的事情开始:AmazonS3FullAccess
从技术上讲这是可行的,但是 非常 不好的做法,因为 IAM 现在具有 完全 访问权限(即它可以做任何事情)并提供访问帐户中的所有 个存储桶,包括那些与应用程序无关的存储桶!所以我们可以说这 不 遵守 Principle of Least Privilege
问题
使用 AWS 的 JSON 格式,允许 Active Storage 正常运行(即上传、读取、删除图像等)的最严格的 IAM 策略是什么?或者换句话说,提到的权限 here:
The core features of Active Storage require the following permissions: s3:ListBucket
, s3:PutObject
, s3:GetObject
, and s3:DeleteObject
.
就此问题而言,请假设该应用仅使用一个名为 mybucket
的存储桶
到目前为止我所知道的
在阅读了大量 googling/reading 文档之后,我发现 'examples' 大多没有明确地将 S3 权限映射到确切的 ActiveStorage 要求。无论如何,here 我发现的最好的:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": ["s3:ListBucket"],
"Resource": ["arn:aws:s3:::mybucket"]
},
{
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:GetObject",
"s3:DeleteObject"
],
"Resource": ["arn:aws:s3:::mybucket/*"]
}
]
}
我可以确认 'works'(rails 应用程序可以 'see' 图片、添加新图片和删除图片)。
因为我以前没有设置过很多次,所以我无法确认它是否像我想要的那样精致,或者是否缺少任何东西可能会导致问题。
TL;DR,就在 IAM 策略之后,允许使用 Active Storage 的全部功能,仅此而已。
看不出如何在不影响功能的情况下获得更多限制。您已将其限制为仅对您希望管理的存储桶执行必要的操作。
设置使用 Active Storage 的工作应用程序以与 Amazon S3 一起工作需要哪些 smallest/strictest 权限集?
从不的事情开始:AmazonS3FullAccess
从技术上讲这是可行的,但是 非常 不好的做法,因为 IAM 现在具有 完全 访问权限(即它可以做任何事情)并提供访问帐户中的所有 个存储桶,包括那些与应用程序无关的存储桶!所以我们可以说这 不 遵守 Principle of Least Privilege
问题
使用 AWS 的 JSON 格式,允许 Active Storage 正常运行(即上传、读取、删除图像等)的最严格的 IAM 策略是什么?或者换句话说,提到的权限 here:
The core features of Active Storage require the following permissions:
s3:ListBucket
,s3:PutObject
,s3:GetObject
, ands3:DeleteObject
.
就此问题而言,请假设该应用仅使用一个名为 mybucket
到目前为止我所知道的
在阅读了大量 googling/reading 文档之后,我发现 'examples' 大多没有明确地将 S3 权限映射到确切的 ActiveStorage 要求。无论如何,here 我发现的最好的:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": ["s3:ListBucket"],
"Resource": ["arn:aws:s3:::mybucket"]
},
{
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:GetObject",
"s3:DeleteObject"
],
"Resource": ["arn:aws:s3:::mybucket/*"]
}
]
}
我可以确认 'works'(rails 应用程序可以 'see' 图片、添加新图片和删除图片)。
因为我以前没有设置过很多次,所以我无法确认它是否像我想要的那样精致,或者是否缺少任何东西可能会导致问题。
TL;DR,就在 IAM 策略之后,允许使用 Active Storage 的全部功能,仅此而已。
看不出如何在不影响功能的情况下获得更多限制。您已将其限制为仅对您希望管理的存储桶执行必要的操作。