CloudWatch Logsで機密情報の自動マスキングが可能に
最後に、CloudWatch Logs データ保護機能をご紹介します。
本機能は、CloudWatch Logsで転送中または取り込まれる際に、機密情報が含まれたログを自動的にマスキングしてくれるという機能です。
ロググループ作成後に、データ保護ポリシーを設定することで本機能を有効化することができます。ただし、有効化より以前からCloudWatch Logsに保管されているログについては、マスキング対象外です。
マスク可能なデータはさまざまで、国や地域に依存しない情報(住所、名前、メールアドレス、名前など)から、国や地域で異なる情報(運転免許証、パスポート番号、電話番号など)まで、個人を特定できるデータを自動でマスクしてくれます。
個人を特定できる情報以外にも、クレジットカード番号などの財務情報や健康保険または医療識別番号などの保護対象保健情報もマスクすることが可能です。
マスキング可能なデータ種別の詳細はCloudWatchのユーザーガイドをご参照ください。
また、マスクされていないデータは「logs:Unmask」権限を持つユーザしか見ることができません。そのため、運用オペレータには個人情報を見せないという制御も可能です。
実際にNameのデータ保護機能を検証してみました。
データ保護機能有効か設定は簡単で、ロググループでデータ保護ポリシーを設定することで有効化されます。
機密情報がログに出力されると、ロググループ毎に機密情報が何件検出されたかが表示されます。
また、日本語で入力された名前はマスキングされないことがわかりました。現在、Nameでサポートされている文字はラテン文字のみです(2023年2月時点)。
同じように機密情報を検知できるサービスとして、Amazon Macieがあります。Amazon MacieはS3バケット内のオブジェクトに機密情報が含まれていることを検知できますが、マスキングはされません。
また、検出可能なデータにも以下の違いがあります。
| AWSサービス名 | 機密情報の検出手法 |
|---|---|
| CloudWatch Logs | マネージドデータ識別子(※2) |
| Macie | マネージドデータ識別子とカスタムデータ識別子(※3) |
※2 マネージドデータ識別子は、各サービスが機械学習やパターンマッチングなどを使用して機密情報を検出する手法のことで、さまざまな機密情報を検出可能。
※3 カスタムデータ識別子は、ユーザ側で検出基準(検知するキーワードや検知対象外とする文字列など)を設定できるため、マネージドデータ識別子で対応していない機密情報を検知することが可能。
CloudWatch Logsのデータ保護機能やAmazon Macieは、意図しない個人情報が出力されてしまった場合の検知にとても有効な機能だと思いますので、個人情報流出を防ぐためにもぜひ利用をご検討ください。
マネージドデータ識別子は、まだ日本語対応していないのが残念ですが、これから対応してくれるのを待ちたいと思います。
次回について
次回以降もAWS re:Invent 2022で発表のあったサービスアップデートを紹介していきます。ぜひご覧ください!
