Object Storage Service (OSS) 保持ポリシーを設定して、WORM (Write Once Read Many) 機能を提供することで、バケット内のオブジェクトが、オブジェクト所有者を含む任意のユーザーによって特定の期間内に削除または上書きされるのを防ぐことができます。 この目標を達成するには、worm
コマンドを実行してバケットの保持ポリシーを設定します。 指定された保持期間が終了する前は、バケットにオブジェクトをアップロードするか、バケットからオブジェクトを読み取ることしかできません。 オブジェクトを変更または削除できるのは、保持期間が終了した後のみです。
使用上の注意
保持ポリシーを作成するには、
oss:InitiateBucketWorm
権限が必要です。 保持ポリシーをロックするには、oss:CompleteBucketWorm
権限が必要です。 保持ポリシーの保持期間を延長するには、oss:ExtendBucketWorm
権限が必要です。 保持ポリシーを照会するには、oss:GetBucketWorm
権限が必要です。 ロック解除された保持ポリシーを削除するには、oss:AbortBucketWorm
権限が必要です。 詳細については、「RAMユーザーへのカスタムポリシーのアタッチ」をご参照ください。ossutil 1.6.16以降の場合、コマンドラインでossutilをバイナリ名として直接使用できます。 オペレーティングシステムに基づいてバイナリ名を更新する必要はありません。 1.6.16より前のossutilの場合、オペレーティングシステムに基づいてバイナリ名を更新する必要があります。 詳細は、「ossutilコマンドリファレンス」をご参照ください。
保持ポリシーの詳細については、「保持ポリシー」をご参照ください。
保持ポリシーの作成とロック
保持ポリシーを使用してバケット内のオブジェクトを保護するには、保持ポリシーを作成してロックする必要があります。
保持ポリシーを作成します。
コマンド構文
ossutil worm init oss:// BucketName days
次の表に、上記のパラメーターを示します。
パラメーター
説明
BucketName
保持ポリシーを設定するバケットの名前。
日
保持ポリシーで構成するオブジェクトの保持期間。 保持期間中、バケット内のオブジェクトは変更または削除できません。
単位:日
有効な値: 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ワームextend oss:// BucketName days WormId
例
次のコマンドを実行して、examplebucketという名前のバケット内のオブジェクトの保持期間を360日に延長します。
ossutil worm extend oss://examplebucket 360 581D8A7FFA064C80827CAB4076A93A78
同様の出力が表示される場合、保存期間は360日に延長されます。
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
一般的なオプション
ossutilを使用して別のリージョンにあるバケットに切り替える場合は、-eオプションを追加して、バケットが配置されているリージョンのエンドポイントを指定します。 ossutilを使用して別のAlibaba Cloudアカウントに属するバケットに切り替える場合、-iオプションを追加して指定されたアカウントのAccessKey IDを指定し、-kオプションを追加して指定されたアカウントのAccessKey secretを指定します。
たとえば、次のコマンドを実行して、中国 (杭州) リージョンにあり、別のAlibaba Cloudアカウントが所有するtestという名前のバケットの保持ポリシーを作成できます。
ossutil worm init oss:// test -e oss-cn-hangzhou.aliyuncs.com -i LTAI4Fw2NbDUCV8zYUzA **** -k 67DLVBkH7EamOjy2W5RVAHUY9H ****
共通オプションの詳細については、「共通オプション」をご参照ください。