SaaS

Oktaのポリシーをマスターしよう! -Global Session Policy編-

こんにちは!たつみんです。

Oktaのポリシーをマスターしよう!シリーズ記事のGlobal Session Policy編です。

この記事ではGlobal Session Policyにおいてポリシーやルールでどのような構成が行えるかやどのような役割を持っているかなどを解説します。

Oktaのポリシーをマスターしよう!のシリーズ目次

概要編のおさらい

以下は概要編のおさらいです。

  • Device Assurance Policy以外のポリシーの中にはルールが存在する
  • ルールの中にはIF(AND)とTHENが存在する
  • ポリシーの適用はグループ単位やアプリケーション単位やOSプラットフォーム単位がある

Global Session Policyとは

一言で言ってしまうとOktaテナント全体の大雑把な認証方針を設定します。

主に以下の観点を定義します

  • セッション開始時にパスワードを使うかAuthentication Policiesを参照するか
  • Oktaテナント全体としてMFAを利用するかどうか
  • Oktaテナント全体のセッション管理について

ここでよくある誤解としてはGlobal Session PolicyではMFAを利用するかどうかを定義できますが、特定のアプリケーションにアクセスする際に利用するMFAを具体的に定義することはできません。その役割はAuthentication Policyで認証強度を指定することで対応します。

認証フローの概要

以下は簡易的に認証フローを表したものです。

ユーザーがアクセスするのは個別のSaaSやOkta Dashboardなのでそれらに関連する認証ポリシーはAuthentication Policyですが、その前にまずGlobal Session Policyを通過します。

このためGlobal Session Policyは普段はあまり意識しないポリシーではありますが非常に重要なポリシーでもあります。

Global Session Policyの適用範囲について

ポリシーを新しく作成する時は以下のようにグループを指定します。

また以下のように複数のポリシーがある場合は上から順番に参照されます。

  • Policy A
    • 対象グループ:Group A
  • Policy B
    • 対象グループ:Group B

もし、あるユーザーがGroup AとGroup Bの両方に所属している場合は、より上位に位置するPolicy Aが参照されます。この順番はドラッグ&ドロップで並び替えすることができます。ただしDefult Policyは対象グループがEveryoneに固定され、優先順位も常に最下層に位置します。

推奨設定

Ruleの追加

Policy部分ではグループを指定するのみのため、具体的な設定はRule部分で設定します。以下ではパスワードレス認証であるFastPassを利用する前提の設定を追加します。

  1. Establish the user session withをAny factor used to meet the Authentication Policy requirementsとする
  2. Multifactor authentication (MFA) isをRequiredとする
  3. Users will be prompted for MFAをAt every sign inとする

上記の1.によりユーザーがアクセスするアプリケーションで設定されている認証方法が要求されます。この設定がA passwordの場合は必ずパスワードが要求されるためFastPass(パスワードレス認証)が実現できなくなります。

また、2.3.によりOktaへサインインする時にMFAを必ず要求するようになります。

非推奨:MFAを行わない場合

Policyの追加とRuleの追加

以下の設定ではMFAを行わない設定となります。なんらかの要因でMFA設定ができない場合にポリシーをDefult Policyとはわけて対象とするグループを絞り込んで設定します。

  1. 専用グループを作成する
  2. Add policyをクリックし、新規Global Session Policyを作成する
  3. 1.で作成したグループを対象とする
  4. ルールとして以下を作成する
  5. Establish the user session withをA passwordとする
  6. Multifactor authentication (MFA) isをNot requiredとする
Global Session Policy以外で必要な設定

Okta Dashboardなどアクセスをさせたいアプリケーションに関連するAuthentication PolicyでもMFAを要求しないポリシー設計とします。また、Authenticator Enrollment PolicyについてもMFA登録を必須化させないポリシーとします。詳細はそれぞれのブログ記事でご紹介します。

Okta global session management

ここではOktaのセッションの時間や挙動を設定します。

Maximum Okta global session lifetime

Oktaのセッションの最大値を設定するかどうかを決めます。設定する場合は値を設定することでユーザーがどんなにアクティブな状態を続けても設定した値を超えてセッションを継続することはできません。推奨値はSet time limitです。期間については任意の値を設定します。

Maximum Okta global session idle time

アイドル状態が続いた場合にセッションが切れるまでの時間を設定します。1日1度認証をさせるような場合は終業から始業の間隔を考えて8時間から12時間程度に設定するとよいでしょう。

Okta global session cookies persist across browser sessions

MFAを実施した結果を保存することでユーザーがブラウザを閉じた後に再度MFAを求めないようにするかを設定します。推奨値はDisableです。

まとめ

Global Session Policyは表立って意識することはないのですがOkta自体のセッションを始める時に必ず通過します。このセッションを始めるタイミングでMFAを要求するかしない、毎回実施するかどうかを設定できます。

またGlobal Session PolicyはAuthentication PoliciesやAuthenticator Enrollment Policyとの関連性もあります。

今は以上のことを認識していただければ十分です。今後、Authentication PoliciesやAuthenticator Enrollment Policyの解説ブログ記事の中でGlobal Session Policyについて思い出していただければと思います。

たつみん

事業会社の情シスからクラウドネイティブにJoin!
好きなものはF1海外観戦とベルギービール!
集中力の質は深く長く遅い典型的なシングルタスクタイプです。