カスタムOTPオーセンティケーターの構成
カスタムOTPオーセンティケーターは、ハードウェアまたはソフトウェア セキュリティトークンを介してワンタイムパスワード(OTP)を提供します。
このオーセンティケーターを使用するには、管理者がカスタムOTPオーセンティケーターをOktaに追加します。その後、管理者は、各トークンに対してOkta Factors APIを通じてオーセンティケーターID要素とsharedSecret要素を渡す必要があります。
オーセンティケーターがアクティブ化された後にユーザーがOktaにサインインすると、管理者から提供されたコードを入力するように求められます。その後、ユーザーはサインイン時にOTPアプリまたはトークンに表示されるコードを入力してIDを確認します。
カスタムOTPオーセンティケーターインスタンスは必要な数だけ追加できます。各インスタンスには独自の構成があります。これにより、ユーザーのグループをオーセンティケーターの異なるインスタンスに割り当てて、制御とセキュリティを強化できます。
このオーセンティケーターは標準のOTPトークンのみをサポートします。独自仕様の実装や非標準トークンはサポートされていません。
はじめに
- Okta Factors APIのドキュメントと、カスタムHOTP要素へのエンドユーザーの登録手順を確認します。
- orgでカスタムOTPオーセンティケーターがまだ有効になっていない場合は、Oktaサポートに連絡して有効にしてください。
- カスタムOTPオーセンティケーターに登録するユーザーごとに一意の共有シークレットを生成します。
- 一意の共有シークレットを持つハードウェアまたはソフトウェアセキュリティ トークンをエンドユーザーに提供します。
- OTPの実装でHMACアルゴリズムまたは共有シークレットのエンコーディングを使用する場合は、手順を開始する前にこの情報を準備してください。
オーセンティケーターとしてカスタムOTPを追加する
-
Admin Consoleで、 に移動します。
- [Setup(設定)]タブで、[Add Authenticator(オーセンティケーターを追加)]をクリックします。
- [Custom オーセンティケーター(カスタムオーセンティケーター)]タイルの[Add(追加)]をクリックします。
- 次の設定を構成します。
オーセンティケーター名
OTPの長さ
[HMAC Algorithm(HMACアルゴリズム)]。実装に適したアルゴリズムを選択してください。
[Time step(時間ステップ)]。[Clock drift interval(クロックドリフト間隔)]を参照してください。
[Clock drift interval(クロックドリフト間隔)]。この設定により、トークンの現在の時刻とサーバーの現在の時刻の差に対する許容度を組み込むことができます。この値は秒で計測されます。ユーザーがコードを入力できる間隔を計算するには、[Time step(時間ステップ)]の値に[Clock drift interval(クロックドリフト間隔)]の値を掛けます。たとえば、タイムステップの値が60秒でクロックドリフト期間の値が 5 の場合、60 X 5の結果は300になります。これは、Oktaがエンドユーザーがコードを入力する前後300秒以内にパスコードを受け入れることを意味します。
Shared secret encoding(共有シークレットのエンコード)。実装に適したアルゴリズムを選択してください。
作成後にOTP構成を編集することはできません。次の手順に進む前に、選択内容を確認してください。
- [Add(追加)]をクリックします。OktaがオーセンティケーターIDを生成します。これは、Okta Factors APIを使用してユーザーをカスタムOTPオーセンティケーターに登録するために使用されます。
- オーセンティケーターIDを取得します。
- [Actions(アクション)]をクリックします。
- [オーセンティケーター ID & Info(オーセンティケーターIDと情報)]をクリックします。
- クリップボードのアイコンをクリックしてオーセンティケーターIDをコピーします。Okta Factors APIにユーザーを登録するときに、このIDをfactorProfileIdとして入力します。
エンドユーザーを登録する
Okta Factors APIのカスタムHOTP要素の登録機能を使用してユーザーを登録します。
ユーザーは、一度に1つのカスタムOTPオーセンティケーターインスタンスにのみ登録できます。複数のインスタンスにユーザーが表示されないようにしてください。
ほかのすべてのユーザーを登録する前に、少数のユーザーでテストして構成が機能することを確認することをお勧めします。これにより、構成エラーの影響を少数のユーザーのみに制限し、残りのユーザーを登録する前に修正することができます。
作成後にカスタムOTPオーセンティケータープロファイルを編集することはできません。カスタムOTPオーセンティケータープロファイルに構成エラーを発見した場合は、影響を受けるすべてのユーザーを新しいカスタムOTPオーセンティケータープロファイルに再登録できます。すべてのユーザーを削除したら、カスタムOTPオーセンティケータープロファイルを削除できます。
API呼び出しを行うために、各ユーザーについて以下の情報があることを確認します。
- 要素タイプ:token:hotp
- プロバイダー:CUSTOM
- プロファイルID(設定手順で取得したオーセンティケーターID)
- 共有シークレット
正しいuserIdが各factorIDに割り当てられていること、および正しいセキュリティトークンに割り当てられていることを確認してください。これらの値が正しいエンドユーザーに対応していない場合、エンドユーザーが認証しようとしたときにエラーが発生します。
カスタムOTPオーセンティケーターに多要素ポリシーを追加する
- Okta Admin Consoleで、[Security(セキュリティ)]>[Authenticators(オーセンティケーター)]に移動します。
- [Enrollment(登録)]タブで、[Add a policy(ポリシーを追加)]をクリックします。
- このポリシーの名前と説明を入力します。
- 多要素ポリシーをグループに割り当てます。
- カスタムOTPオーセンティケーターインスタンスの[Optional(任意)]または[Required(必須)]オプションを選択します。インスタンスの名前をカスタマイズした場合は、カスタムOTPの代わりにカスタマイズした名前を見つけます。
- [Create Policy(ポリシーを作成)]をクリックします。
- ポリシーにルールを追加する場合は、「オーセンティケーター登録ポリシールールを構成する」を参照してください。
カスタムOTPオーセンティケーターの多要素ポリシーを編集する
- Admin Consoleで、[Security(セキュリティ)]>[Authenticators(オーセンティケーター)]に移動します。
- [Enrollment(登録)]タブで編集するポリシーを選択し、[Edit(編集)]をクリックします。
- [Effective factors(有効な要素)]で、カスタムOTPオーセンティケーターインスタンスの[Optional(任意)]または[Required(必須)]オプションを選択します。インスタンスの名前をカスタマイズした場合は、カスタムOTPの代わりにカスタマイズした名前を見つけます。
- [Update Policy(ポリシーを更新)]をクリックします。
- ポリシーにルールを追加する場合は、「オーセンティケーター登録ポリシールールを構成する」を参照してください。
エンドユーザーエクスペリエンス
- グローバルセッションポリシーに従って、ユーザーはOktaにサインインするとき、またはOktaで保護されたアプリにアクセスするときに、オーセンティケーターを使用してIDを確認するように求められます。
- ユーザーがカスタムOTPオーセンティケーター(またはオーセンティケーターインスタンスのカスタマイズされた名前)を選択します。
- ユーザーがOkta Factors APIで正常に登録されると、セキュリティトークンに表示されるパスコードを入力するように求められます。
- エンドユーザーがAPIで正常に登録されなかった場合は、管理者に連絡するように指示するエラーが表示されます。
機密性の高い企業リソースを不正アクセスから保護するために、Oktaでは、Oktaに登録されたサードパーティーのOTPオーセンティケーターから試行された認証の失敗にレート制限を適用しています。試行された認証の失敗の累積回数が5分間で5回に達すると制限が適用されます。認証の失敗がレート制限を超えると、レート制限期間が経過するまで認証は許可されません。「リクエストが多すぎる」ことを示すHTTPステータス・コード429がOktaから返されます。メッセージがユーザーインターフェイスに表示され、エントリーがSystem Logに書き込まれます。