提供: Bright Pattern Documentation
• 日本語

Revision as of 02:45, 23 September 2026 by BpTranslationReview (talk | contribs) (Reviewed via BpTranslationReview)

< 前へ
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
移動先: 案内、 検索
• English

パスワードリセット機能の使用方法

シナリオ例

この音声およびチャットに関するシナリオ例は、パスワードリセットワークフローを使用して、ESMプラットフォームでユーザーを認証し、情報を更新する方法を示すために用意されています。この例では、音声認証にAzure Cognitive Servicesを、ESMプラットフォームにServiceNowを使用しています。シナリオの手順は以下の通りです:

  1. セットアップ
  2. ユーザーの識別
  3. ユーザーの確認
    1. PIN
    2. ワンタイムコード
    3. 音声認証
  4. パスワードのリセット
  5. ESMチケットの作成
  6. トラブルシューティング

ダウンロード可能なサンプル

以下のリンクをクリックして、このシナリオ例のチャットバージョンまたは音声バージョンをダウンロードしてください。

Media:App_Password_Reset_-_ServiceNow_-_Chat.zip

Media:App_Password_Reset_-_ServiceNow_-_Voice.zip

Media:App_Password_Reset_-_Random_Phrase.zip

注:「ランダムフレーズ」シナリオは、「ServiceNow - 音声」シナリオと併用することを想定しています。

シナリオファイルをコンタクトセンターにインポートする方法については、『コンタクトセンター管理者ガイド』のセクション 「シナリオの概要」>「シナリオのエクスポートおよびインポート方法」をご参照ください。

シナリオに関する一般的な情報については、セクション 「シナリオビルダーの概要」をご参照ください。

ステップ

1. 設定


シナリオの冒頭で変数の割り当てを追加しておくと、パラメータが変更された際にも簡単に修正できます。以下に、シナリオ内でのこれらの使用方法について説明します:

  • PhoneNumber - ServiceNowで使用するための電話番号のフォーマットの変更
  • contactTable - ServiceNow内で連絡先を検索するテーブル
  • sttEndpoint - 音声認識(Speech-to-Text)サービス用にAzureで定義されたエンドポイント
  • vvEndpoint - 音声認証用のAzureで定義されたエンドポイント
  • functionURL - ユーザーのAzure関数用のAzureで定義されたURL
  • Subkey - アクセス対象のAzureアカウントのサブスクリプションキー
  • CodeLength - ランダムなワンタイムコードの長さ
  • ServerURL - パスワードリセットサービスをホストするサーバーのURL
  • ServerPort - パスワードリセットリクエスト用に設定されたポート
  • Domain - リセットサービスで使用されるドメイン名
  • Token - パスワードリセット認証用に設定されたトークン

2. ユーザーの識別


このシナリオのセクションでは、使用された電話番号に基づいて、ServiceNowのテーブルから発信者を検索します。電話番号が自動的に見つからない場合、進むために、発信者に対して登録済みの電話番号の入力が求められます。この情報がない場合、このシナリオではパスワードリセットは続行されません。適切なユーザー名とパスワードが提供されるよう、認証を試行する前にESM内で連絡先を特定することが重要です。

3. ユーザーの確認

PIN


PINの確認、またはESMに保存されているその他の情報については、発信者に対し、音声で必要な情報の入力を促すことができます。また、数値データの場合は、キーパッドを使用することも可能です。入力された情報がESMシステムに保存されている情報と一致した場合、ユーザーは認証され、パスワードリセットの段階に進みます。


ワンタイムコード


ユーザーがワンタイムコードの使用を選択した場合、シナリオはランダムな数字の列を生成します。桁数はCodeLength変数によって指定されます(ステップ1を参照)。この時点で、ユーザーは登録済みのメールアドレスまたは電話番号にこのコードを送信するかを選択できます。その後、ユーザーは番号を読み上げるか、DTMFダイヤルパッドを使用してコードを入力します。一致した場合、ユーザーはパスワードリセットの段階に進みます。


音声認証


音声認証が選択された場合、シナリオはESMデータベース内の既存のプロファイルIDを検索します。このIDは、音声認識サービスにおいて発信者を識別するために使用されます。この情報は、連絡先情報と共にカスタムフィールドとして保存することも、今回のケースのように、ユーザーのsys_idをプロファイルIDにマッピングするカスタムテーブルとして保存することも可能です。プロファイルIDが存在しない場合は、新たに作成されます。プロファイルIDが無効な場合は、新規のIDが作成され、ESMテーブルが更新されます。これにより、サービスデスクの管理者や発信者による追加の手間を必要とせずに、認証プロセスが継続されます。



正しいプロファイルIDが使用されると、登録プロセスが検証されます。登録とは、音声生体認証サービスに保存される音声パターンであり、後の認証に使用されます。このシナリオでは、登録プロセスが完了していない場合、ユーザーには登録用録音の提供が求められます。この録音データはBase64文字列にエンコードされ、元の.WAVフォーマットに復号できるAzure関数に送信されます。そのため、ターゲットURLにはシステム管理者が作成したAzure関数が指定され、リクエストの本文にはAzure音声生体認証サービスのエンドポイントが含まれています。プロファイルID、サブスクリプションキー、および録音データもリクエストの本文に含まれます。Azure関数は録音文字列を復号し、ユーザー登録用のリクエストを構築します。登録が完了すると、ユーザーは追加データの提供を行うか、認証を続行するかを選択できます。



発信者が音声生体認証システムに登録されると、このシナリオはランダムなフレーズを生成し、発信者の音声パターンを検証するとともに、リプレイ攻撃から保護します。「ランダムフレーズ」シナリオは、ユーザーに繰り返してもらうために、短く複雑でありながら文法的に正しい文章を生成します。そのフレーズは、再度デコードするためにAzure関数に送信され、その後Azure STTサービスに転送されます。そこで、発音の正確さ、フレーズの明瞭さ、および文の完成度について、単語単位で評価が行われます。

ランダムなフレーズを使用することで、認証プロセスにさらなるセキュリティが確保されます。これは、そのユーザー本人による特定のフレーズのみがパスワード生成の認証に利用されることを保証するからです。フレーズが正しく発話された場合、その音声は音声生体認証サービスに送信され、事前に登録されたデータと照合されます。一致した場合、ユーザーはパスワードリセットの段階に進みます。


4. パスワードのリセット


PIN、ランダムコード、または音声生体認証を通じて発信者の本人確認が適切に行われた場合、このシナリオではユーザーに新規のパスワードの発行を要求します。ユーザーIDはESMテーブルから取得され、設定で指定されたトークンが現在のタイムスタンプと共に使用され、パスワードリセットサービスでの認証に用いるハッシュが生成されます。ハッシュ化されたトークンは短期間のみ有効であり、再利用はできません。URLは、指定されたポートを持つ宛先サーバーに設定されます。リクエストの本文は、必須のフォーマットに従います。外部検証ツールに必要な追加データは、リクエストのJSON本文の一部として提供する必要があります。


5. ESMチケットの作成


新しいパスワードが作成された場合、そのパスワードはユーザーに読み上げられ、登録済みのメールアドレスに送信されます。さらに、インシデントチケットが作成され、フォームの入力欄が記入された後、チケットは自動的にクローズされます。これにより、ITサポートチームにはこの自動処理の記録が残されます。その後、発信者はメインメニューに戻って他のタスクを処理するか、通話を終了することができます。

トラブルシューティング


イベントはWindowsイベントログに記録され、イベントビューアから確認できます。セキュリティ強化のため、RESTレスポンスの本文に含まれるエラーコードの情報は制限されています。パスワードリセットリクエストに関する問題をトラブルシューティングするには、イベントビューアで必要な情報を確認してください。

パスワードリセットが成功したイベントは、情報ラベルとともにログに記録され、パスワードをリクエストしたユーザーのユーザー名が含まれます。失敗した試行はエラーとしてログに記録され、失敗した理由の説明が含まれます。上記の例では、リクエストに有効なトークンが含まれていませんでした。

< 前へ