Cloud DLP を使用してCloud Storage データ内の機密情報を匿名化してみよう
2022.10.11
企業には顧客情報や社員情報、社外秘の情報など守るべき情報が多く、これらの情報をサイバー攻撃から防ぐための方策は様々あり、その中の1つとしてDLP(Data Loss Prevention)というものがあります。
Google CloudにもDLPサービスであるCloud DLPが存在し、2022年8月にCloud DLPを使用してCloud Storageデータに存在する機密情報の匿名化機能が利用可能になったとGoogle Cloud より発表されました。この記事ではGoogle DLPの紹介を交えながら、リリースされたばかりの機能を検証していきます。
はじめに
サービスを提供するうえで取り扱う顧客の個人情報や、自社の技術的ノウハウといった知的財産など、企業が守るべき情報は多く存在し、近年これらはさらに量が増えるとともにその重要性が高まっています。
これらの情報を外部からの攻撃から守るために様々な方策が存在しますが、その1つとしてDLP(Data Loss Prevention)という方法があります。
Google CloudにもDLPのサービスであるCloud DLPが存在しており、2022年8月にCloud DLPを使用してCloud Storageデータに存在する機密情報の匿名化機能が利用可能になったと発表されました。
そこで今回はこのCloud DLPのCloud Storageにおける匿名化機能について、DLPの解説を交えながら検証していきます。
DLP(Data Loss Prevention)とは
まずDLP(Data Loss Prevention)の概要について紹介いたします。
> DLP(Data Loss Prevention)とは、セキュリティを強化するためのシステムの一つであり、機密情報や重要データの紛失、外部への漏えいを防ぐシステムのことを指します。
※引用:DLPとは?従来の情報漏洩対策との違いから、機能、活用事例まで紹介
アクセス制御などを含めたサーバ上のすべてのデータを監視する従来の情報漏洩対策とは異なり、データそのものに着目した監視方法のため、不明ユーザーによる攻撃だけでなく、正規ユーザーによる情報漏えい(システムに登録されたID・パスワードを使用した不正操作)も防ぐことができます。
また、機密情報と特定したデータのみを常時監視し、機密ではないデータの利用を制限しないため、セキュリティ強化のための管理や運用にかかるコストを抑えることができます。
Google CloudにおけるDLP(Cloud DLP)の機能
続いて、Google Cloudが提供するDLPサービスである Cloud DLP の紹介をします。
Cloud DLPではCloud Storage や BigQuery などのストレージサービスに格納しているデータ内の機密情報を自動検出できます。
また機密情報を自動的に検出できるほか、検出結果(機密情報の有無)に沿ってデータを分類するパイプラインの作成、検出した機密情報のマスキングが可能です。
参考
検証: Cloud DLP を使用して Cloud Storage データを匿名化してみる
事前準備
検証用に、匿名化するテストデータを格納するCloud Storageバケットとテストデータとなるオブジェクト、そして匿名化したオブジェクトの出力先バケットを事前に作成しておきます。Cloud Storageバケットの設定はデフォルト設定で問題ありません。
テストデータとなるオブジェクトにはjsonデータ、およびtextデータの2つを今回は使用します。
※今回使用するテストデータ内の情報は架空のものです。
{ "1": { "ID": "A0001", "password": "hogehoge", "name": "Taro Yamada", "email": "taro.yamada@example.com", "age": "24" }, "2": { "ID": "A0002", "password": "fugafuga", "name": "Hanako Suzuki", "email": "hanako.suzuki@example.com", "age": "22" } }
エージェント: こんにちは、担当の田中太郎です。お名前を伺ってもよろしいですか? お客様: はい、山田花子です。 エージェント: ご連絡が必要な場合があるので、お電話番号もお伺いできますか? お客様: 電話番号は010-2345-6789です。 エージェント: ありがとうございます。どのようなことでお困りですか?
Cloud DLPの有効化
Google Cloud コンソールのナビゲーションメニューから「APIとサービス」>「有効なAPIとサービス」画面に遷移します。
「APIとサービスの有効化」をクリックします。
検索フォームに「Cloud DLP」と入力し、「Cloud Data Loss Prevention (DLP) API」が表示されるのでクリックします。
「有効にする」をクリックし、APIを有効化します。
Cloud DLP 検査ジョブの作成
Cloud DLPのコンソールに移動、「検査」タブを表示し「ジョブとジョブトリガーを作成」をクリックします。
1.「入力データを選択」
「ストレージの種類」でCloud Storageを選択、「URL」に匿名化したいデータを格納しているバケットのURLを入力します。
また匿名化機能を有効にするために、サンプリングを無効にします。具体的には、「バケット内のスキャンに含めるオブジェクトの割合」を100%に、「サンプリング方法」にてサンプリングなしを選択します。
2.「検出の設定」項目
検出する機密情報の種類などを設定することができます。 今回はデフォルトのまま設定します。
3.「アクションの追加」項目
匿名化アクションを有効化します。
公式ドキュメントには「検出結果の匿名化」を有効にすると書かれていますが、現状最後の「BigQueryに保存」を有効化することで匿名化アクションを利用することができます。
※コンソール表示の不具合かと思われます。
有効化した後、「Cloud Storage出力先」に匿名化したデータを格納するバケットのURLを入力します。
4.「スケジュール」項目
今回は検証のため、ジョブ作成時にのみ実行するよう設定します。他にも期間指定による実行、定期実行を設定することも可能です。
5. 「確認」項目
念のため匿名化アクションが有効化されていることを確認します。
「deidentify」キーが設定されていれば有効化されています。
確認したのち、「作成」を押します。
ジョブ実行結果を確認
ジョブ作成後、しばらく待機すると検査結果が表示されます。
今回は対象となる機密データを11個検出し、それらを匿名化したという結果となっています。
実際にCloud Storageのバケットとオブジェクトを見てみましょう。
出力用に用意したバケットにテストデータオブジェクトと同じ名前のオブジェクトがそれぞれ存在します。
各オブジェクトを確認すると、ともに機密データとなる部分が匿名化されていることが確認できました。
今回は省略しましたが、匿名化するデータの種類を任意に選択できたり、事前にテンプレートを作成しておくことで匿名化する際に使用する文字列を指定することもできたりするので、詳細が気になる方は今回参考にした公式ドキュメントをご覧いただければと思います。
参考
まとめ
今回はCloud DLPを使用してCloud Storageに格納しているデータに含まれる機密情報を匿名化してみました。
使ってみた感想としては、JSONのような構造化オブジェクトだけでなく、テキスト文書のような非構造化オブジェクトにも適用可能である部分が便利だなと感じました。
Cloud Storageのセキュリティ対策を考える際には参考にしていただければと思います。
最後までお読みいただきありがとうございました。