コンテンツまでスキップ

【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にログインするときの例がこちらです

Okta _DSSO_Login

DSSOの方式には、Okta IWA(統合Windows認証) Webエージェントをインストールする方法とAgentless DSSOがありますが、本エントリーではOktaが推奨するAgentless DSSOについてご紹介します

 

前提条件


OSはWindows / Macどちらも可能ですが、端末がADに参加している必要があります

また、OktaとADのディレクトリ連携を実施し、Delegated Authentication(AD委任認証)を有効化する必要があります

 

設定手順


設定手順は大きく分けて下記の通りです

  1. OktaとADの連携
  2. AD側にDSSO用のサービスアカウント作成(AD作業)
  3. ブラウザ設定
  4. DSSOの設定有効化(Okta作業)
  5. 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ビット暗号化をサポートする)

Okta-DSSO-enable-dsso-account

 

ブラウザ設定

Windows OSではChrome, Edge, FirefoxでDSSOをサポートしていますが、今回はEdgeでのインターネットオプションの構成方法について説明します
インターネットオプションの構成はグループポリシーオブジェクト(GPO)での展開も可能ですが、今回は手動での設定を試します

まずはインターネットのプロパティ詳細設定から統合Windows認証を使用するにチェックを入れます

Okta-DSSO-enable-dsso-browser-1

次にプライバシー設定詳細設定をクリックします

Okta-DSSO-enable-dsso-browser-2

ファーストパーティのCookie承諾するを選択します

Okta-DSSO-enable-dsso-browser-3

次にプライバシーとセキュリティサードパーティCookieの使用が許可されているサイトを追加します

Okta-DSSO-enable-dsso-browser-4

ウェブサイトにhogehoge(テナントのサブドメイン).kerberos.okta.comと入力し、追加します

Okta-DSSO-enable-dsso-browser-5

以上でブラウザ設定は完了です

DSSOの設定有効化(Okta作業)

次にOkta管理画面上でDSSOの設定を有効化します

セキュリティ委任認証エージェントレスデスクトップSSOから編集をクリックします
Okta-DSSO-enable-dsso-edit

デスクトップSSOモードはオフ、テスト、オンの3種類です
本番適用前は特定WebアプリケーションへのSSOのみテストすることが多いかと思いますので今回はテストを選択します

デスクトップSSOモード 挙動
オフ テナント全体でDSSO無効
テスト テストドメインを利用してDSSO WebアプリケーションへのDSSOをテスト可能
※DSSOを有効にしているADインスタンスのみ
オン テナントのログインURLを利用してDSSOを利用可能
※DSSOを有効にしているADインスタンスのみ

次にOktaと連携しているActive Directoryインスタンスの鉛筆マークをクリックします

Okta-DSSO-enable-dsso-enable

初期ではデスクトップSSOが無効となっているので有効に変更し、先ほど作成したDSSO用のサービスアカウントのユーザー名とパスワードを入力し、保存します

Okta-DSSO-enable-dsso-enable1

Routingの修正・有効化(Okta作業)

最後にルーティングルールの設定をします
ここで、ユーザー・デバイス・アプリケーションのアクセスに応じてAgentless DSSOを機能させるかどうか設定します

セキュリティIDプロバイダールーティングルールからデフォルトで作成されているDSSO-Ruleを編集します
前述のDSSOの設定有効化によって自動的にDSSO-Ruleがインアクティブの状態で作成されるので、特定のユーザーやデバイス、アプリケーションにDSSOさせたい場合は絞った上で、アクティブ化します

Okta-DSSO-enable-dsso-routing

以上で設定は完了です

最後に


今回はAgentless DSSOの設定方法をご紹介しました

ADとOktaを連携していることが前提とはなりますが、ユーザーはアプリケーションごとに個別の認証情報を入力する必要がなくなりますので利便性も向上します
FastPassを導入できる環境であればDSSOを使わず、FastPassによるパスワードレス認証を実現することも可能です

是非お試しください!