はじめてのOkta Workforce Identity Cloud (WIC) [第1回] ユーザーと認証器の関係を紐解く
Okta Workforce Identity Cloud (以降、WIC) を触り始めた初期段階では、WICに登録したユーザーに対して、Okta Verifyアプリの登録を求められたり、求められなかったりするので「なんでこんな動きになるの?」と疑問を持つと思います。
そこで本ブログでは、WIC初心者が疑問に思うであろう下記2点について解説します。
・新規ユーザー登録の際に発生する、認証器への登録の挙動
・登録済みユーザーにも発生する、認証器への登録の挙動
認証器(英語ではAuthenticators)とは、パスワード、メール、Okta Verifyアプリなど、認証を行うものを指します。
以降の解説は、WICトライアル環境をベースに行っていきます。
※ WICトライアル環境の構築方法はこちらをご参照ください。
Okta DashboardもAdmin Consoleも一つのアプリケーション
ユーザーがWICにアクセスした際に起きる挙動を理解するために、まず知っておくべきことがあります。
それは「Okta DashboardもOkta Admin Consoleも一つのアプリケーションである」ということです。
WICトライアル環境を構築した後、認証が成功すると、Webブラウザに以下のような画面が表示されたと思いますが、これを「Okta Dashboard」と言います。
WICでは、このOkta Dashboardも一つのアプリケーションとして扱います。
以下のようなイメージで、Okta DashboardとWICは別物として捉えると、以降の解説が分かりやすくなると思います。(例: WICトライアル環境のURL= trial-99999.okta.comの場合)
WICの管理画面 (Okta Admin Console) もアプリケーションの一つです。
なので、Okta DashboardとOkta Admin Consoleへの認証設定は、それら以外の新規登録したアプリケーション (例えば、Salesforce、 Google Workspace、WICトライアル環境構築の際に連携したRSA SAML Test Service provider等 ) と同等に扱われます。
パスワードだけで新規ユーザーが登録できるように設定してみる
ではシンプルに、パスワードだけで新規ユーザーが登録できる設定にしてみましょう。
管理者がユーザーを登録して、そのユーザーが初めてWICにアクセスした際には、原則として「Okta Dashboard」アプリケーションにアクセスすることになります。
そのため、その初ユーザーは、Okta Dashboardアプリへの認証設定がどうなっているか (2要素認証なのか、パスワードだけの1要素認証なのか、等) の影響を受けます。
例えば、Okta Dashboardアプリへの認証設定が2要素認証になっていれば、その初ユーザーは、2要素の登録を求められる、ということです。
パスワードだけでユーザーを登録するためには、関連する設定がいくつかありますので、それらについて解説していきます。
Global Session Policy
まずは、「Global Session Policy」を設定します。
”Global”という名前の通り、この設定は全てのアプリケーションへの認証に影響するので、当然ながらOkta Dashboardアプリにも影響します。
ここでは簡易的に、すでに存在する「Default Policy」の設定を使うことにします。
「Security」→「Global Session Policy」で表示された「Default Policy」で、「Default Rule」の行の右端にある鉛筆マークをクリックします。
表示された画面で、以下のように設定されていることを確認してください。
(設定が異なっていたら、このように設定してください。)
① 「Establish the user session with」の「Any factor used to meet the Authentication Policy requirements」について説明します。
後ほど、Okta Dashboardアプリに紐付けられたAuthentication Policyの設定を確認しますが、この設定を選択することで「Authentication Policyに設定された認証方式に従いますよ。」となります。
もし、その下の「A password」を選択すると、「兎にも角にもパスワード認証は要求しますよ、Authentication Policyがどんな設定であろうとも。」となります。
(今やろうとしていることは、”パスワードだけでユーザーを登録する”ことなので、この「A password」が選択されていても期待通りの動作になります (=結果は同じになります) が、話を単純化するために、ここでは「認証は全て、Authentication Policyに従う」という設定を選んでおくことにします。)
②「Multifactor authentication (MFA) is」は、もし「Required」を選んだら、「Authentication Policyが1要素認証の設定であっても、多要素認証を要求しますよ」となります。
ここではとりあえずパスワードだけの1要素でユーザー登録したい (MFAにしたくない) ので、「Not Required」を選択します。
Authentication Policies
次に、Okta Dashbordアプリに紐づいた「Authentication Policy」を設定します。
この設定によって、各アプリケーション毎の認証方式を個別に決めることができます。
「Security」→「Authentication Policies」で表示された画面で「Okta Dashboard」をクリックします。
WICトライアル環境のOkta Dashbordは、以下のように、既にパスワードだけの設定になっていると思います。
もしこの設定になっていなければ、変更してください。
設定変更にはいくつか方法がありますが、デフォルトで存在する「Password Only」ポリシーにOkta Dashboardを紐付けるのが手っ取り早いと思います。
「Security」→「Authentication Policies」で表示された画面で「Password Only」をクリックします。
「Applications」をクリックして表示された画面で、「Add app」をクリックします。
「Okta Dashboard」の「Add」をクリックして「Close」すれば、紐付け完了です。
Authenticators
上記で説明した「Global Session Policy」や「Authentication Policies」は、アプリケーションへアクセスするときの認証に関する設定でしたが、ユーザーが初めてWICにアクセスした際に発生する認証器への登録を求められる挙動は、この「Authenticators」で指定します。
「Security」→「Authenticators」で表示された「Setup」タブの画面をみてください。
ここで、WICに登録されたユーザーが認証に使えるもの (=認証器) が指定されています。
現在、認証器として4つ (Email、Okta Verify、Password、Phone) が存在しています。
その他に、例えばGoogle Authenticatorを認証器として使いたければ、「Add authenticator」をクリックして追加することもできます。
ここでは一旦このままで進めます。
次に「Enrollment」タブをクリックしてください。
Enrollmentでは、ユーザーが持っていなくてはならない認証器(=必須)、ユーザーが利用するかどうかを選択できる認証器(=任意)、不要な認証器(=無効)を指定します。
Passwordが「Required=必須」になっています。
Okta VerifyとPhoneが「Optional=任意」となっています。
Emailは「Disabled=無効」です。
これは、説明を行うよりもユーザー登録時の挙動を見た方が理解は早いと思いますので、このままユーザー登録を行ってみます。
パスワードだけでユーザーを登録してみる
ここまでで、WICユーザーに発生する認証と認証器の登録に関連する設定は完了しました。
では、実際にパスワードだけでユーザー登録できるか確認してみましょう。
Asaku Akawa さん (ユーザ名とメールアドレス: [email protected]) を登録します。
「Directory」→「People」で表示された画面で「Add Person」をクリックします。
現れた以下の画面で、① First name (下の名前)、② Last name (苗字) を入力してください。
③のログインするときに使うユーザー名 (一般的にはメールアドレスが使われます) を入力すると、④のPrimary emailには自動的に③の値が入ります。
④は変更もできますが、実在するメールアドレスを登録してください。ユーザー登録の際の最初のアクションはメールで通知されるためです。これは検証なので、管理者のメールアドレスでもOKです。
他はそのままで「Save」をクリックします。
新規に登録したユーザーは、設定した直後には管理画面に表示されないので、確認するには「People」をクリックするか、Webブラウザの更新ボタンを押してください。
以下のようにStatusが「Pending user activation」 = 「ユーザー自身が有効化するのを待っている状態」になります。
「Pending user activation」になると同時にそのユーザーのメールアドレス ([email protected]) 宛にメールが届くので、「Acitivate Okta Acccount」をクリックします。
Webブラウザに以下の画面が現れます。
WICの「Security」→「Authenticators」→「Enrollment」タブの設定で、パスワードは「Required=必須」にしていましたので、入力が必要です。「セットアップ」をクリックします。
2つのフォームに同一のパスワードを入力して「次へ」をクリックします。
以下の画面に遷移します。
WICの「Security」→「Authenticators」→「Enrollment」タブの設定で、Okta VerifyとPhoneは「Optional=任意」と設定されていますから、登録してもしなくてもOKです。
ここでは登録しない (パスワードだけでユーザー登録したい) ので、「あとで設定」をクリックします。
これでAsaku AkawaさんのWICへのユーザー登録は完了です。
パスワードの登録だけで、Asaku AkawaさんのDashboardが表示されました。
2要素認証を必要とするアプリにアクセスしたら、どうなる?
今、Asaku Akawaさんは、パスワードだけでWICに登録されています。
では、この状態でAsaku Akawaさんが2要素認証を必要とするアプリにアクセスしたら、WICはどういう挙動をするのでしょうか?
答えは「そのアプリにアクセスしたときに、必要となる認証器の登録を求められる」です。
確かめてみましょう。
WICトライアル環境 を構築する際に、RSA SAML Test Service Providerアプリとの連携を行いました。
このアプリは2要素認証を必要とするAuthentication Policyに紐付けられています。
「Security」→「Authentication Policies」で表示された画面をみてみると、「RSA」は「Any two factors」に紐付けられていることがわかります。
(このアプリに限ったことではなく、新規にWICに追加したアプリは、自動的に「Any two factors」に紐付けられます。もちろん、変更もできます。)
「Any two factors」をクリックすると、設定が表示されます。
この設定の詳細は別ブログで解説しますので、今時点では「確かにPasswordだけじゃないから、2要素認証の設定が行われているんだな。」というぐらいの理解でOKです。
このアプリを、パスワードしか登録していないAsaku Akawaさんに割り当ててみます。
「Assign Applications」をクリックします。
「RSA SAML Test Service Provider」の「Assign」をクリックします。
「Save and Go Back」をクリックします。
「Done」をクリックします。
Asaku Akawaさんに、RSA SAML Test Service Provider = 2要素認証を要求するアプリが割り当てられました。
では、もう一度 Asaku Akawaさんでログインしてみましょう。
(既にログイン済みの場合は、いったんログアウトしてから再度ログインしてみてください。)
まずはOkta Dashboardへのアクセスなので、パスワードだけでログインできます。
Okta Dashboardが表示されます。
「RSA SAML Test Service Provider」=「 2要素認証を要求するアプリ」をクリックします。
2要素目の認証器として Okta Verify か Phone (電話) のどちらかをセットアップすることを強制されます。
強制なので「あとで設定」ボタンは表示されません。
パスワードの入力が求められますので、入力して「確認」をクリックします。
QRコードが表示されるので、スマートフォンのOkta Verifyアプリでスキャンして登録を行ってください。
スマートフォンのOkta Verifyを開いて、下記の手順で左から順番に実施してください。
(ひとまずここでは、Face IDはナシで登録しておきます。)
Okta Verifyの登録が完了すれば、2要素目の認証器は登録できたことになりますので、Phone (電話) の登録は不要です。(どのみち、WICトライアル環境では日本では残念ながらPhone (電話) は使えません。)
「あとで設定」をクリックします。
Asaku Akawaさんは2要素認証の設定ができたので、「RSA SAML Test Service Provider」にアクセスできました。
Okta Dashboardをログアウトして、Asaku Akawaさんでもう一度ログインしてみてください。
・Okta Dashboardへのアクセスは、前回のログイン時と同様にパスワードだけです。
・RSA SAML Test Service Providerへのアクセスは (パスワード認証はOkta Dashboardへのログインの際に完了しているので省略されて) Okta Verifyによる2要素目の認証だけが要求されます。
まとめ
本ブログでは、WICユーザーに要求される認証器への登録の挙動について解説しました。
ユーザーにどの認証器への登録を要求するかは「Authenticators」で指定しますが、本ブログでご紹介した通り、この設定以外にも「Global Session Policy」と「Authentication Policies」の影響も受けますので、これら3つの設定の関連性を意識すると、ユーザー登録時およびアプリへのアクセス時に発生する挙動が理解できると思います。
Okta WICでは、認証の強化だけでなく、管理者が行うユーザーの登録/変更/削除に関わる業務の自動化や、人事管理システムや既設ディレクトリなどとの柔軟な連携も可能です。
Oktaでは、WICの機能を体感頂くことができる「Okta Essential」トレーニング (日本語) をご用意しております。
このトレーニングはWICの全体像を体系的にご理解頂ける内容となっておりますので、是非ともご活用ください。