私は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'
}
}
}
]
}
これは何らかの方法で達成可能ですか?
事前に助けてくれてありがとう!