テレフォニーの構成と使用
SMSメッセージまたは音声通話を認証ポリシーまたはアカウント復旧の一環として構成できます。このトピックでは、SMSメッセージと音声通話を構成する方法、SMSメッセージをカスタマイズする方法、System Logとレポートを使用して使用状況を監視する方法について説明します。
orgのテレフォニーを初めて構成するときは、まず外部のテレフォニーサービスプロバイダーをセットアップする必要があります。「外部テレフォニーサービスプロバイダーに接続する」を参照してください。
電話のOTPを使用しても、ユーザーの身元確認を保証できるわけではありません。「SMSや音声通話による本人確認の潜在的なリスク」を参照してください。
Oktaでは、より強力な鑑別工具を使用したユーザー認証を要求することを推奨しています。たとえば、ユーザーの存在を認証するだけでなく、デバイスに紐づけられ、ハードウェアで保護され、フィッシング耐性がある鑑別工具などです。このような鑑別工具には、認証アプリ、メールのマジックリンク、またはFIDO2(WebAuthn)が含まれます。「多要素認証」を参照してください。
アカウント復旧のためにSMSメッセージまたは音声通話を有効にする
デフォルトのパスワードポリシーでは、Oktaユーザーはメールリンクを使用してアカウントのパスワードをリセットしたり、アカウントのロックを解除したりできます。このポリシーを変更して、ユーザーがSMSメッセージまたは音声通話を受信してパスワードをリセットしたり、アカウントのロックを解除したりできるようにすることができます。同じ効果をもたらす別のパスワードポリシーを追加し、それをより高い優先度で配置することをお勧めします。
デフォルトのポリシールールを使ってパスワードAuthenticatorを追加する方法については、「パスワードAuthenticatorの構成」を参照してください。
多要素認証を行うためにSMSメッセージまたは音声通話を構成する
電話を鑑別工具として構成し、多要素認証、デバイス登録、アカウント復旧にワンタイムパスコード(OTP)を使用できるようにすることができます。SMSメッセージのみか音声通話のみ、あるいは両方でOTPを有効にするように選択することができます。
フリーダイヤル、プレミアム、および無効な電話番号は、多要素認証またはデバイスエンロールメントには使用できません。フリーダイヤル、プレミアム、または認識されない電話番号形式を使用しようとすると、その電話番号は無効な電話番号として拒否されます。
コストと可用性
アカウント復旧用にSMSメッセージまたは音声通話を使用する場合は、電話をかける国で利用できる通信サービスに応じてコストが大きく異なる可能性があります。
サービスの保護と信頼性
多要素認証用にSMSメッセージを有効にすると、ユーザーはモバイルデバイスに送信されるセキュリティトークンを入力して認証を行います。デバイスに表示される送信者IDまたは電話番号は、ショートコード、ロングコード、またはフリーダイヤル番号のいずれかです。送信者IDは、サービスを確実に保護するために予告なしに変更される場合があり、サインイン試行ごとに変更される可能性があります。送信者IDの変更により、Oktaはサービスの信頼性を維持し、通信プロバイダーへのメッセージのルーティングを調整し、さまざまな宛先に対してより一貫した配信レートを提供できます。
SMSメッセージテンプレートをカスタマイズする
デフォルトのメッセージテンプレートを変更するか、メッセージをローカライズすることで、SMSメッセージをカスタマイズできます。さらに、一部の国では、SMSメッセージにブランド情報を含めるか、特定の規制要件に準拠する必要があります。「SMSメッセージをカスタマイズする」を参照してください。
デフォルトのSMSメッセージテンプレートをカスタマイズする前に、次の項目について考慮してください。
- サポートする必要がある言語
- サポートする言語に必要な文字セット
- 1つのSMSメッセージに許可される最大文字数
文字セットの制限
ほとんどの通信プロバイダーは、GSM-7文字セットを使用してSMSメッセージをエンコードします。GSM-7文字セットは、英語、スペイン語、フランス語など、ラテン語ベースのアルファベットを使用する多くの言語で最も一般的に使用される文字と記号をサポートしています。SMSメッセージは一度に140個の8ビットオクテットで送信されるため、GSM-7文字セットを使用してエンコードされたメッセージには最大160文字まで含めることができます。GSM-7文字セットを使用してメッセージをエンコードできない場合は、通常はUCS-2を使用してエンコードされます。たとえば、アラビア語、中国語、キリル文字などの非ラテンベースのアルファベット言語のメッセージなどです。UCS-2エンコーディングを使用したメッセージの最大長は70文字です。
メッセージセグメントと配信
Oktaは、GSMおよびGSM以外の文字を使用するSMSメッセージの送信をサポートしています。文字セットによって、メッセージあたりの最大文字数が決まります。また、メッセージがどのようにセグメントに分割され、配信されるかもここで決まります。
SMSメッセージの1セグメントあたりの文字数は、標準のGSM文字セットでは160文字が上限です。この上限を超えるメッセージは、153文字以内のセグメントに分割されます。セグメントは個別に送信され、受信側のエンドポイントによって組み立てられます。メッセージが161文字で構成されている場合は、2つの別個のメッセージとして送信されます。最初のメッセージは153文字、2番目のメッセージは8文字になります。このメッセージは2つの160文字のメッセージとしてカウントされます。
同様に、GSMではない文字を含むメッセージは、1セグメントあたり70文字に制限されます。GSM以外の文字の連結をサポートしている携帯電話キャリアはほんのわずかです。この上限を超えるメッセージは、67文字以内のセグメントに分割されます。
カスタムメッセージテンプレートの検証
SMSメッセージテンプレートがカスタマイズされている場合、Oktaはメッセージを確認し、GSM文字または非GSM文字のいずれが含まれているかを判断し、対応する制限数を適用してからメッセージを保存します。この確認により、カスタムSMSメッセージがメッセージセグメントの文字制限に従うことが保証されます。
以前に作成した可能性のあるカスタムSMSメッセージテンプレートに対しては、文字セットの検証は実行されません。ただし、既存のカスタムテンプレートを変更した場合、メッセージに非GSM文字が含まれていると、新しい制限が適用されます。
更新する予定のない既存のSMSメッセージテンプレートがある場合、そこに非GSM文字が含まれているかどうかを判断するのが難しいことがあります。その場合は、使用する文字を評価できるオンラインツールにそのようなテキストを入力してみてください。
SMSメッセージまたは音声通話イベントを表示または照会する
System Logを使用して、SMSメッセージまたは音声通話イベントを表示または照会できます。
たとえば、System Logを使用して、SMSメッセージが送信された日時の詳細を表示し、電話がAuthenticatorとして表示されているか、検証が成功したかどうかを確認できます。
これらのイベントを展開して、アクティビティに関する追加の詳細を表示できます。たとえば、SMSメッセージが宛先に正常に配信された場合、次のような詳細が表示されます。
また、System Logを使用して、特定のプロバイダーのステータスをフィルタリングおよび照会することもできます。例:
SMSメッセージまたは通話が失敗するシナリオはいくつかあります。
たとえば、認証要求が次のいずれかの理由で失敗する場合があります。
- テレフォニープロバイダーにアクセスできない
- 使用する電話番号が正しくないか、非アクティブになっている
- 要求されたサービスが、要求が行われた国で利用できない
- 検証リクエストがタイムアウトした
- 疑わしいアクティビティが原因で番号がブロックされている
SMSイベントタイプ
System Logには、SMSメッセージの次のイベントが記録されます。
イベント | 説明 |
---|---|
system.sms.receive_status | サービスプロバイダーからSMSメッセージのステータス更新を受信したときに記録されます。このイベントを使用して、ワンタイムパスコードが正常に配信されていないユーザーを特定できます。system.sms.send_*イベントの場合は、対応するsystem.sms.receive_statusイベントが1つだけ存在する必要があります。 |
system.sms.send_account_unlock_message | セルフサービスによるアカウントのロック解除に関するSMSメッセージが送信されたときに記録されます。 |
system.sms.send_factor_verify_message | 第二要素認証がSMSメッセージとして送信されたときに記録されます。 |
system.sms.send_okta_push_verify_message | Okta Verifyのモバイル用プッシュ通知に関するSMSメッセージに対するリクエストが送信されたときに記録されます。 |
system.sms.send_password_reset_message | セルフサービスによるパスワードのリセットに関するSMSメッセージが送信されたときに記録されます。 |
system.sms.send_phone_verification_message | 電話検証に関するSMSメッセージが送信されたときに記録されます。 |
System Log APIとSMSイベントタイプの詳細については、Okta開発者用ドキュメントの「イベントタイプ」を参照し、[Search(検索)]フィールドにsmsと入力してください。
音声イベントタイプ
System Logには、音声メッセージに関する次のイベントが記録されます。
イベント | 説明 |
---|---|
system.voice.receive_status | サービスプロバイダーから音声メッセージのステータス更新を受信したときに記録されます。このイベントを使用して、ワンタイムパスコードが正常に配信されていないユーザーを特定できます。system.voice.send_*イベントの場合は、対応するsystem.voice.receive_statusイベントが1つだけ存在する必要があります。 |
system.voice.send_account_unlock_call | セルフサービスによるアカウントのロック解除に関する通話が送信されたときに記録されます。 |
system.voice.send_call | 通話が送信されたときに記録されます。 |
system.voice.send_mfa_challenge_call | 第二要素認証が通話として送信されたときに記録されます。 |
system.voice.send_password_reset_call | セルフサービスによるパスワードのリセットに関する音声通話が送信されたときに記録されます。 |
system.voice.send_phone_verification_call | 電話確認に関する音声通話が送信されたときに記録されます。 |
System Log APIと音声イベントタイプの詳細については、Okta開発者用ドキュメントの「イベントタイプ」を参照し、検索フィールドにvoiceと入力してください。
テレフォニーの使用状況レポートを表示する
Organizationのユーザーに対して月次で国内外に送信されているSMSメッセージに関する詳細を確認できます。このレポートでは、ユーザーの行動パターンと、SMSメッセージが登録、サインインリクエスト、パスワードのリセット、またはアカウントのロック解除のどれに使用されているかを確認できます。
音声ベースの認証に使用する言語を選択する
個々のユーザーが、自分の本人確認のために受信する音声メッセージに使用される言語を選択できます。言語を選択するには、エンドユーザーダッシュボードの[Settings(設定)]をクリックします。[Edit Profile(プロファイルを編集)]をクリックして認証情報を確認したら、[Display Language(表示言語)]の設定を編集して、音声ベースの認証と復旧に使用する言語を選択できます。言語設定を変更してから電話で認証を行うと、選択した言語の音声メッセージが流れます。
ユーザー設定の変更に関する詳細については、「エンドユーザーの設定」を参照するか、ユーザーコミュニティを「表示言語の選択」に誘導してください。