OSS 保持ポリシーは、Write Once Read Many (WORM) 機能を使用して、リソース所有者を含むすべてのユーザーが、指定した期間バケット内のオブジェクトを削除または上書きできないようにします。 worm コマンドを実行して保持ポリシーを設定します。保持期間中は、オブジェクトのアップロードと読み取りのみ可能です。オブジェクトの変更や削除は、保持期間の終了後にのみ実行できます。
注意事項
-
必要な権限:保持ポリシーの作成には
oss:InitiateBucketWorm、ロックにはoss:CompleteBucketWorm、延長にはoss:ExtendBucketWorm、照会にはoss:GetBucketWorm、中止にはoss:AbortBucketWormの権限が必要です。詳細については、「RAM ユーザーへのカスタムポリシーのアタッチ」をご参照ください。 -
ossutil 1.6.16 以降では、ossutil コマンドを使用できます。 ossutil 1.6.16 より前のバージョンでは、お使いのオペレーティングシステムに対応するバイナリ名を使用する必要があります。詳細については、「ossutil コマンドリファレンス」をご参照ください。
-
WORM 機能のライフサイクルについては、「保持ポリシー」をご参照ください。
保持ポリシーの作成とロック
バケットの保持ポリシーを作成し、ロックして保護します。
-
保持ポリシーの作成
-
コマンド構文
ossutil worm init oss://BucketName daysパラメーター:
パラメーター
説明
BucketName
対象バケットの名前。
days
保持期間 (日数)。この期間中、バケット内のオブジェクトは変更または削除できません。
-
単位:日
-
有効な値:1~25550
-
-
例
examplebucket という名前のバケットの保持ポリシーを作成し、保持期間を 180 日に設定します。
ossutil worm init oss://examplebucket 180出力例:
init success,worm id is 581D8A7FFA064C80827CAB4076A93A78
-
-
保持ポリシーのロック
-
コマンド構文
ossutil worm complete oss://BucketName WormIdパラメーター:
パラメーター
説明
BucketName
対象バケットの名前。
WormId
ポリシー作成時に返された保持ポリシーID。
-
例
examplebucket バケットの保持ポリシーをロックします。
ossutil worm complete oss://examplebucket 581D8A7FFA064C80827CAB4076A93A78出力例:
0.073810(s) elapsed
-
保持期間の延長
保持ポリシーをロックすると、保持期間が終了するまでオブジェクトを変更または削除できません。必要に応じて期間を延長できます。
-
コマンド構文
ossutil worm extend oss://BucketName days WormId -
例
examplebucket の保持期間を 360 日に延長します。
ossutil worm extend oss://examplebucket 360 581D8A7FFA064C80827CAB4076A93A78出力例:
0.067810(s) elapsed
保持ポリシー設定の照会
既存の保持ポリシーの設定を照会します。
-
コマンド構文
ossutil worm get oss://BucketName -
例
examplebucket バケットの保持ポリシーを照会します。
ossutil worm get oss://examplebucketポリシーID、状態、保持期間、作成日時を示す出力例:
<WormConfiguration> <WormId>581D8A7FFA064C80827CAB4076A93A78</WormId> <State>Locked</State> <RetentionPeriodInDays>360</RetentionPeriodInDays> <CreationDate>2021-01-19T03:36:53.000Z</CreationDate> </WormConfiguration>
保持ポリシーの中止
保持ポリシーは、ロックされる前であれば中止できます。
-
コマンド構文
ossutil worm abort oss://BucketName -
例
examplebucket バケットに設定された保持ポリシーを中止します。
ossutil worm abort oss://examplebucket出力例:
0.067810(s) elapsed
共通オプション
別のリージョンのバケットにアクセスするには、 -e を使用してエンドポイントを指定します。 別の Alibaba Cloud アカウントが所有するバケットにアクセスするには、AccessKey ID には -i を、AccessKey secret には -k を使用します。
例えば、別の Alibaba Cloud アカウントが所有する、China (Hangzhou) リージョンのバケット「test」に保持ポリシーを作成する場合:
ossutil worm init oss://test -e oss-cn-hangzhou.aliyuncs.com -i yourAccessKeyID -k yourAccessKeySecret
詳細については、「共通オプション」をご参照ください。