我正在围绕使用 S3 进行一些研究。我想要实现的基本上是以与文件系统相同的方式控制对 S3 存储桶中对象的访问,但对于 IAM 联合用户。
让我们假设以下场景
Bucket
|- File 1.txt -> ACL: Read: User1; Read: User 2
|- File 2.txt -> ACL: Read: Everyone; Read, Write: User 2
|- File 3.txt -> ACL: Read: Group 1; Read, Write: User 2
可以使用 ACL 和 Amazon“本机”用户和组来实现这种配置。另一方面,对于联合用户,我唯一能找到的就是生成具有分配存储桶策略的临时令牌。
如果我理解正确,存储桶策略与 ACL 的工作方式相反(定义用户有权访问哪些对象,而 ACL 定义谁有权访问该对象)
我的问题是。是否可以在 ACL 中分配联合用户(或以其他方式为联合用户实现相同的目标)?
我想在文件系统上实现相同的行为,在文件系统上您有用户在组中,并且在您标记哪些组可以访问它们的对象上
假设字段“x-amz-meta-seclevels”包含有权访问文件的组(Group1、Group2、admin3rdfloor),并附有提供的策略(这是不正确的,但我想描述一下我的想法) IAM 联合用户,我可以授予此用户访问在 x-amz-meta-seclevels 字段中包含 admin3rdfloor 值的所有文件的权限。
{
'Statement': [
{
'Sid': 'PersonalBucketAccess',
'Action': [
's3:GetObject'
],
'Effect': 'Allow',
'Resource': 'arn:aws:s3:::MyBucketName'
'Condition':{
'StringLike':{
's3:x-amz-meta-seclevels':'admin3rdfloor'
}
}
}
]
}
这是否可以通过任何方式实现?
提前感谢您的帮助!