Amazon Web Services ブログ
Amazon Connect におけるスパム通話の阻止
コンタクトセンターでは、既存の顧客の電話番号を使用して他人になりすますような、不正な電話を受けることがあります。Web サイトであれば適切な資格情報のチェックに失敗するだけかもしれません。しかし、コンタクトセンターのエージェントは何かがおかしいと思っても、礼儀正しく対応するようにトレーニングされており、特に自動番号識別 (ANI) を使用して顧客を特定・顧客データを提供している場合、ソーシャルエンジニアリングの対象になる可能性があります。顧客に被害をもたらすだけでなく、エージェントの手を煩わせ、通話の待ち時間が長くなり、潜在的な収益が失われる可能性もあります。
このブログ記事では、Amazon Connect やその他の AWS サービスによって、そのようなスパム通話を特定し、阻止するワークフローを紹介します。このソリューションは、ランダムに生成された番号を発信者に入力させ、自動的に発信されるスパム通話を防ぎます。
ソリューション概要
このソリューションは以下のような流れで動作します。
- 発信者がカスタマーサービスに電話します
- 通話は電話網 (PSTN) を通じて Amazon Connect の IVR に到達します
- Amazon Connect の IVR は AWS Lambda 関数を呼び出し、Lambda 関数が 4 桁のランダムな番号を発行します
- Amazon Connect はランダムな番号を発信者に再生し、電話のキーパッドでこの番号を入力するように要求します
- 番号の入力が正しい場合、 Amazon Connect のフローはコンタクトセンターの業務に合わせて継続、もし番号の入力が誤っている場合、通話は終了されます
上記のフローを以下の通り図示します。
ソリューションのデプロイ
このサンプルのほとんどは、AWS CloudFormation テンプレートを使用してアカウントにデプロイできます。CloudFormation テンプレートは、IAM ロール・ポリシー、サンプル問い合わせフロー、および Lambda 関数で構成される新しいスタックを作成します。残りの設定は Amazon Connect と Amazon Connect コンソールで行います。
大まかな設定手順は以下の通りです。
- このソリューション向けリソースのパッケージをダウンロード
- CloudFormation テンプレートのデプロイ
- サンプルコンタクトフローに電話番号を設定
- テスト通話を行い検証
前提条件
この手順を実行する前提条件は以下の通りです。
- 作成済みの AWS アカウント
- 作成済みの Amazon Connect インスタンス
- AWS CloudFormation 、 Amazon Connect 、 AWS Lambda に関する基本的な理解
ステップバイステップの手順
手順の実施には一般的な Amazon Connect と AWS CloudFormation の操作に関する知識が必要です。一般的な管理操作方法の詳細については以下の資料を参考にしてください。
CloudFormation テンプレートのデプロイ
- AWS マネジメントコンソールにログインし、AWS CloudFormation コンソールを開きます
- ドロップダウンメニューの スタックの作成 を選択し、新しいリソースを使用 (標準) を選択します。CloudFormation コンソールのリージョンが Amazon Connect インスタンスのリージョンと同一か注意してください。リージョンの選択については、ドキュメントの「リージョンを選択する」や「 Amazon Connect の使用を開始する」を確認してください
- CloudFormation の設定で利用する Amazon Connect インスタンスの ARN を取得します
- 前提条件 – テンプレートの準備 から、テンプレートの準備完了を選択します
- テンプレートの指定で、Amazon S3 URLを選択し、このURLを入力し、次へをクリックします
訳注: 上記 URL はテンプレート (YAML ファイル ) の URL です。リンク先のアドレスをコピーして利用してください。 - テンプレートに任意の名前を設定し、手順 3 で取得した Amazon Connect インスタンスの ARN をパラメータに設定します。「次へ」をクリックし、「スタックの失敗オプション」はデフォルトのままで設定を確認したら「次へ」をクリックします
- 設定内容を確認し、ページの下部の「AWS CloudFormation によって IAM リソースがカスタム名で作成される場合があることを承認します。」にチェックを入れます
- 「送信」をクリックします。CloudFormation テンプレートが呼び出され、必要なリソースが作成されます。作成には数分の時間が必要です
- スタックが作成されると、ステータスが CREATE_COMPLETE になります
電話番号をサンプルコンタクトフローにアタッチ
- コンタクトセンターのアクセス URL からログインします
- 電話番号を取得します
- CloudFormation テンプレートが「<テンプレート名>-FLOWDETERSPAMS」という名前のコンタクトフローを作成しています
- ステップ 2 で取得した番号をこのコンタクトフローにアタッチします
- 電話番号を書き留めておきます。機能を検証するため、この番号を後ほど使います
ソリューションの検証
- スパムではない通話のケース: Amazon Connect で設定した番号に架電します
- IVR が次のようなメッセージを再生します。「Thank you for calling, please use your phone keypad to enter 7665 to continue」(お電話ありがとうございます。続けるにはキーパッドで7665を入力してください) ※訳注: 4桁の数字部分は毎回ランダムな数字が読み上げられます。
- 7665 を入力します
- 正しい番号を入力すると、 IVR が次のようなメッセージを再生します。「Thank you. In real world, this call would proceed as normal. Thank you for calling, goodbye.」(ありがとうございます。実業務の場合、この電話は通常の電話として継続します。架電ありがとうございました。)
- スパムの通話のケース: Amazon Connect で設定した番号に架電します
- 前回と同様に IVR がメッセージを再生し、4 桁の番号の入力を求めます(例: 7634 を入力してください)
- 誤った数字を入力します(例: 2323 など)
- 誤った番号を入力すると、 IVR が次のようなメッセージを再生します。「Thank you your entry did not match. In real world, this would be treated as a spam call. Thank you for calling, goodbye.」(ありがとうございます。入力された番号は一致しません。実業務の場合、この電話はスパムとして取り扱われます。架電ありがとうございました。)
ユースケースへの適用
このソリューションの設定は簡単に実ユースケースに適用することができます。このコンタクトフローを認証フローとして、実業務向けのワークフローの一部として取り入れることができます。
クリーンアップ
今後の料金発生を防ぐ為、コンタクトフローから電話番号の関連付けを外し、CloudFormation テンプレートも削除します。今回の検証の為、電話番号を新規に取得された場合は番号もリリースする必要があります。CloudFromation テンプレートを削除すると、このサンプルで使用した Lambda 関数や IAM のリソース、コンタクトフローが削除されます。
結論
このブログ記事では、スパムの発信者を阻止する方法を紹介しました。さらにレポート機能を追加して、スパム通話と判定され、接続が切断された通話の数を示すこともできます。レポートの方法については、今後のブログ記事で取り上げる予定です。
翻訳はテクニカルアカウントマネージャー高橋が担当しました。原文はこちらです。