S3 Glacier Vault Lock の仕組みと活用方法を徹底解説

スポンサーリンク
Security Specialty
スポンサーリンク

はじめに

Amazon S3 Glacier Vault Lock(以下、Vault Lock)は、データの不変性を保証するセキュリティ機能です。

データの削除や改ざんを防ぐため、コンプライアンス要件や長期保存が求められる場面で利用されます。

本記事では、Vault Lockの概要、設定方法、運用上の注意点、そしてよくある質問への回答を交えながら解説します。

1. Vault Lock の基本概念

S3 Glacier Vault Lockは、データの保存ルールを定めるWORM(Write Once, Read Many)モデルを実現します。一度設定されたポリシーは確定後に変更不可能で、これによりデータの不変性が保証されます。

主な特徴

  • Vault単位で管理: Glacierでデータを保管する単位であるVaultにポリシーを適用します。
  • ポリシーの確定後は変更不可能: 設定ミスを防ぐために、ポリシーの検証期間が設けられています。
  • コンプライアンス対応: 金融、医療、監査分野で求められるデータ保持要件に適合します。

2. Vault Lock のユースケース

  • 法規制に基づくデータ保持
    • 金融機関や医療機関でデータを一定期間削除不可にする必要がある場合。
  • 監査要件の遵守
    • データの改ざんや削除が厳しく制限される場合。
  • データの長期保存
    • コンプライアンス要件のない企業でも、安全にデータを保存するために利用可能。

3. Vault Lock の設定手順

Vault Lockを設定する手順を以下に示します。

手順 1: Vaultを作成

AWS Management ConsoleまたはAWS CLIを使用してGlacier Vaultを作成します。

手順 2: Vault Lockポリシーの作成

Glacier Vaultに適用するポリシーを記述します。

例1:1年経過していないアーカイブの削除を禁止するポリシー

{
  "Version":"2012-10-17",
  "Statement": [
    {
      "Sid": "deny-based-on-archive-age",
      "Principal": "*",
      "Effect": "Deny",
      "Action": "glacier:DeleteArchive",
      "Resource": "arn:aws:glacier:region:account-id:vaults/examplevault",
      "Condition": {
        "NumericLessThan" : {
          "glacier:ArchiveAgeInDays" : "365"
        }
      }
    }
  ]
}

例2: データ削除を特定期日まで禁止するポリシー

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "PreventDeletion",
      "Effect": "Deny",
      "Principal": "*",
      "Action": "glacier:DeleteArchive",
      "Resource": "arn:aws:glacier:region:account-id:vaults/vault-name",
      "Condition": {
        "DateGreaterThan": {
          "aws:CurrentTime": "2025-01-01T00:00:00Z"
        }
      }
    }
  ]
}

手順 3: テストモードでポリシーを適用

Vault Lockポリシーを適用する前に、テストモードを使用して意図した動作を確認します。この段階では、ポリシーの動作が正しいかを検証できます。

CLIコマンド例:

aws glacier initiate-vault-lock \
  --account-id - \
  --vault-name my-vault \
  --policy file://vault-lock-policy.json

このコマンドを実行すると、Vault Lockはテストモードで適用されます。ポリシーが確定される前であれば、変更やキャンセルが可能です。

手順 4: 確定(Lock)

テストモードでポリシーが正常に動作していることを確認した後、Vault Lockポリシーを確定(Lock)します。この手順を完了すると、ポリシーは変更や削除ができなくなります。

CLIコマンド例: 確定

aws glacier complete-vault-lock \
  --account-id - \
  --vault-name my-vault \
  --lock-id <lock-id>
  • lock-id: 手順3(テストモード適用時)で取得したロックIDを指定します。
  • 確定が完了すると、ポリシーは適用され、不変となります。

4. Vault Lock の注意点

ポリシー確定後の取り戻しについて

  • **確定後の解除や変更は一切できません。**Vault Lockは、不変性を保証するため、この仕様を持っています。
  • テストモードや24時間のクールダウン期間中であれば、ポリシーを削除または変更できます

5. Vault Lock のよくある質問

Q1. Vault Lockの設定にはどれくらい時間がかかりますか?

ポリシーの確定には最大24時間のクールダウン期間があります。この期間中にポリシーを変更またはキャンセル可能です。

Q2. 確定後にVault Lockポリシーを解除する方法はありますか?

解除する方法はありません。確定後は変更や解除が不可能で、新しいVaultを作成する必要があります。

Q3. Vault Lockが適用されたVaultは削除できますか?

Vault内にデータが残っている場合、Vault自体を削除することはできません。
データの削除がVault Lockポリシーによって制限されている場合、その期間が終了するまで削除不可能です。

Q4. Vault LockポリシーはS3バケットにも影響しますか?

Vault LockはS3 Glacier Vaultに適用され、S3バケット全体には影響を与えません。ただし、バケットに保存されたGlacierデータの削除はVault Lockポリシーに従います。

6. まとめ

S3 Glacier Vault Lockは、データの不変性と長期的な安全性を保証する強力なセキュリティ機能です。

ただし、設定後の変更が不可能であるため、以下の点を事前に検討する必要があります:

  • ポリシーの十分なテストとレビュー
  • 誤った設定時のリスク管理(新しいVaultの作成など)

Vault Lockを活用すれば、コンプライアンスや監査要件を満たすだけでなく、データ管理における信頼性も向上します。

慎重な設計と運用で、そのメリットを最大限に活かしてください。

 

タイトルとURLをコピーしました