目次 メールだけでパスワード復旧する 2つのオーセンティケーターを使って、パスワード復旧する パスワードを何度も間違えてロックアウトされた場合の復旧 まとめ 本ブログ記事では、Okta Workforce Identity Cloud (以降、Okta WIC) での「Self-service account recovery (セルフサービスのアカウント復旧)」機能について解説します。 Oktaでは、「パスワードレス認証」=「パスワードを使わない認証」を推奨していますが、まだまだパスワードは利用されているようです。 理由は「パスワードは誰もが慣れているから」「導入しやすいから」という側面が大きいように思います。 しかし、パスワード文字数が少なかったり、abc123のようなありきたりなパスワードだと推測されやすいので、攻撃者にログインされてしまうリスクが高まります。 そこで、文字数を長く、様々な文字種 (大文字と小文字の混在、記号を1つ以上入れる、等) が必要な、類推されにくいであろうパスワード設定ルールを適用することになると思います。 (「どのようなパスワードルールが適切なのか、基準を知りたい。」という場合には、NIST800-63B 「5.1.1.2 Memorized Secret Verifiers」がご参考になるかと思います。) ところが、そうするとユーザーは「パスワードを忘れてしまった」、「何度も入力を間違えてロックアウトされてしまった」ということが頻発し、ヘルプデスクでそれらに対応する人々は疲弊してしまいます。 かといって、そのためにパスワード設定ルールを簡単なものにするわけにもいきません。ではどうすればよいか? 「パスワード忘れもロックアウトも、ユーザー自身で復旧してもらう方式があればよい」ですよね。 本ブログ記事では、その方法について解説していきます。 スクリーンショットが多いので記事が長くなりましたが、お付き合いくださいますと幸いです。 以降の解説は、以下のブログ記事の内容を実施済み (理解済み) の前提で進めていきます。 ・初めてのOkta Workforce Identity Cloud (WIC) トライアル環境の構築 ・初めてのOkta Workforce Identity Cloud (WIC) [第1回] ユーザーと認証器の関係を紐解く ・初めてのOkta Workforce Identity Cloud (WIC) [第2回] 多要素認証を紐解く メールだけでパスワード復旧する まずはシンプルな、メールだけを使ってユーザー自身でパスワードを復旧する方法から説明します。 (おそらく、デフォルトで有効になっているはずですが、設定と確認方法をお伝えします。) パスワード復旧に限らずのことですが、ユーザーがOkta WIC上で何かを行いたくてOkta WICにアクセスする場合は、兎にも角にも最初にOkta Dashboardアプリにアクセスすることになります。 そのため、パスワード復旧においても、少なからずOkta Dashboardアプリの認証ポリシー設定の影響を受けます。 よって、本ブログ記事では、Okta Dashboardアプリはシンプルに「パスワード」だけで認証できるように設定しています。(以降の説明がややこしくならないように。) メールだけでパスワード復旧する設定 では、設定を確認していきましょう。 「セキュリティ」→「Authenticator」→「セットアップ」タブで、「パスワード」の「編集」をクリックします。 表示された「パスワード」設定画面の一番下に「デフォルトルール」がありますので、その右端のペンシルマークをクリックします。 デフォルトルールの設定画面が表示されます。 上記画面の「[THEN] ユーザーはセルフサービスで実行できます」の設定で、以下2つが有効になっていますが、今回は、2つ目の「パスワードリセット」の方に焦点を当てます。 ・「パスワード変更 (アカウント設定から)」=「ログインしてから自身でパスワード変更する」 ・「パスワードリセット」=「パスワードを忘れてしまったので自分自身で復旧する」 「[AND] ユーザーは次を使用してリカバリーを開始可能:」の設定では、「メール」が選択されています。 「[AND] 追加の検証:」の設定では、「任意」が選択されていますが、英語UIでは「Not Required」なので、「要求しない」が正しいです。(Okta社内で修正依頼中です。) ※ 上記2つの[AND]の設定がやや曲者ですので、後ほど実例を用いて解説します。 ここまでで説明した設定になっていれば、「キャンセル」でOKです。 設定が異なっていれば、この状態に設定変更して、「ルールを更新」をクリックします。 メールによるパスワード復旧の動作確認 本ブログ記事では、テスト用に新規ユーザー: 「dsaku.dkawa@atko.email」を追加しました。 「dsaku.dkawa@atko.email」は有効化済みであり、Okta Dashboard へパスワードでログインできることも確認済み、という前提です。 では、メールを使ったパスワード復旧の動作を確認してみましょう。 Okta Admin Consoleとは異なるブラウザ (またはシークレットウィンドウ) で、Okta WICのURLへアクセスします。 表示された以下の画面で「dsaku.dkawa@atko.email」を入力して、「次へ」をクリックします。 「パスワードをお忘れですか?」をクリックします。 「メールを送信する」ボタンをクリックします。 メールアプリに移動し、dsaku.dkawa@atko.email宛に届いたメールを開き、「Reset Password」をクリックするか、Okta WIC画面に戻って、6桁のコードを認証画面に入力します。 以下のように、新しいパスワードの入力が求められる画面が表示されます。 パスワード要件に従って、新しいパスワードを2箇所に入力し、「パスワードのリセット」をクリックします。 結果、パスワードのリセットが成功し、Okta Dashboradにログインできます。 2つのオーセンティケーターを使って、パスワード復旧する 「メールだけでパスワードを復旧するのは、セキュリティ面で不安がある」という場合に、追加で別のオーセンティケーターを加えることができます。 ここでは、時刻同期ワンタイムパスワード (TOTP) 機能を持つ「Google Authenticator」を追加して、『「メール」と「Google Authenticator」の2つで認証が成功したら、パスワード復旧を許可する』という設定にしたいと思います。 「セキュリティ」→「Authenticator」→「セットアップ」タブで、「Authenticatorの追加」をクリックします。 「Google Authenticator」の「追加」をクリックします。 表示された画面の「用途」の下に「認証と復旧」とありますので、「認証」と「パスワード復旧」の2つの用途で利用されることがわかります。「追加」をクリックします。 現時点では、「メール=パスワード復旧のみ」「Google Authenticator=認証とパスワード復旧」となっていることを意識しておいてください。 ちょっと難ありな設定 ここではまず、「ちょっと難ありな設定」を行ってみます。 「難ありな設定」を知っておくことで、設定が持つ意味を掴めると思いますので。 もう一度、「セキュリティ」→「Authenticator」→「セットアップ」タブで、「パスワード」の「編集」をクリックします。 表示された「パスワード」設定画面の一番下の「デフォルトルール」の右端のエンピツマークをクリックします。 表示された以下の画面で、以下2つを設定変更します。 「[AND] ユーザーは次を使用してリカバリーを開始可能:」の設定では、「メール」と「Google Authenticator」を選択します。 「[AND] 追加の検証:」の設定では、「MFA/SSOに使用される任意の登録済みAuthenticator」を選択します。 この設定が意味するところは「パスワード復旧は、2つ目の認証がOKになったら許可しますよ」ということです。 「ルールを更新」をクリックします。 (※ 現在のオーセンティケーター設定とこの設定の組合せが、既に「難あり」な状態になっています。) ユーザーが「メール」と「Google Authenticator」の2つの認証が成功したらパスワード復旧を許可したいので、「Google.