Cloud DLP API による機密データの厳重な管理
Google Cloud Japan Team
Google はこのほど、安全かつリアルタイムに機密データの検出、分類、編集を行えるように支援する Google Cloud のセキュリティ サービス、Cloud Data Loss Prevention API(DLP API)を正式リリースしました。
機密データを適正に処理するにあたって第一歩となるのは、データ ワークロードのどこに機密データがあるかを把握することです。これは、データの厳重な保護に役立つだけでなく、機密情報の管理ミスが深刻なコスト増につながる今日の規制環境のもとでは不可欠な要素となっています。
DLP API は、クレジットカード番号、社会保障番号、氏名のような個人識別情報(PII)などの機密データを識別するのに役立つ、柔軟かつ堅牢なツールです。機密データの在りかがわかったら、リダクションやマスキング、トークン化などのテクニックを使って機密データを特定できないようにしなければなりませんが、DLP API はそのための機能を提供します。こうした機能は、機密データを分析や顧客サポートなどの重要な業務に活用しつつ、同時に保護することに役立ちます。
しかも、DLP API はクラウドかオンプレミスかを問わず、ほぼあらゆるワークロードで使えるように設計されているため、API にデータを渡して機密データの検出や非特定化の機能を利用するのは簡単です。
GDPR(一般データ保護規則)といったプライバシー保護規制への準拠という意味でも、個人データの検出や保護に有用なツールは重要です。DLP API は、機密性の高いワークロードでも使用できるようになっており、Google Cloud のセキュリティおよびコンプライアンス標準によってサポートされています。たとえば、DLP API は Google Cloud HIPAA BAA(Business Associate Agreement)の対象サービスに含まれており、PII の保護のために医療産業向けソリューションと併用できます。
既存のワークロードに DLP を導入することがいかに簡単かをおわかりいただけるように、Cloud Storage にアップロードされたデータの分類を DLP API と Cloud Functions で自動化する方法をまとめた新しいチュートリアルも用意しました。この方法では、制限の厳しいバケットへの移動など、機密ファイルの処理方法を判断するにあたって DLP の機密データ検出機能を使用しています。
以上のように、DLP API は機密データを管理するうえでとても便利なツールです。しかも、今すぐ無料で 1 GB までのデータで試すことができます。以下では DLP API の機能を詳しく見ていきましょう。
定義済み検出器とカスタム検出器による機密データの柔軟な特定
DLP API は、PII や Google Cloud Platform(GCP)サービス アカウント情報などの機密データ用として、機械学習、パターン マッチング、数学的チェックサム、コンテキスト分析などさまざまなテクニックを駆使した 70 種以上の定義済み検出器(InfoType)を提供しています。また、次のツールを使って独自のカスタム検出器を定義することも可能です。
- 辞書 : 新しい機密データ タイプを定義したり、定義済み InfoType を補完したりします。
- 正規表現パターン : 独自パターンを見つけて、機密データのデフォルトの可能性スコアを定義します。
- 検出ルール : 近隣のコンテキストに加えて、「銀行取引」や「納税者」、「パスポート」などのホット ワードに基づき、可能性スコアを増減させるルールを定義して、カスタム辞書や正規表現パターンを強化します。
どこからでもデータをストリーミング
機密データをうっかり収集することのないサポート チャット アプリを作りたいとか、オンプレミスや別のクラウド プロバイダに格納されているデータを管理したいとしたらどうしますか? DLP API の “content” モードを使用すれば、ほぼあらゆる位置のデータをストリーミングすることができます。これは、大規模バッチを使用したリアルタイムでのデータ分類や動的な非特定化に便利な機能です。content モードにより、格納や表示の前にデータをスキャンし、どのデータをどこにストリーミングするかを制御することができます。ストレージ サービスにおけるネイティブな機密データ検出
DLP API は、Cloud Storage、Cloud Datastore、BigQuery でのデータ分類をネイティブでサポートします。DLP API が参照する Cloud Storage バケットや BigQuery テーブルを指定すれば、あとは自動的に処理されます。DLP API は次の機能に対応しています。- 定期的なスキャン : 毎日または毎週のスキャン ジョブ実行のトリガリング。
- 通知 : ジョブを起動し、終了時に Cloud Pub/Sub 通知を受け取れるようにします。Cloud Functions を使ったサーバーレス ワークロードで重要な意味を持ちます。
- Cloud Security Command Center Alpha との連携。
- SQL データ分析 : DLP スキャンの結果を、指定した BigQuery データセットに書き込み、SQL の機能を使ってスキャン結果を分析します。Google Data Studio でカスタム レポートを作成したり、指定したデータ可視化もしくは分析システムにデータをエクスポートしたりすることが可能です。
フリー テキストと構造化データの同時的なリダクション
DLP API を使用すると、構造化されていないフリー テキストをストリーミングして、強力な分類エンジンによってさまざまな機密データを見つけ出し、ニーズに合わせてリダクションできます。表形式データをストリーミングすれば、レコード タイプもしくは列名に基づいてリダクションすることもできます。また、データの完全性と整合性を保ちながら、同時に両方を行うことも可能です。たとえば、コメント フィールドと構造化データの列の両方に分類された社会保障番号から、同じトークンまたはハッシュを生成することができます。フルセットの非特定化ツール
DLP API は、単純なリダクションだけでなく、書式を保持した高度なトークン化などさまざまなテクニックに対応しており、データに含まれる機密要素の有用性を維持したままでのリダクションが可能です。こうしたテクニックの一部を紹介しましょう。
変形タイプ | 処理内容 |
置換 | 入力値を InfoType 名かカスタム値に置き換えます。 |
リダクション | 値を除去することでリダクションします。 |
マスキングまたは部分マスキング | 指定された数の指定された文字で入力値を置き換え、一部または全部をマスキングします。 |
暗号化ハッシュによる仮名化 | 指定された暗号鍵で生成された文字列で入力値を置き換えます。 |
フォーマット保持トークンによる仮名化 | FFX モード操作による FPE(フォーマット保持暗号化)を使用して、同じ長さのトークンもしくはサロゲート値で入力値を置き換えます。 |
バケッティング | “バケット”、もしくは入力値が収まる範囲で入力値をマスキングします。 |
日時データ抽出 | 日付やタイムスタンプの一部を抽出もしくは保存します。 |
DLP API は、JPEG や PNG などの標準的なビットマップ イメージにも対応しています。OCR(光学文字認識)技術を使用してイメージ内のテキストを分析し、その結果を返したり、機密情報をブロックする形で新しいイメージを生成したりすることができます。
k- 匿名性、l- 多様性による再特定化リスクの計測
機密データは、社会保障番号やクレジットカード番号のようにすぐに見分けがつくものばかりではありません。時には、特定の値、あるいは値の組み合わせによって個人が特定できてしまうことがあります。たとえば、従業員の大半は肩書フィールドの値だけでは特定できませんが、CEO のように 1 人しかいない肩書を持つ人を特定することは可能です。社名、年齢、郵便番号などのフィールドと組み合わせると、その肩書を持つ人が 1 人に絞られることもあります。この種の準識別子について注意を喚起するため、DLP API には一連の統計的リスク分析指標が用意されています。たとえば、k- 匿名性はこの種の特異値のグループを検出し、データのさらなる非特定化のためにやるべきこと(行の削除、フィールドのバケッティングなど)についての貴重なヒントを提供します。
クラウド エコシステムにおけるワークロードと DLP API の連携
DLP API は柔軟かつスケーラブルに作られており、さまざまなワークロードと連携するための機能を備えています。- DLP テンプレート : テンプレートを使えば、データをどのように検査し、変形するかを定義して保存することができます。あとは、API 呼び出しやワークロードでそのテンプレートを参照するだけです。テンプレートは、新しい API 呼び出しやコードをデプロイし直さなくても更新できます。
- トリガー : たとえば毎日、毎週、毎月といった形で定期的にデータをスキャンするジョブをセットアップできます。
- アクション : 大規模なスキャン ジョブが終了したときに Cloud Pub/Sub で通知を送るように DLP API を設定できます。これは、サーバーレス、イベント駆動型のエコシステムで機能する堅牢なシステムを構築するうえですばらしい方法です。
DLP API は、GCP の新しいセキュリティおよびデータ リスク管理プラットフォームである Cloud Security Command Center(Cloud SCC)Alpha とも連携します。Cloud SCC は、データを収集し、脅威を見つけ出して、脅威がビジネスに打撃を与えたり損失を生んだりする前に対処できるようにします。
DLP API を Cloud SCC で使用すれば、機密データや規制対象データがどのストレージ バケットに含まれているかを検出でき、意図しない漏洩の防止や、“need-to-know” の原則(認められたビジネス プロセスで必要最小限のデータだけを利用、参照すること)に応じたアクセスが可能になります。
Cloud SCC Alpha のアルファ プログラムに参加を希望される方は、こちらからお申し込みください。
機密性の高いデータは至るところにありますが、DLP API は機密データが想定外の場所に拡がらないようにすることができます。このブログでは、これからも特定のユース ケースにおける DLP API の使い方について解説する記事を掲載していきます。ご期待ください。
* この投稿は米国時間 3 月 23 日、GCP Product Management の Scott Ellis によって投稿されたもの(投稿はこちら)の抄訳です。
- By Scott Ellis, GCP Product Management