8

環境

私は、マシンにファイル dump.rdb を正時に s3/blahblahblah/YEAR-MONTH-DAY-HOUR.rdb にアップロードさせたいと考えています。

したがって、このマシンには新しいファイルを S3 にアップロードする機能が必要です。

ただし、このマシンに (1) 既存のファイルを削除する、または (2) 既存のファイルを上書きする機能を持たせたくありません。

ある意味では、「追加」することしかできません。つまり、新しいオブジェクトを追加することしかできません。

質問:

このような S3 セットアップを構成する方法はありますか?

ありがとう!

4

3 に答える 3

5

まだコメントできないので、@Viccari の回答を改良します...

この答えは、要件の 1 番にしか対応しておらず、2 番には対応していないため、誤解を招く可能性があります。実際、バージョン管理を有効にすることはできますが、どちらの方法を使用しても、既存のファイルの上書きを防ぐことはできないようです。ここを参照してください: Amazon S3 ACL for read-only and write-once access .

ファイル名にタイムスタンプを追加したため、多かれ少なかれ問題を回避できました。(タイムスタンプ、UUID、ハッシュなど、各ファイルの「バージョン」をファイル名にエンコードする他のスキームにも同じことが当てはまります。) ただし、完全に保護されているわけではないことに注意してください。コードにバグがあるか、同じ時間に 2 回アップロードすると、ファイルが上書きされます。

于 2013-09-03T08:19:10.173 に答える
1

はい、可能です。バケットとそのコンテンツに権限を追加するには、バケット ポリシーバケット ACL
の 2 つの方法があります。バケット ポリシーを使用することで、目的を達成できます。一方、バケット ACL では、「削除」権限を与えずに「作成」権限を与えることはできません。

1-バケット ポリシー: バケット ポリシー
を作成して (ここでいくつかの一般的な例を参照してください)、たとえば、特定の IP アドレスに特定の権限を持たせることができます。
たとえば、 を許可して を許可s3:PutObjectしないことができs3:DeleteObjectます。
バケット ポリシーの S3 アクションの詳細については、こちらを参照してください。

2 バケット ACL:
バケット ACL を使用すると、完全な「書き込み」権限のみを付与できます。つまり、特定のユーザーがファイルを追加できる場合、ファイルを削除することもできます。

于 2012-07-01T03:15:12.970 に答える
-1

これは不可能です!S3 はキー/値ストアであるため、本質的に追加のみをサポートしていません。S3 への PUT/cp コマンドは、常にファイルを上書きできます。バケットでバージョン管理を有効にすることで、ファイルをアップロードするアカウントが危険にさらされても安全です。

于 2017-05-22T15:07:56.910 に答える