はじめに こんにちは、 ネクストモード株式会社 のSaaSおじさん久住です...
【Okta】Active DirectoryとOktaの連携(Desktop Single Sign-on編)
はじめに
こんにちは、 ネクストモード株式会社 のSaaSおじさん久住です
ネクストモードではID統合管理(IDaaS)のOktaを利用して各SaaSへのシングル・サインオンやプロビジョニングの一元管理をしています
シリーズでご紹介しているOktaとADの連携について、今回はOktaを利用したAgentless Desktop Single Sign-on(以下、Agentless DSSO)の設定についてご紹介します
シリーズまとめはこちらを御覧ください
DSSOとは
DSSOとはユーザーがADユーザーとしてPCログオンすることで、Oktaと連携する各種アプリケーションへ追加認証なくパスワードレスでのログインが可能となる機能です
Okta Dashboardにログインするときの例がこちらです
DSSOの方式には、Okta IWA(統合Windows認証) Webエージェントをインストールする方法とAgentless DSSOがありますが、本エントリーではOktaが推奨するAgentless DSSOについてご紹介します
前提条件
OSはWindows / Macどちらも可能ですが、端末がADに参加している必要があります
また、OktaとADのディレクトリ連携を実施し、Delegated Authentication(AD委任認証)を有効化する必要があります
設定手順
設定手順は大きく分けて下記の通りです
- OktaとADの連携
- AD側にDSSO用のサービスアカウント作成(AD作業)
- ブラウザ設定
- DSSOの設定有効化(Okta作業)
- Routingの修正・有効化(Okta作業)
やってみた
OktaとADの連携
まずはOktaとADのディレクトリ連携を実施します
初期セットアップについては下記エントリーをご参照ください
次にOktaからAD、もしくはADからOktaにユーザー/グループを同期します
どちらでもDSSOは可能ですので、環境に合わせてセットアップを進めてください
Okta → ADの場合
AD → Oktaの場合
Delegated Authentication(委任認証)は有効化してください
AD側にDSSO用のサービスアカウント作成(AD作業)
次にADにDSSO用のサービスアカウントを作成します
サービスアカウントには管理者権限は不要ですが、もし最小権限で設定したい場合は下記ドキュメントに従ってサービスプリンシパル名(SPN)を設定するための権限を付与します
サービスアカウント作成時には下記の通り設定が必要です
- User must change password at next logon(ユーザーは次回ログオン時にパスワードの変更が必要)
- チェックボックスオフ
- Password never expires(パスワードに期限を設定しない)
- 選択
- Account Options(アカウントオプション)
- This account supports Kerberos AES 128 bit encryption(このアカウントでKerberos AES 128ビット暗号化をサポートする)
または - This account supports Kerberos AES 256 bit encryption(このアカウントでKerberos AES 256ビット暗号化をサポートする)
- This account supports Kerberos AES 128 bit encryption(このアカウントでKerberos AES 128ビット暗号化をサポートする)
ブラウザ設定
Windows OSではChrome, Edge, FirefoxでDSSOをサポートしていますが、今回はEdgeでのインターネットオプションの構成方法について説明します
インターネットオプションの構成はグループポリシーオブジェクト(GPO)での展開も可能ですが、今回は手動での設定を試します
まずはインターネットのプロパティの詳細設定から統合Windows認証を使用するにチェックを入れます
次にプライバシー→設定→詳細設定をクリックします
ファーストパーティのCookie→承諾するを選択します
次にプライバシーとセキュリティでサードパーティCookieの使用が許可されているサイトを追加します
ウェブサイトにhogehoge(テナントのサブドメイン).kerberos.okta.comと入力し、追加します
以上でブラウザ設定は完了です
DSSOの設定有効化(Okta作業)
次にOkta管理画面上でDSSOの設定を有効化します
セキュリティ→委任認証→エージェントレスデスクトップSSOから編集をクリックします
デスクトップSSOモードはオフ、テスト、オンの3種類です
本番適用前は特定WebアプリケーションへのSSOのみテストすることが多いかと思いますので今回はテストを選択します
デスクトップSSOモード | 挙動 |
オフ | テナント全体でDSSO無効 |
テスト | テストドメインを利用してDSSO WebアプリケーションへのDSSOをテスト可能 ※DSSOを有効にしているADインスタンスのみ |
オン | テナントのログインURLを利用してDSSOを利用可能 ※DSSOを有効にしているADインスタンスのみ |
次にOktaと連携しているActive Directoryインスタンスの鉛筆マークをクリックします
初期ではデスクトップSSOが無効となっているので有効に変更し、先ほど作成したDSSO用のサービスアカウントのユーザー名とパスワードを入力し、保存します
Routingの修正・有効化(Okta作業)
最後にルーティングルールの設定をします
ここで、ユーザー・デバイス・アプリケーションのアクセスに応じてAgentless DSSOを機能させるかどうか設定します
セキュリティ→IDプロバイダー→ルーティングルールからデフォルトで作成されているDSSO-Ruleを編集します
前述のDSSOの設定有効化によって自動的にDSSO-Ruleがインアクティブの状態で作成されるので、特定のユーザーやデバイス、アプリケーションにDSSOさせたい場合は絞った上で、アクティブ化します
以上で設定は完了です
最後に
今回はAgentless DSSOの設定方法をご紹介しました
ADとOktaを連携していることが前提とはなりますが、ユーザーはアプリケーションごとに個別の認証情報を入力する必要がなくなりますので利便性も向上します
FastPassを導入できる環境であればDSSOを使わず、FastPassによるパスワードレス認証を実現することも可能です
是非お試しください!