こんにちは!たつみんです。
Oktaでは複数のポリシー設定があり、それらを組み合わせて認証・認可を実現しています。
複数のポリシーがどのようにお互いに作用し合っているのかをイメージできるかどうかでOktaに対する理解度が変わってくると思います。
ただひとつの記事で複数のポリシーを扱うと混乱しやすいため本記事は概要編という位置付けで少し俯瞰した内容とします。それぞれのポリシーの詳細は別記事でご紹介予定です。
Oktaのポリシーをマスターしよう!のシリーズ目次
- 概要編←今日のブログはここ!
- Password Policy編
- Global Session Policy編
- Authenticator Enrollment Policy編
- Authentication Policies編
- Device Assurance Policies編(過去の検証ブログ)
Oktaのポリシー概要
まずはOktaでポリシーと名のつくものたちを紹介します。
私が調べた限りだと以下の6つがあります。
- Password Policy
- Global Session Policy
- Authenticator Enrollment Policy
- Authentication Policies
- Device Assurance Policies
- Profile Enrollment Policy
以下でざっくりとした役割を説明します。
Password Policyの役割
パスワードについて文字数や記号の要否等を定義します。
Global Session Policyの役割
Oktaテナント全体としてMFAの利用するかしないか、ログイン後のセッション管理について定義します。
Authenticator Enrollment Policyの役割
利用するAuthenticatorをどのようにユーザーに登録をさせるのかを定義します。
Authentication Policiesの役割
Oktaと連携したSaaS(SP)へアクセスする際にどのようなポリシーを適用し、アクセスを許可するのか拒否するのかを定義します。
Authentication Policiesではプリセットのポリシー含め複数のポリシーが存在するため、項目名としては複数形のPoliciesとなっています。
本ブログ記事シリーズ内では特定のポリシーを指す場合は単数系のAuthentication Policyと記載します。管理画面上の項目名を指す場合はAuthentication Policiesと記載します。
Device Assurance Policiesの役割
Okta Verifyを経由し取得可能な端末状態を活用しポリシーとして定義します。
Authentication Policiesと同様に本ブログ記事シリーズ内では複数形と単数系の表記の使い分けをおこないます。
Profile Enrollment Policyの役割
エンドユーザーから属性を収集するために定義します。
企業内においてOkta管理者がユーザーが属性を定義、値を設定できる場合が多く、あまり活用されないため本ブログ記事シリーズでは詳細については触れないものとします。
ポリシー構成の基本的な考え方について
1つのポリシーの中にルールは複数作成することができます。そしてルールの中には大きくIF(ANDも含む)とTHENという2つの部分があります。
IF部分について
そのルールを適用させるための条件を定義することができます。
THEN部分について
IF部分である条件に合致したときにどのようなアクションを行うかを定義することができます。
この概念を図で表すと以下のようになります。
ただし、Device Assurance Policiesだけはルールという概念がありません。このポリシーはデバイスのOSプラットフォームごとに作成し、その中で条件部分のみを定義します。これはDevice Assurance PolicyはAuthentication PolicyのIF部分に組み込まれる前提のためTHENにあたる部分が存在しません。
ポリシー適用範囲の基本的な考え方について
ポリシーの適用対象を決める方法と対応するポリシーは以下のとおりです。
- グループを指定する方法
- Password Policy、Global Session Policy、Authenticator Enrollment Policy
- アプリケーションを指定する方法
- Authentication Policy
- OSプラットフォームを指定する方法
- Device Assurance Policy
まとめ
- Device Assurance Policy以外のポリシーの中にはルールが存在する
- ルールの中にはIF(AND)とTHENが存在する
- ポリシーの適用はグループ単位やアプリケーション単位やOSプラットフォーム単位がある
以上のことを掴んでいただくだけでもOktaのポリシーについて基本的な構造について鮮明になるのではないでしょうか。
次回以降はそれぞれのポリシーを個別に取り上げて深掘りしてみようと思います。