こんにちは、ひろかずです。
OktaでSSOしたいけど、二要素認証するためのスマホデバイスを持っていない(支給していない)場合どうするの?という話を聞いたので一筆書きます。
tl;dr的な何か
Oktaでは、必ずしも二要素認証をしないといけないわけではありません。
本エントリで紹介するのは、送信元IPアドレスを条件の一つにしてOktaへの接続をコントロールする手法です。
- IPアドレスは、厳密には認証要素とはなり得ません
- 二要素認証を妥協して、SSOを利用できることを優先するアプローチとも言えます。
- デバイスを所有させていないのに、[所有していること]や[備えていること]を要素を求めるのはちょっと難しいですよね。製品の問題というより、利用する側の問題だと思います。
事務所の電話にコールするようにも設定できますが、誰が取るかわからないのはちょっとやり辛いかなと思います。
はじめに
ITの利用が普及してきて、OktaなどのIdPを用いたSSOを利用するシーンが増えてきました。
ITを利用する人たちは様々で、中にはスマホを所有していない人もいます。
人数が多く、IT機器の稼働率が低い(でも、利用はする)ので、全員にスマホやデバイスを支給されていない(できない)こともあるでしょう。
- 例えば、工場勤務の人たちのように
そんなシチュエーションでのお話です。
前提
- Oktaのテナントを所有しており、管理権を有していること
- OktaとID基盤が連携されており、利用可能な状態であること
- 当該利用者の送信元IPが特定(固定)できること
ざっくり構成
工程
- 当該利用者用のOktaグループを作成する
- 当該利用者用のネットワークZoneを作成する
- 認証ポリシーとルールを作成する
- 動作確認
1. 当該利用者用のOktaグループを作成する
Oktaの管理画面にログインし、[Directory] > [Grouop]を選択
[Add Group]を選択して、グループを作成(ここでは、hirokazu-factoryを作成)
作成したグループを選択して、[Mangage People]を選択
グループに参加させるユーザーを検索して追加
2. 当該利用者用のネットワークZoneを作成する
Oktaの管理画面の[Security] > [Networks]を選択して、[Add Zone]を選択
Zone名と送信元IPを設定して、[Save]を選択
3. 認証ポリシーとルールを作成する
Oktaの管理画面の[Security] > [Authentication]を選択し、[Add New Okta Sign-on Policy]を選択
Policy名と解説を入力し、先程作成したグループを設定して、[Create Policy and Add Rule]を選択
ルール名を設定し、[IF User'IP is]の項目をIn zone
と設定して、作成したネットワークZoneを選択して、[Create Rule]を選択
もう一つルールを作成し、[IF User'IP is]の項目をNot in zone
と設定して、作成したネットワークZoneを選択して、[Prompt for Factor]にチェックを入れて、[Create Rule]を選択
2つのルールが作成されていることを確認
4. 動作確認
OktaにIDとパスワードでサインイン
二要素認証を求められずに、SSOのアイコンが表示されました
きちんとSSOできますね
回線を切り替える等してIPアドレスを変更し、OktaにIDとパスワードでサインイン、すると二要素認証を求められました
送信元IPを限定して、スマホデバイスの二要素認証を利用することなく、Oktaを利用することができました
今日はここまでです
お疲れ様でした。