OktaへのサインインでYubiKeyを使えるようにする
こんにちは、先日姓が変わったトラン (旧こやま) です。みなさんいかがお過ごしでしょうか?
きょうは、代表的なIDaaSのひとつであるOktaへのサインインでYubiKeyを使えるようにする方法についてご紹介したいと思います。
やってみる
まず、YubiKey本体のプロビジョニングを行います。あらかじめ、以下のページからYubiKey Personalization Toolを入手しておきましょう。
YubiKey Personalization Tools | Yubico
OktaでYubiKeyを使うには、すべてのYubiKeyに一意な情報をOktaに登録しておく必要があります。この操作をシームレスに行うため、OktaではYubico formatのCSVファイルを読み込むことができます。YubiKey Personalization ToolのSettingsタブからLogging Settingsを参照して、Log configuration outputとしてYubico formatが選択されていることを確かめましょう。
続いてYubico OTPタブからAdvancedを選択します。これは、OktaがYubicoのサービスを経由することなくYubiKeyを使用する仕様であることから必要な操作です。
- Quick: Quickly program a YubiKey for use with Yubico Validation Server
- Advanced: Allows you to program one or more YubiKeys with greater control over the configuration values
Program in Yubico OTP mode - Advancedのページでは、Configuration Slot 2を選択します。
- Configuration Slot 1: YubiKeyに1から2秒触れることでOTPが送信されます。Configuration Slot 1の情報は出荷時にYubico Validation Serverへ登録されていますが、Oktaへのサインインでは使用しません。
- Configuration Slot 2: YubiKeyに3から5秒触れることでOTPが送信されます。
複数のYubiKeysに対してプロビジョニングを行うには、Program Multiple YubiKeysを選択します。Parameter Generation SchemeとしてIdentity from serial; Randomize Secretsを忘れずに選択しましょう。
誤ってConfiguration Slotに書き込まれた情報が消去されることを防ぐため、Configuration ProtectionからYubiKey(s) unprotected - Enable protectionを選択、Use Serial Numberを選択しましょう。
Yubico OTP Parametersでは、Private IdentitityとSecret Keyを設定します。それぞれのGenerateボタンを選択して、新しい値を生成しましょう。
以上の設定に誤りがないことを確かめたら、Write Configurationを選択して、コンピュータに接続されたYubiKeyに対してプロビジョニングを行います。Automatically program YubiKeys when insertedを選択した場合、次のYubiKeyを接続してプロビジョニングを続行します。すべてのYubiKeyでプロビジョニングを行ったら、Stopボタンで終了しましょう。
Select Log Fileでは、任意の場所を指定してログファイルを保存します。このログファイルはプロビジョニングが行われたYubiKeyの情報を含んでおり、Oktaへアップロードする必要があります。
Resultsでは、それぞれのYubiKeyでプロビジョニングが成功したかどうか表示されます。一覧のModhexは、YubiKey本体の裏面に記載されたシリアル番号をModhex Calculatorで入力することで得ることができます。以下では隠していますが、7桁のシリアル番号から得られるModhex 6桁の先頭に "cccccc" を加えて表示されます。
続いてOkta Adminを開いて、Security > Authenticationの順に選択します。Authenticationページが表示されたら、YubikeyタブからYubiKey Personalization Toolのログファイルをアップロードしましょう。
次に、ユーザーが使用できる認証ファクターとしてYubikeyを追加します。以下の要領でMultifactorタブからEditボタンを選択し、YubikeyをチェックしてSaveしましょう。
続いて、Oktaのサインインポリシーで «ある条件下でMFAを求める» ルールを追加します。SecurityメニューからPoliciesを選択して、Default PolicyのAdd Ruleボタンを選択しましょう。
今回は、特定のネットワーク (ゲートウェイ) 以外からサインインを試行した場合にMFAを求めるようなルールを作成しました。対象のネットワークを追加するには、Manage configuration for Networkを選択しましょう。
- If a User is located: Off Network
- And Authenticates via: Any
- Then Access is: Allowed
- Prompt for Factor
- Every Time
- And Session Lifetime is: 2 Hours
新しく追加したルールは、暗示的なDefault Ruleの前に置かれます。今回のルールは、設定した条件、具体的にはOff Networkを満たしたときだけに適用されます。
では、早速登録外のネットワークからサインインしてみましょう。いつものようにメールアドレス、パスワードを入力すると...
このユーザーは一度もMFAを使用したことがなかったため、ファクターを追加するように求められました。Yubikeyの欄にある設定ボタンを選択して...
表示された画面では、プロビジョニングの済んだYubiKeyに3秒以上触れてConfiguration Slot 2のキーを送信します。確認ボタンを選択すると...
YubiKeyをファクターリストに追加することができました! 次回以降、ユーザーは追加したファクター (YubiKey) でMFAによるサインインを求められるようになります。
おわりに
いかがでしたか? 今回は、代表的なIDaaSのひとつであるOktaでYubiKeyを使えるようにする方法についてご紹介しました。他のIDaaSやActive Directory Federation ServicesでYubiKeyを使う方法についても機会を改めてご紹介たいと思いますから、どうぞお楽しみに!
したっけまた。