Amazon Macie による機密データの自動検出 - S3 バケットの PII スキャンとデータ保護

Amazon Macie による S3 バケット内の機密データ (PII、金融情報、認証情報) の自動検出と、検出結果に基づくデータ保護戦略を解説します。

Macie の機能と検出対象

Macie は S3 バケット内のデータを自動的にスキャンし、機密データの所在を可視化するサービスです。検出対象は、個人識別情報 (氏名、住所、電話番号、メールアドレス、マイナンバー)、金融情報 (クレジットカード番号、銀行口座番号)、認証情報 (AWS アクセスキー、SSH 秘密鍵、パスワード)、医療情報 (保険番号) など、100 種類以上のデータタイプに対応しています。検出には機械学習モデルとパターンマッチング (正規表現) の両方を使用し、コンテキストを考慮した高精度な検出を実現します。例えば「12 桁の数字列」を単純にマッチさせるのではなく、周辺テキストに「カード番号」「有効期限」などの近接キーワードが存在するかを評価し、誤検出率を低く保っています。

スキャン設計とカスタムデータ識別子

Macie のスキャンジョブは、対象バケット、スキャン頻度 (ワンショットまたは定期)、サンプリング深度を設定して実行します。全オブジェクトのスキャンはコストが高いため、まずサンプリング (例: 10%) でスキャンし、機密データが検出されたバケットに対してフルスキャンを実行する段階的なアプローチが有効です。カスタムデータ識別子では、正規表現と近接キーワードを組み合わせて独自の検出パターンを定義できます。例えば、社内の従業員 ID (EMP-[0-9]{6}) を検出するパターンや、特定のプロジェクトコードを含むドキュメントを識別するパターンを作成できます。自動検出 (automated sensitive data discovery) 機能を有効化すると、Macie がバケット内オブジェクトを継続的かつインテリジェントにサンプリングし、新しく追加されたオブジェクトも含めて機密データの分布マップを常に最新状態に保ちます。

検出結果の活用と自動対応

Macie の検出結果は Security Hub に自動送信され、他のセキュリティサービスの検出結果と統合管理できます。EventBridge との連携で、機密データの検出時に自動対応ワークフローを構築できます。例えば、パブリックアクセス可能なバケットで PII が検出された場合に、Lambda 関数でバケットのパブリックアクセスをブロックし、SNS でセキュリティチームに通知するフローを自動化できます。Macie のダッシュボードでは、組織全体の S3 バケットのセキュリティ態勢 (暗号化率、パブリックアクセス率、共有バケット数) を一覧でき、リスクの高いバケットを優先的に対処できます。検出結果は Severity (重要度) でランク付けされ、公開バケット内の認証情報は Critical、暗号化済み内部バケット内の PII は Medium と自動分類されるため、対応の優先順位判断が容易です。 Macie について体系的に学びたい方は、関連書籍 (Amazon)も参考になります。

検出精度の向上と誤検出対策

Macie のビルトイン識別子は高精度ですが、特定のユースケースでは誤検出 (false positive) への対処が必要です。Allow list (許可リスト) を設定すると、既知の安全なデータパターン (テスト用クレジットカード番号、ダミーの社会保障番号) を検出対象から除外できます。許可リストは正規表現形式または S3 上のテキストファイル形式で定義できます。カスタムデータ識別子の maximumMatchDistance パラメータを調整し、近接キーワードとの距離を制御することで検出精度を微調整できます。検出結果の確認プロセスでは、findings の詳細に含まれるオブジェクトの抜粋 (sensitive data occurrences) を確認し、実際に機密データかどうかを人間が判断するワークフローを組み込むことで、自動対応の精度を継続的に改善できます。組織固有の命名規則やデータ形式がある場合は、ビルトイン識別子に頼らず、カスタムデータ識別子でピンポイントに検出する方が誤検出を最小化できます。

Macie の料金と制限の注意点

Macie の料金はバケット評価 (月額約 0.10 ドル/バケット) と機密データ検出 (最初の 50,000 GB は 1 GB あたり約 1.00 ドル) で構成されます。全バケットのフルスキャンはコストが高いため、まずバケット評価で暗号化やパブリックアクセスの状態を確認し、リスクの高いバケットに対してのみ機密データ検出ジョブを実行する段階的なアプローチが有効です。サンプリング深度を 10〜20% に設定して初回スキャンを実行し、検出結果に基づいてフルスキャンの対象を絞り込むことでコストを最適化できます。スキャン対象のオブジェクトサイズには制限があり、単一オブジェクトの検査対象は先頭から指定バイト数 (デフォルトで数 MB) までとなるため、大容量のログファイルや DB ダンプでは末尾の機密データを見逃す可能性があります。この場合はオブジェクトを分割して保存するか、スキャン対象の classificationScopeId を適切に設定する設計が必要です。30 日間の無料トライアルで実際のコストと検出結果の品質を確認してから本番導入します。

まとめ

Macie は S3 に保存された機密データの所在を自動的に可視化し、データ保護のリスクを特定するサービスです。GDPR や個人情報保護法への対応で、組織内のどこに個人データが存在するかを把握する必要がある場合に特に有効です。Allow list による誤検出抑制、自動検出によるリアルタイムの分布マップ維持、EventBridge 連携による検出から対応までの自動化を組み合わせ、継続的なデータ検出体制を構築できます。