AWS Configのログ配信用S3バケットでオブジェクトロックを有効化した際にはまった点について

記事タイトルとURLをコピーする

この記事は約3分で読めます。

こんにちは!!流川です。

今回は、AWS Configの監査ログ配信用S3バケットでオブジェクトロックを有効化した際にはまった点について、ブログにまとめます。

オブジェクトロックとは

Amazon S3のオブジェクトロックは、保存したデータ(オブジェクト)を一定期間または無期限に変更や削除から保護するための機能です。 この機能は、以下のような場面で活用されます。

  • 規制要件への対応

    • 法令や規制に基づいてデータを一定期間保管する必要がある場合、オブジェクトロックを有効化することで要件に準拠した運用が可能となります。
  • ランサムウェア対策

    • データを保護することで、不正な変更や削除からオブジェクトを守ります。
  • 誤操作によるデータ損失の防止

    • ユーザーやアプリケーションによる意図しない削除や変更を防ぎます。

オブジェクトロックの機能

オブジェクトロックには以下の機能があります。

リテンションモード

オブジェクトに対する保持ポリシーを定義します。 コンプライアンスモードやガバナンスモードが選択可能です。 詳細については以下のご確認をお願いいたします。

docs.aws.amazon.com

リーガルホールド

リテンションモードとは違い、オブジェクトを有効期限なくロックする機能となります。 詳細については以下のご確認をお願いいたします。

docs.aws.amazon.com

はまったポイント

AWS Configの監査ログ配信用に設定したS3バケットのオブジェクトロックが有効になっている場合、ログデータの配信が失敗しました。 なぜ失敗したのでしょうか。

AWS仕様の確認

公式ドキュメントを確認すると、AWS Configはオブジェクトロックが有効になっているS3バケットへの配信をサポートしていないと明記されておりました。 仕様上の問題で失敗していたようです。

AWS Config does not support the delivery channel to an Amazon S3 bucket where object lock is enabled with default retention enabled.

docs.aws.amazon.com

和訳:

AWS Configは、デフォルトの保持期間が有効化されたオブジェクトロックが有効になっているAmazon S3バケットへの配信チャネルをサポートしていません。

対応方法

では、対応方法を見ていきましょう。

仕様上の問題でオブジェクトロックは利用不可ですのでAWS Configの配信用として利用するS3バケットでは、オブジェクトロックを無効とします。 他機能向けのバケット(下記はCloudTrailとして記載)でデータ削除不可の要件があるバケットを作成する際は、有効化できるようバケットを分けておきます。

無事、ログ配信可能な構成となりました。

おわりに

以上、AWS Configのログ配信用S3バケットでオブジェクトロックを有効化した際にはまった点についてでした。 今回の経験から、システム全体の運用を考える際には、各AWSサービスの仕様や制約を十分に把握し、用途ごとに適切なS3バケットの設定を行うことが重要だと実感しました。 本記事が皆さまのお役に立つと幸いです。

流川スィーナ(記事一覧)

カスタマーサクセス部 CS3課