外部のテレフォニーサービスプロバイダーに接続する

ワンタイムパスワード(OTP)をSMSメッセージまたは音声通話でエンドユーザーに送信するには、テレフォニーインラインフックを使って外部のテレフォニーサービスプロバイダーに接続する必要があります。ここでは、テレフォニーインラインフックを追加および管理する方法について説明します。

仕組み

インラインフックを使用することで、Oktaから外部システムでホスティングされるWebサービスへのアウトバウンドコールを行うことができます。テレフォニーインラインフックを使用すると、SMSまたは音声通話認証要素が関与する登録、認証、復旧フローにテレフォニーサービスプロバイダーを統合できます。

外部のWebサービスに条件ロジックを構成することで、リクエストを各種テレフォニープロバイダーにリダイレクトできます。たとえば、発信元の国に基づいてリクエストをリダイレクトしたり、プライマリプロバイダーが失敗した場合にリクエストをセカンダリテレフォニープロバイダーにリダイレクトするエラー処理を含めたりできます。

ユーザーがOTPを要求すると、Oktaはインラインフックを使ってこのリクエストを外部のWebサービスに転送します。次に、サービスはテレフォニープロバイダーにメッセージの配信を要求します。テレフォニープロバイダーはこのリクエストを処理し、ユーザーのデバイスにOTPを送信します。また、応答としてOTP配信ステータスをOktaに送信します。この応答はSystem Logに登録されます。

テレフォニープロバイダーがOTPを配信できない場合、Oktaはフォールバックプロバイダーを使ってOTPを送信します。ただし、このフォールバックメカニズムではレートが大幅に制限されます。

開始する前に

次のいずれかの方法で、目的の外部テレフォニープロバイダーをOktaにセットアップします。

テレフォニーインラインフックを追加する

  1. Admin Console[Workflow][Inline Hooks(インラインフック)]に移動します。

  2. [Add Inline Hook(インラインフックの追加)]をクリックし、[Telephony(テレフォニー)]を選択します。
  3. 以下のオプションを構成して[Save(保存)]をクリックします。

    フィールド

    説明

    Name(名前) インラインフックのわかりやすい名前を入力します。
    URL [Invoke URL(呼び出しURL)]を入力します。これは、OTPをエンドユーザーのデバイスに送信するエンドポイントを含むテレフォニープロバイダーのURLです。
    Enforce Okta service protection rate limits(Oktaサービス保護レート制限を強制適用)

    Oktaはデフォルトでテレフォニーインラインフックにレート制限を強制適用します。これにより、テレフォニープロバイダーアカウントへの望ましくない課金を引き起こす可能性があるトールフラウド攻撃が防止されます。「テレフォニーを使用した詐欺の防止または軽減」を参照してください。

    このレート制限保護はオプトアウトできます。ただし、これを行うと、トールフラウド攻撃を受けた場合にアカウントへ多額の課金が発生する可能性があります。Oktaはこのような課金について責任を負いません。Oktaはこの保護をオンのままにしておくことを推奨します。

    Authentication field(認証フィールド)

    ヘッダーベースの認証の認証情報を入力します。

    Okta Workflowsを使用する場合は、「外部テレフォニープロバイダー用のOkta Workflowを構成する」で設定したエイリアスを入力します。

    Authentication secret(認証シークレット) [Client Token(クライアントトークン)]を入力します。外部サービスは、認証シークレットを使用して、リクエストがサービスに対するOktaリクエストであることを検証する必要があります。
    Custom Headers(カスタムヘッダー) 任意。カスタムヘッダーフィールドと値を追加します。

テレフォニーインラインフックをテストする

  1. [インラインフック]で、[Active(アクティブ)]なテレフォニーインラインフックを見つけ、[Actions(アクション)] [Preview(プレビュー)]をクリックします。インラインフックの[プレビュー]タブが開きます。
  2. このタブで、[Configure inline hook request(インラインフックリクエストの構成)]に移動し、テストのためにユーザーの情報を入力します。
    • [data.userProfile]:電話を有効なAuthenticatorとして使用しているユーザーの名前を入力します。
    • [requestType]:ドロップダウンメニューから、MFA登録、MFA検証、アカウントのロック解除、またはパスワードリセットのいずれかのイベントを選択し、SMSテキストまたは音声通話をユーザーに送信します。
  3. [Preview example Inline Hook request(サンプルインラインフックリクエストのプレビュー)]セクションで、[Generate Request(リクエストを生成)]をクリックします。これにより、Oktaがテレフォニープロバイダーに送信するJSONリクエストが生成されます。
  4. 任意。[Edit(編集)]をクリックして生成されたリクエストを編集します。たとえば、リクエストを送信する前に、ユーザープロファイルや電話番号を編集できます。
  5. [View Response(サービス レスポンスの表示)]で、[View Response(レスポンスの表示)]をクリックします。これにより、サービスプロバイダーからのレスポンスが表示されます。

テスト中にテレフォニープロバイダーが失敗した場合、OTPは生成されません。

テレフォニーインラインフックの指標を表示する

Oktaでは、テレフォニーサービスプロバイダーのパフォーマンスの監視に役立つ基本的な指標が提供されます。指標は、過去30日間でフックが実行された合計回数、成功した実行数と失敗した実行数、および成功した実行の平均実行時間を追跡します。

  1. Admin Console[Workflow][Inline Hooks(インラインフック)]に移動します。
  2. [Active(アクティブ)]なテレフォニーインラインフックを見つけ、[Action(アクション)] [Metrics(指標)]をクリックします。

テレフォニープロバイダーを無効化する

orgが利用できるアクティブテレフォニーサービスプロバイダーは1つだけです。ただし、異なるテレフォニープロバイダーの複数のインラインフックを構成し、それを切り替えて使用することは可能です(たとえば、現在のプロバイダーでサービスの問題が発生した場合など)。

  1. Admin Console[Workflow][Inline Hooks(インラインフック)]に移動します。
  2. アクティブなテレフォニーインラインフックを見つけ、[Actions(アクション)] [Deactive(非アクティブ化)]をクリックします。

次の手順

SMS認証(MFA)を構成する

音声通話認証(MFA)を構成する