メモのページ - チラシの裏メモ 3枚目

通信技術や気になった事を黙々とメモし続ける

Okta Cloud Connect(OCC)でユーザー認証をやってみた

Okta Cloud Connect(OCC)とは

Oktaとは、ID管理や認証サービスを行うIDaaS(Identity as a Service)サービスの1つ。クラウド経由でID管理やシングルサインオン(SSO)等のサービスを提供する。
同じようなサービスとして、GMOトラストログインやOneLoginやMicrosoft Azure AD等が挙げられる。
今回は、Oktaでネット上のアプリやサービスにシングルサインオンを利用しアクセスするよう設定してみた。
勤務先でOktaに触れる事がある為、Oktaの学習環境として機能限定版のOkta Cloud Connect(OCC)を導入した。


Okta Cloud Connectは有償版とは異なり紐付け可能なアプリが1個だけという条件が有るものの、利用期間は無制限。一部の機能は使えないが、SSOやID管理など基本的な機能は有償版と同様に利用可能。無料。
https://www.okta.com/occ

以下は利用期間が30日間の試用版。OCCとは異なり複数のアプリがOktaとの紐付けが可能。無料。
https://www.okta.com/jp/free-trial/

Okta DeveloperもOCC同様に無料。複数のアプリがOktaと紐付け可能な為、学習目的ならOCCではなくこっちでも良かったかも。
https://developer.okta.com/ Okta Developer

以下はアカウント登録からログインテストまでの手順のメモ。
管理者アカウントと一般ユーザーのアカウント作成、アプリの適用、プロビジョニング設定、アプリへのログインテスト...という流れになっている。


当方の環境
・端末:Firefox 106.0.1 / macOS 10.13.6 / MacBook Air 2011
・対象アプリ:Dropbox Business (Advanced) ※1ヶ月程度の学習目的であれば試用版でも良いと思う
・プラン:Okta Cloud Connect (OCC)
・SAMLとの絡みは無し

以下の図は当環境の構成の概要。
当環境ではOktaと連携しているサービスはDropbox Businessのみであるが、OktaはSlackやOffice365やZscaler Admin Portalなど様々なアプリやサービスと連携する事が可能で、これらのアプリやサービスのアカウントの一元管理やログインの集約が可能である。


注意事項
・Dropbox Businessの場合、Oktaによる認証はDropbox Businessのアドバンス版もしくはそれ以上のプランで契約する必要が有る。1ヶ月間の試用期間でもOktaによる認証に対応している。
・学習目的であれば、普段使用していないアプリでアカウントを作成しOktaと紐付けすると良いだろう。
・当ページにて紹介した手順による障害や損害につきましては、当ブログの著者は一切の責任を負いかねます。あらかじめご了承ください。


Okta Cloud Connect (OCC)導入の流れ

1.OCCの管理者アカウントの登録
OCCのページにアクセスする。試用版とはURLが異なるので要注意。
https://www.okta.com/occ

OCCは無料そして利用期間無期限で利用する事が出来るが、接続先のアプリおよびサービスが1つに限定されている。
Oktaの試用版や開発版とは異なる為、要注意。
また、アプリを2つ以上選択すると有料となる。

OCCのページにアクセスすると、サービス名(アプリケーション名)とロゴがずらりと並んでいるのが見える。
その中からOktaで認証させたいアプリを1つ選び、ロゴおよびサービス名をクリックする。
自分の環境ではDropbox BusinessをOkta認証の対象としたい為、Dropboxのロゴをクリック。

クリックすると、OCC Sign Upのページに遷移する。
OCC Sign Upページ内左側の各欄を入力する。
・「Work Email」「First Name」「Last Name」の各欄を入力
・「Want help with your trial?」では設定時のサポートが不要な場合は「No, let's talk later」を選択
・「Employee Count」では所属している会社の従業員数を選択
・「Country/Region」では「Japan」を選択
・「I agree that Okta may contact me with marketing communications about products, services, and events. (details to unsubscribe are in the Privacy Policy).」にチェックを入れる。
最後に「Get Started」をクリックする。

「Get Started」のクリック後、「Thank you for registering. Welcome to the family.」と大きく書かれたページに遷移し、ユーザー登録が完了した旨表示される。
ログインIDとOrg URLが表示される為、忘れないようテキストエディタか何かにメモをする。


2.パスワードの設定
Oktaから、上記にて登録したメールアドレスに件名が「Your Okta account」と「Welcome to the Okta Community」の2通のメールが届いている事を確認する。
「Your Okta account」のメールにはアカウント名と仮パスワードが記載されている。
メール内に有る「Sign On」をクリックしOktaにログインする。
ログイン後、新しいパスワードの入力、パスワードを忘れた際の質問の選択、セキュリティ画像の選択を実施し、「同意して開始する」をクリック。


3.多要素認証のセットアップ
続けて多要素認証のセットアップに移る。
「設定」をクリックする。

「Okta Verifyをセットアップします」の画面にて、使用しているスマートフォン「iPhone」と「Android」のどちらかを選択する。
iPhoneの場合はApp Storeから、Android端末の場合はPlay Storeから「Okta Verify」をダウンロードおよびインストールを実施。

インストール完了後、PCに戻り「次へ」をクリックする。
Okta Verifyインストール済みの場合はOkta Verifyアプリを立ち上げた後、スマホ画面内右上の「+」をタッチし「Organization」をタッチ。
スマホでQRコードリーダーが起動する。PCの画面に表示されているQRコードを読み取らせ、「Done」をタッチ。
その後Okta Verifyアプリにて6桁の数字が表示されるので、PC側の「コードを入力します」の下の欄に6桁の数字を入力し「確認」をクリックする。
問題が無ければアカウント設定の画面に遷移する。


4.アプリケーションの紐付け
アカウントを作成した段階では、対象のアプリにアクセスしてもOktaの認証ウインドウは表示されない。
Oktaにログインし、Dashboard画面左側の「Applications」をクリック。「Applications」画面にて「Browse App Catalog」をクリック。「Directory Integration Edition allows you to add only the following apps:」の文が表示されている欄内に、OCCのトップページにて選択したアプリ名が表示される。
自分の環境ではDropbox Businessが表示される。

アプリ名をクリックすると、「General Settings」の設定画面に遷移する。
ここでは「Application label」「Application Visibility」「Browser plugin auto-submit」の設定画面が表示される。
要件に従いチェックを入れたら「Next」をクリックする。

「Sign-On Options・Required」の設定画面に遷移する。
ここでは「Sign on methods」「Advanced Sign-on Settings」「Credentials Details」の設定画面が表示される。
要件に従いチェックを入れたら「Done」をクリックする。
尚、Dropbox Businessの場合は「Silent Provisioning」にチェックを入れる。
Dashboardウインドウ内左側の「Applications」をクリックし、「Applications」画面にてアプリ(自分の環境ではDropbox Business)が表示されている事を確認する。


5.Okta認証対象のユーザの追加と設定
「Applications」の画面に移動し、アプリケーションがOkta認証にアサインされた事が分かるようになる。
「Assignment」タブ内の「Assign」をクリックし、「Assign to People」をクリックする。
「Assign アプリケーション名 to People」のウインドウが表示され、表示されているユーザを選択し「Assign」をクリック。
登録内容および設定内容が表示される。内容に問題が無ければ「Save and Go Back」をクリックする。
対象ユーザの行の右側に「Assigned」の表示が有る事を確認したら「Done」をクリックする。


6.ユーザーの追加
上記にて設定したアカウントはOktaの管理者のアカウントである。
管理者のアカウントでもOktaを利用した認証は可能だが、ここでは登録したアプリケーションを利用しOktaで認証させたい一般ユーザーのアカウントを作成する。
Dashboardウインドウ内左側の「Directory」をクリックし、「People」をクリックする。
Peopleの画面に遷移したら「Add Person」をクリックする。

「Add Person」の画面にて以下の各欄を埋める。
・「User type」はUserのまま
・「First name」「Last name」
・「Username(メールアドレス)」は対象ユーザーのメールアドレスを入力
・「Primary email」は「Username」を入力すると自動で入力される
・「Password」は「Set by user」のまま
設定を終えたら「Save」をクリックし設定内容を保存する。

「People」画面に遷移する。
追加したユーザが追加されている事を確認し、欄内右側の「Activate」をクリックする。

新規に追加されたユーザーのメールアドレスに、Oktaからアクティベーションのメールが送信される。
メールを開き「Activate Okta Account」に入る。

新規に追加されたユーザーの新しいパスワードの入力、パスワードを忘れた際の質問の選択、セキュリティ画像の選択...と進み、「同意して開始する」をクリック。

「People」画面に戻り、欄内の追加したユーザーの行右側が「Active」になっている事を確認する。
続けて、「People」画面にて追加したユーザーのユーザー名をクリックする。
「Assigned Applications」にて「Assign Application」をクリックする。
「Assign Application」画面にてアプリケーションを選択し「Assign」をクリック。今回はOCC無償版で進めている為、アプリケーションは1つしか登録出来ない。
続けて「Save and Go Back」をクリック。「Assign Application」画面に戻るとアプリケーションが「Assigned」になっている事を確認し「Done」をクリック。


7.アプリのログイン用URLの周知 (オプション)
上記にて追加したユーザーに対し、Oktaを利用しアプリにログインする際のURLを知らせる。
Dashboardウインドウ内左側の「Application」をクリックし、対象のアプリをクリック。
「General」タブ内の「App Embed Link」枠内「Embed Link」に表示されているURLを、追加したユーザーに通知する。
※当手順ではアプリのトップページにアクセスした際にOktaが動くよう設定する為、当項目は必須ではない。


8.Provisioningの設定
「Dashboard」から「Applications」の「Provisioning」タブに移り、「Configure API Integration」をクリックする。
「Enable API integration」にチェックを入れ「Save」をクリックする。
Dropbox Businessの場合「Save」のクリックの後、自動でログインが開始され「APIリクエストの承認」の画面に遷移する。
Oktaによるチームメンバーの追加や編集や削除の権限のリクエストが表示されるので「許可」をクリック。
「許可」のクリックの後、元の画面(OktaのProvisioning設定画面)に戻る。「Save」をクリックし設定内容を保存する。


9.アプリへのログインテスト
OCCの設定作業、お疲れ様でした。
最後に、ログイン時にOktaによる認証が正常に動作するか確認する。
初回アクセスの際、Webブラウザの拡張機能やアプリのインストールが求められた際はインストールする。インストール後はWebブラウザを再起動させる。

Webブラウザが起動したらDropboxにアクセスする。尚、Dropbox通常版もDropbox BusinessもURLは同じである。
Dropbox Businessの場合、Dropboxにアクセスすると「Okta ワンクリックでサインインする」のウインドウが表示される。

「Oktaにサインインする」をクリックするとOktaのログインウインドウが表示される。まずはOktaにサインインする。ここではユーザー名とパスワードを入力する必要が有る。
その後は自動でDropbox Businessにサインインする。


10.ログの確認
管理アカウントでOktaにログインし、「マイアプリ」画面内右上に有る「管理者」ボタンをクリック。
SSOログインし「Dashboard」の画面に遷移する。
「Dashboard」画面の左側にある「Reports」の中の「System Log」をクリックすると、3ヶ月以内の指定した期間内に発生したイベントを確認する事が出来る。

「Count of events over time」の欄内には、発生したイベントの数が棒グラフで表示される。
「Show event trends by category」をクリックすると棒グラフが3つ追加で表示され、それぞれ「Count of events per target」「Count of events per actor」「Count of events per event type」を表す。

「Events」欄内では、3ヶ月以内に発生した全てのイベントが表示されている。
各行の左側にある「>」をクリックすると、イベントの詳細を確認する事が出来る。
「Download CSV」をクリックすると、表示されているイベントを.csvファイルでダウンロードする事が出来る。


今回はこれまで。
思っていたより簡単に設定出来た。今回はSAML非対応で設定を進めたが、ゆくゆくはSAMLも対応させたい。


参照サイトや資料
https://www.okta.com/jp/ Okta
https://www.okta.com/occ Okta Cloud Connect
https://help.okta.com/ja-jp/Content/Topics/Settings/Settings_Appearance.htm Okta Help Center
https://www.amazon.co.jp/dp/4873119715/ マスタリングOkta
https://help.okta.com/oie/ja-jp/Content/Topics/Provisioning/Dropbox/drbx-integrate-dropbox.htm Dropbox BusinessとOktaを統合する
https://www.bjcc.jp/blog/bjcc-10th-meetup-report Box Japan Cloud Connections 第10回Meetup開催レポート ※接続先アプリは異なるがOCCの存在はこのサイトで知った