Skip to main content
How to enable StorageGRID in your environment
日本語は機械翻訳による参考訳です。内容に矛盾や不一致があった場合には、英語の内容が優先されます。

オブジェクトロックを使用したランサムウェア対策

共同作成者

StorageGRIDのオブジェクトロックがWORMモデルを提供してデータの削除や上書きを防止する方法や、それが規制要件をどのように満たしているかをご紹介します。

オブジェクトロックは、オブジェクトが削除または上書きされないようにするWORMモデルを提供します。StorageGRIDではオブジェクトロックを実装すること "Cohasset評価済み" で、規制要件への対応を支援し、オブジェクト保持のリーガルホールド、コンプライアンスモード、ガバナンスモード、およびデフォルトのバケット保持ポリシーをサポートします。オブジェクトロックは、バケットの作成およびバージョン管理の一環として有効にする必要があります。オブジェクトの特定のバージョンがロックされ'バージョンIDが定義されていない場合は'オブジェクトの現在のバージョンに保持が適用されます現在のバージョンに保持が設定されていて、オブジェクトを削除、変更、または上書きしようとすると、削除マーカーまたはオブジェクトの新しいリビジョンを現在のバージョンとして使用して新しいバージョンが作成されます。 ロックされたバージョンは、最新でないバージョンとして保持されます。まだ互換性がないアプリケーションでは、オブジェクトロックとバケットに配置されたデフォルトの保持設定を使用できます。設定の定義が完了すると、バケットに追加される新しいオブジェクトごとにオブジェクト保持期間が適用されます。これは、保持期間が経過する前にオブジェクトを削除または上書きしないようにアプリケーションが設定されているかぎり機能します。

オブジェクトロックAPIの使用例を次に示します。

オブジェクトロックリーガルホールドは、オブジェクトに適用される単純なオン/オフステータスです。

aws s3api put-object-legal-hold --bucket mybucket --key myfile.txt --legal-hold Status=ON --endpoint-url https://s3.company.com

リーガルホールドステータスを設定しても値は返されないため、GET処理で確認できます。

aws s3api get-object-legal-hold --bucket mybucket --key myfile.txt --endpoint-url https://s3.company.com
{
    "LegalHold": {
        "Status": "ON"
    }
}

リーガルホールドをオフにするには、オフステータスを適用します。

aws s3api put-object-legal-hold --bucket mybucket --key myfile.txt --legal-hold Status=OFF --endpoint-url https://s3.company.com
aws s3api get-object-legal-hold --bucket mybucket --key myfile.txt --endpoint-url https://s3.company.com
{
    "LegalHold": {
        "Status": "OFF"
    }
}

オブジェクトの保持期間の設定には、タイムスタンプまで保持が適用されます。

aws s3api put-object-retention --bucket mybucket --key myfile.txt --retention '{"Mode":"COMPLIANCE", "RetainUntilDate": "2022-06-10T16:00:00"}'  --endpoint-url https://s3.company.com

繰り返しになりますが、成功した場合も戻り値はありません。そのため、GET呼び出しを使用して保持ステータスを同様に確認できます。

aws s3api get-object-retention --bucket mybucket --key myfile.txt  --endpoint-url https://s3.company.com
{
    "Retention": {
        "Mode": "COMPLIANCE",
        "RetainUntilDate": "2022-06-10T16:00:00+00:00"
    }

オブジェクトロックが有効なバケットにデフォルトの保持期間を設定すると、保持期間(日と年)が使用されます。

aws s3api put-object-lock-configuration --bucket mybucket --object-lock-configuration '{ "ObjectLockEnabled": "Enabled", "Rule": { "DefaultRetention": { "Mode": "COMPLIANCE", "Days": 1 }}}' --endpoint-url https://s3.company.com

これらの処理のほとんどと同様に、成功した場合も応答が返されないため、設定を検証するGETを実行できます。

aws s3api get-object-lock-configuration --bucket mybucket --endpoint-url https://s3.company.com
{
    "ObjectLockConfiguration": {
        "ObjectLockEnabled": "Enabled",
        "Rule": {
            "DefaultRetention": {
                "Mode": "COMPLIANCE",
                "Days": 1
            }
        }
    }
}

次に、保持設定を適用した状態でバケットにオブジェクトを配置します。

aws s3 cp myfile.txt s3://mybucket --endpoint-url https://s3.company.com

PUT処理で応答が返されます。

upload: ./myfile.txt to s3://mybucket/myfile.txt

保持オブジェクトでは、上記の例でバケットに設定されている保持期間がオブジェクトの保持タイムスタンプに変換されます。

aws s3api get-object-retention --bucket mybucket --key myfile.txt --endpoint-url https://s3.company.com
{
    "Retention": {
        "Mode": "COMPLIANCE",
        "RetainUntilDate": "2022-03-02T15:22:47.202000+00:00"
    }
}