自分のWebサイトにアップロードフォームがあり、ログオンしている各ユーザーがビデオをアップロードできます。ビデオをアップロードするとき、私はランダムな名前でバケットに新しいフォルダーを生成し、このフォルダーにアップロードされたすべてのビデオが配置されます。どういうわけか、アップロードされたファイルへのアクセスを、ビデオをアップロードしたユーザーだけに制限したいと思います。提案されたアプローチは何ですか?
プログラムでIAM(AWS Identity and Access Management)ユーザーを作成できることを読みました。
「AWSIAMの概要」-ビデオでは、AWSリソースへのアクセスをすべてのIAMユーザーに制限できると述べています。
これは良いアプローチですか?
アプローチの私の考え:
さらに質問を:
Cognito Identity Poolは、このシナリオに最適です。承認された役割については、次のようなポリシーを指定します。
{
"Sid": "Access User-Specific Folder",
"Effect": "Allow",
"Action": "s3:PutObject",
"Resource": "arn:aws:s3:::YOUR-BUCKET-NAME/${cognito-identity.amazonaws.com:sub}/*"
}
これにより、ユーザーは、IDプール内の一意のIDと同じ名前を持つフォルダー内のオブジェクトのみに制限されます。この方法では、バケットを1つだけ使用します。
プログラムでユーザーごとにカスタムIAMロールを作成したり、ユーザーごとに異なるバケットを作成したりすることを検討している場合はいつでも、CognitoIdentityを使用することが答えです。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加