OktaへのサインインでYubiKeyを使えるようにする

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、先日姓が変わったトラン (旧こやま) です。みなさんいかがお過ごしでしょうか?

きょうは、代表的な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 IdentititySecret Keyを設定します。それぞれのGenerateボタンを選択して、新しい値を生成しましょう。

以上の設定に誤りがないことを確かめたら、Write Configurationを選択して、コンピュータに接続されたYubiKeyに対してプロビジョニングを行います。Automatically program YubiKeys when insertedを選択した場合、次のYubiKeyを接続してプロビジョニングを続行します。すべてのYubiKeyでプロビジョニングを行ったら、Stopボタンで終了しましょう。

Select Log Fileでは、任意の場所を指定してログファイルを保存します。このログファイルはプロビジョニングが行われたYubiKeyの情報を含んでおり、Oktaへアップロードする必要があります。

Bildschirmfoto 2017-06-06 um 10.09.27

Resultsでは、それぞれのYubiKeyでプロビジョニングが成功したかどうか表示されます。一覧のModhexは、YubiKey本体の裏面に記載されたシリアル番号をModhex Calculatorで入力することで得ることができます。以下では隠していますが、7桁のシリアル番号から得られるModhex 6桁の先頭に "cccccc" を加えて表示されます。

続いてOkta Adminを開いて、Security > Authenticationの順に選択します。Authenticationページが表示されたら、YubikeyタブからYubiKey Personalization Toolのログファイルをアップロードしましょう。

Bildschirmfoto 2017-06-06 um 10.22.07

次に、ユーザーが使用できる認証ファクターとして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を使う方法についても機会を改めてご紹介たいと思いますから、どうぞお楽しみに!

したっけまた。