Amazon S3でGetSessionToken/GetFederationTokenで一時セッションを使用していますが、各ユーザーがバケットを使用して書き込みを設定すると思っていたため、アップロード)の権限を各ユーザーに割り当てることができますが、Amazonアカウントごとにバケットの数に制限があるので、私はそのアイデアを断念しています。Amazon S3パーミッション
アップロードを許可するオブジェクトのキーのプレフィックスがアップロードされる場合にのみ、公開を許可してアップロードするなどのアクセス許可を設定するにはどうすればよいですか。
たとえば、ユーザー名Xがファイルをアップロードする場合、そのキーはX_filenameのようにする必要があります。
その他の方法でセキュリティを確保することができます。これはモバイルアプリ向けのもので、ファイルをアップロードするときに私たちのサーバーを通過するのは嫌です。
編集:
私は、以下のポリシーにGetFederationToken操作を試してみた
"{
"Statement":[{
"Effect":"Allow",
"Action":["s3:PutObject","s3:GetObject","s3:GetObjectVersion",
"s3:DeleteObject",\"s3:DeleteObjectVersion"],
"Resource":"arn:aws:s3:::user.uploads/john/*"
}
]
}"
私はセッションでのバケットS3上user.uploadsとフォルダジョン
しかし、任意のアップロードを持っていますキーjohn/filenameでバケットuser.uploadsへのアクセスが拒否され、アクセスが拒否されました "
これは動作しますが、すべてを確認する必要があります。たとえば、ポリシーが間違っている可能性があります。 - 内部テストのために広く開いてから、狭めてください。また、iOSからamazon S3へのすべての呼び出しは、あなたが戻ってきた連合トークンを使用する必要があります。 –