コンテンツに移動
デベロッパー

chatbot から機密データを除外する方法

2022年1月7日
Google Cloud Japan Team

※この投稿は米国時間 2021 年 12 月 16 日に、Google Cloud blog に投稿されたものの抄訳です。

仮想エージェントの導入が進むにつれ、ユースケースは、個人情報(PII)や機密データを含む会話の流れにまで及ぶようになってきました。

企業や政府機関は、多くの場合、このデータを保存することを許容できないリスクとみなし、機密情報を自動的に秘匿化するよう要求します。

ではどのようにすれば自動的に秘匿化できるのでしょうか。最も速く、最も簡単に適度なデータ プライバシーを確保する方法とはどのようなものでしょうか。

カスタム ソリューションは時間がかかる

機密情報の秘匿化を可能にするツールは数多く存在しますが、こういったツールを使用するには、仮想エージェントの実装へのカスタム統合が必要です。このためには、高いコストの開発が必要となり、複数のプラットフォームに対応するための微調整にも時間がかかることがあります。

時間と費用がかかるのに加え、データ秘匿化システムは、リクエストやチケットの処理にすでに使用しているツールとうまく連携できないこともあります。

統合が不完全な場合がある

機密データを自動的に秘匿化する統合の構築は、複雑な作業となることがあります。正しい粒度でデータを秘匿化するとなると、さらに複雑なものとなります。

たとえば、以下について考慮する必要があります。

  • 秘匿化が必要なのは、機密性の高い PII データのみか、それともユーザーの発言全体を秘匿化する必要があるか?

  • データを完全に秘匿化する必要があるのか、それともトークン化やマスキングなどの匿名化手法で十分なのか?

選択肢は無数にあり、秘匿化ソリューションの機能を組織の仮想エージェント戦略に合わせるのは困難な場合があります。

自動秘匿化をサポートする Dialogflow

Dialogflow は、顧客との豊かで直感的な会話を作成するための人気開発プラットフォームに成長しており、Google AI を搭載しています。Dialogflow CX には、機密情報を秘匿化するための以下の 3 つのオプションが追加されました。

デフォルトでは、Dialogflow は、自身のログを Cloud Logging に送信しません。分析やその他の目的でのロギングが必要ない場合は、これをオンにする必要はありません。ただし、そういったことはほとんどありませんので、仮想エージェントのログが Cloud Logging に書き込まれるようにするには、以下のとおり仮想エージェント設定の [General] タブで [Enable Stackdriver Logging] オプションを選択する必要があります。

https://storage.googleapis.com/gweb-cloudblog-publish/images/loggingSettings.max-800x800.png

パラメータの秘匿化

このオプションを設定すると、パラメータ秘匿化を構成し、その結果を Cloud Logging で確認できます。パラメータ秘匿化は、インテントまたはフォームで定義されているすべてのパラメータに適用できます。これにより、Cloud Logging だけでなく、Dialogflow ストレージにおいても、選択されたパラメータが秘匿化されます。

下の画像では、social-security-number というフォーム パラメータに対して [Redact in Log] チェックボックスが選択されています。

https://storage.googleapis.com/gweb-cloudblog-publish/images/parameterredaction.max-1200x1200.png

Cloud Logging が提供するログ エクスプローラでログを調べると、該当のパラメータが秘匿化されていることがわかります。 

social-security-number というパラメータのデータが差し替えられています。

https://storage.googleapis.com/gweb-cloudblog-publish/images/SocialSecQueryResults.max-1300x1300.png

SecuritySettings API

SecuritySettings API では、データの秘匿化やデータ保持などのセキュリティ問題に関連する設定を管理できます。

この API を使用すると、データを秘匿化するか否かを判断する戦略をユーザーが設定できます。この戦略は、機密データの取り扱いに関する仮想エージェントの全体的なセキュリティ態勢のガイドラインになります。

下の表は、秘匿化戦略のオプションを示しています。

https://storage.googleapis.com/gweb-cloudblog-publish/images/Screen_Shot_2021-12-15_at_4.02.15_PM.max-800.max-800x800.png

[REDACTION_STRATEGY_UNSPECIFIED:] スイッチを設定すると、秘匿化に関連するアクションが行われません。会話全体が変更されずに保存されます。[REDACT_WITH_SERVICE] スイッチを設定すると、秘匿化処理が有効になります。


[REDACT_WITH_SERVICE] オプションを「オン」のスイッチとお考えください。このオプションを有効にすると、個人を特定できる情報の秘匿化が行われ、秘匿化の範囲や削除するデータの種類の選択など、より詳細な構成を行えます。


秘匿化を有効にすると、指定された種類のデータは、Dialogflow の永続的ストレージに書き込まれる前に削除されます。これにより、定義された種類のデータが Dialogflow 内に存続しなくなります。

SecuritySettings API による秘匿化 - プロセスの概要

秘匿化プロセスでは、Dialogflow が、機密情報の発見、分類、保護を支援するために設計された完全に管理されたサービスであるデータ損失防止(DLP)を呼び出す必要があります。これは、SecuritySettings API で構成された構成オプションを使用して行います。これを行うと、Dialogflow は、下図のように DLP API リクエストを行うデータソースとクライアントになります。

https://storage.googleapis.com/gweb-cloudblog-publish/images/Dialogflow_calling_the_Data_Loss_Preventio.max-1300x1300.png
データ損失防止(DLP)サービスを呼び出す Dialogflow

DLP サービスは、Dialogflow エージェントの秘匿化戦略に基づいて、Dialogflow のユーザーの発話とエージェントのレスポンスに含まれる機密データを秘匿化します。API リクエスト自体は、転送中に暗号化され、ステートレスで、永続化されず、データ所在地をサポートします。

Dialogflow CX コンソールのセキュリティ設定

Virtual Agent Settings ページの [Security] タブでは、API を直接使用する代わりに、Dialogflow CX コンソールでデータの秘匿化とデータ保持を構成する手段が用意されています。

API を使用する場合と同様に、仮想エージェントに適用できるセキュリティ構成を行う必要があります。

https://storage.googleapis.com/gweb-cloudblog-publish/images/AgentSettings.max-1000x1000.png

[Manage Security Settings] をクリックすると、「Create Security Settings」ページが表示され、そこでポリシーの詳細を構成できます。

https://storage.googleapis.com/gweb-cloudblog-publish/images/CreateSecuritySettings.max-1200x1200.png

「Create Security Settings」フォームでは、クラウド DLP 検査テンプレートの使用が可能です。テンプレートを作成する手順については、こちらをご覧ください。

セキュリティ構成を行ったら、「Agent Settings」ページの [Security] タブで、該当のポリシーを仮想エージェントに適用できます。 

https://storage.googleapis.com/gweb-cloudblog-publish/images/AgentSettingsSecurity.max-1100x1100.png

セキュリティ設定に基づく秘匿化後のデータの確認

セキュリティ構成で秘匿化の構成を行うと、会話の文字起こしに秘匿化が適用されます。秘匿化対象に選択された種類のデータは、Cloud Logging のユーザーのメッセージ テキストと仮想エージェントのメッセージ テキストの両方で [redacted] というテキストに置き換えられます。

下の画像は、秘匿化を有効にする前と後の、Cloud Logging のユーザーと仮想エージェントのメッセージ テキストを示しています。

https://storage.googleapis.com/gweb-cloudblog-publish/images/UnRedacted._User_Message.max-900x900.png
秘匿化前のユーザーのメッセージ テキスト
https://storage.googleapis.com/gweb-cloudblog-publish/images/Unredacted_Virtual_Agent_Respose.max-800x800.png
秘匿化前の仮想エージェントのメッセージ テキスト
https://storage.googleapis.com/gweb-cloudblog-publish/images/Redacted_User_Repsonse_Text.max-1100x1100.png
秘匿化後のユーザーのメッセージ テキスト
https://storage.googleapis.com/gweb-cloudblog-publish/images/Redacted_Virtual_Agent_Response.max-800x800.png
秘匿化後の仮想エージェントのメッセージ テキスト

上の例では、社会保障番号と生年月日が [redacted] という文字列に置き換えられています。

フルマネージド型のデータ保護

どういうときにユーザーと仮想エージェントとの会話に機密情報が含まれるか判断できないことが多いため、自動秘匿化機能を可能にする使いやすいツールがあれば、ユーザーの機密データを確実に保護する場合の運用負荷を軽減できます。

パラメータ秘匿機能とセキュリティ設定機能を使用すると、Dialogflow 内や隣接するシステムでのデータ管理を簡素化できます。ユーザーは、特定パラメータの秘匿化の指定、デフォルトの DLP 検査の構成の利用、環境の求めに応じたカスタム検査テンプレートの作成などができます。

仮想エージェントを導入する会話アーキテクトは、Dialogflow の自動秘匿化機能を利用できるようになりました。これにより、機密性の高いユーザーデータが、業界のベスト プラクティスに沿い、セキュリティとコンプライアンスの要件に従って処理されます。

今すぐお試しください

今すぐ始めて、ご自身で試してみましょう。こちらのチュートリアル入門ガイドで DLP と Dialogflow の基礎知識をある程度身に着けることをおすすめします。

なお、DLP も Dialogflow も従量課金制のサービスです。試しに使い終わったらサービスをオフにして、想定外の課金が発生しないようにしましょう。

準備はよろしいですか?Dialogflow CX ドキュメントのパラメータ秘匿化のセクション、SecuritySettings API リファレンスセキュリティ設定概要ページを確認して、Dialogflow のデータ保護を設定してください。

- カスタマー エンジニア Anthony Okwechime

- Developer Relations エンジニア Max Saltonstall

投稿先