コンテンツまでスキップ

【Okta】緊急時に役立つTemporary Access Code機能の設定と運用ポイント

はじめに

こんにちは、ネクストモード株式会社テクニカルサポート担当です。

Oktaを運用していると、ユーザーが多要素認証(MFA)に使用しているスマートフォンやYubikeyなどの物理デバイスを忘れた場合の対応に迫られることがあります。この問題に対処するため、Early AccessとしてリリースされたTemporary Access Code(以下、TAC)について確認してみます。

 

全体の流れ

TACの利用開始までの流れは以下のとおりです。TACは知識情報のみであるため、パスワードと組み合わせてもMFAとして認められません。そのため、MFAを導入している組織では、TACを利用するために各種ポリシーの調整が必要です。

事前準備

  • Early Accessの有効化
  • Oktaグループの作成
  • Global Session Policyの調整
  • Authentication Policyの調整

TAC設定

  • AuthenticatorでのTAC設定

 

事前準備

最初にEarly Accessで『Temporary Access Code』を有効化します。

Okta管理画面でEarly AccessからTemporary Access Codeを有効にしています。

 

各種ポリシーを調整する際に対象者を限定するため、まずOktaグループを作成します。今回は『TAC User』という名前でグループを作りました。

次に、Global Session PolicyでMFAを要求している場合は、Oktaグループ『TAC User』を指定し、MFAを要求しないポリシーを作成します。

Global Session PolicyでTAC専用ポリシーを作成しています。

 

また、Authentication PolicyでMFAを要求している場合も、Oktaグループ『TAC User』を指定し、TACのみで認証を行うポリシーを作成します。ユーザーが利用するSPに応じたポリシーが複数ある場合は、それぞれのAuthentication Policyで対応が必要です。

Authentication PolicyでTAC専用ポリシーを作成しています。

 

TAC設定

TACはAuthenticatorの一つのため、Security > Authenticators内のAdd authenticatorから追加し、Editから編集をします。

AuthenticatorからTACの編集をしています。

 

設定時には以下の選択肢があります。

  • Minimum expiry length:最低有効期限
  • Maximum expiry length:最高有効期限
  • Default expiry length:有効期限初期値
  • Character length:TAC文字数
  • Code complexity:TACの複雑性(数字以外に文字、記号の指定)
  • Allow multi-use codes:TACの利用を複数回認めるか

TACの定義をしています。

 

最後にAuthenticatorsのEnrollmentでTemporary Access CodeがOptionalとなっていることを確認します。これで設定は完了です。

AuthenticatorsのEnrollmentでTACがOptionalであることを確認しています。

 

想定される運用の流れ

Temporary Access Code (TAC) は、その名のとおり日常的に使用するものではなく、必要な場合にのみ以下の流れで利用します。ここでは、冒頭で紹介したOkta公式ドキュメントの内容に補足を加えながら説明します。

  • ユーザーが物理デバイスを忘れてMFAが利用できないとOkta管理者に報告します。

  • Okta管理者は対象ユーザーの本人確認を行います。補足:以下のような本人確認が考えられます。

    • 対面であればそのまま本人確認を行う
    • 非対面であれば社員番号や入社日などの情報から本人確認を行う
  • Okta管理者はOkta管理画面から対象ユーザーをOktaグループ『TAC User』に追加します。

    Oktaグループ「TAC User」にユーザーを追加しています。

  • 次にDirectory > Peopleから対象ユーザーを開き、Actionから『Create Temporary Access Code』をクリックします。

    対象ユーザーのTACを作成しています。

  • 有期限を決めて、『Create code』をクリックします。

    有効期限を設定しています。

  • 以下のように操作すると、コードが表示されます。

    発行されたTACと有効期限が表示されています。

  • 表示された『Active code』を対象ユーザーに伝えます。

  • 対象ユーザーはOktaにログインする際に以下のような画面が表示され、『Active code』を入力してログインします。

    ユーザーがTACを入力する画面です。

 

運用上の課題

TACは、MFAが利用できない状況で使用されるため、単一要素での認証となります。この機能を導入するには、各種ポリシーの調整とOktaグループ『TAC User』の適切な設定が不可欠です。

TACは1回限りまたは複数回使用かを選択できますが、いずれも期限付きです。セキュリティを確保するためには、有効期限が切れた時点でユーザーをOktaグループ『TAC User』から速やかに削除し、本来のMFAポリシーが適用されるようにすることが重要です。

 

まとめ

TACは緊急時に効果的な解決策ですが、運用面での煩雑さが課題となります。Oktaグループからのユーザー削除を効率化するためには、Access Requestを活用したり、Okta WorkflowsでAPI実行を自動化したりする方法が有効でしょう。

APIを使ったTAC作成の詳細については、Temporary access code authenticator integration guideのGenerate a TAC for a userセクションをご参照ください。

実用的な観点では、物理デバイスを忘れた場合、MFAをリセットしてWindows端末やMac端末上のOkta Verifyを利用する方法も考えられます。端末上のOkta Verifyが使えない状況(コールセンター業務など)では、予備のYubikeyをあらかじめ用意して一時的に貸与することで、より円滑な運用が可能になります。

以上、Temporary Access Code(TAC)機能について解説しました。個人的な見解ですが、運用の煩雑さを考慮すると、実際の導入には慎重な検討が必要だと感じます。まだEarly Accessの段階ですので、今後General Availabilityになった際には、よりスムーズな運用ができる仕組みになることを期待しています。