Okta の Active Directory 統合を試してみた

WorkSpaces の SAML 統合を試すための準備です。
2023.08.03

みなさま Xin chao !

 

Amazon WorkSpaces で SAML 統合を試したかったので、まずは Okta の Active Directory 統合を試してみました。

Okta と Active Directory を統合することで、Active Directory に登録されているユーザーに関連付けられたユーザーが Okta に作成され、Active Directory のユーザー+パスワード情報を使って、Okta にサインインできるようになります。

なお、記事が長くなってしまったので、肝心の WorkSpaces の SAML 統合については別の記事で紹介する「予定」です。

(2023/8/18 追記) SAML 統合についても書きました。

 

Active Directory 統合を試す

Okta が提供しているドキュメントを見ながら設定していきます。

 

構成図

以下のような構成で試します。

 

前提

以下の環境を構築・設定済みの状態から始めます。 詳細な前提条件は、Okta のドキュメントに掲載されていますのでご確認ください。

  • Active Directory
    • 今回は Windows Server 2019 を選択
    • Active Directory ドメインコントローラー on EC2 (以降 AD on EC2) で構築
    • Active Directory ドメイン名は oktasso.test (NetBIOS 名は OKTASSO)
    • WorkSpaces OU に以下のユーザー・グループを作成
      • user01
      • user02
      • user03
      • WorkSpacesUsers (グループ, user01 のみ所属)
  • Okta Active Directory Agent (以降 Okta AD Agent) 用 EC2
    • 今回は Windows Server 2019 を選択
    • Active Directory ドメインのメンバーサーバー
    • Okta AD Agent をインストールする際に使用する、Active Directory ドメイン管理者権限を持つ Active Directory ユーザー (OktaADagentInst) でログインを確認済み
    • インターネットを介して Okta にアクセスする必要があるため、パブリックサブネットに構築
  • Okta
    • 検証環境用に Okta Starter Developer Edition を使用
    • 設定を行うためのスーパー管理者権限を持った Okta アカウントを取得済みで Okta Admin Console へのサインインも確認済み

 

今回自分でも使用していますが、もし、お手元の環境で自由に使える Okta 環境がない場合は、以下のブログを参考に Okta Starter Developer Edition で試すという方法もあります。

 

Active Directory 統合の設定の流れ

以下の 4 つのステップで設定していきます。

  1. Okta AD Agent 専用の Okta 管理者アカウントの作成 (Okta Admin Console での設定)
  2. セキュリティグループの設定 (AWS マネジメントコンソールでの設定)
  3. Okta AD Agent のインストール (Okta AD Agent 用 EC2 および Okta Admin Console での設定)
  4. Active Directory ユーザーとグループを Okta にインポート (Okta Admin Console での設定)

 

1. Okta AD Agent 専用の Okta 管理者アカウントの作成 (Okta Admin Console での設定)

Okta のドキュメントを見ると、Okta AD Agent 専用の Okta 管理者アカウントを作成することが推奨されています。

Active Directory統合の前提条件 - Okta Help Center

 

今回は、推奨に従ってアカウントを作成してみます。

個人的な検証なので、Okta AD Agent 専用の Okta 管理者アカウントは作成せずに、現在使用中の Okta 管理者アカウントを使いたいという場合は、この手順を省略することも可能です。

 

ここからは、Okta Admin Console での操作になります。

Okta Admin Console にスーパー管理者権限を持ったユーザーでサインインします。

 

ナビゲーションペインで、[Directory] - [People] をクリックし、[Add person] をクリックします。

 

以下を設定して [Save] をクリックし、ユーザーを作成します。

  • User type : User
  • First name : (Okta AD Agent 専用の Okta 管理者アカウントを識別するための First name を入力)
  • Last name : (Okta AD Agent 専用の Okta 管理者アカウントを識別するための Last name を入力)
  • Username : (メールアドレスを入力)
  • Primary email : (Username と同じメールアドレスを入力)
  • Activation : Activate now
  • I will set password : (必要に応じて On / Off を選択)
  • Password : (このユーザーに設定するパスワードを入力)
  • User must change password on first login : (必要に応じて On / Off を選択)

 

ナビゲーションペインで、[Security] - [Administrators] をクリックし、[+Add administrator] をクリックします。

 

以下のように選択し、[Save Changes] をクリックして、スーパー管理者権限を付与します。

  • Select admin : (作成したユーザーを選択)
  • Role : Super Administrator (=スーパー管理者)

 

[Admins] タブをクリックし、作成したユーザーの Role が Super Administrator (=スーパー管理者) になっていることを確認します。

 

現在使用しているスーパー管理者を一旦サインアウトして、作成したスーパー管理者で Okta Admin Console にサインインできることを確認しておきます。 作成したスーパー管理者は、Okta AD Agent のインストール時に使用します。

 

2. セキュリティグループの設定 (AWS マネジメントコンソールでの設定)

Okta AD Agent 用 EC2 -> AD on EC2 で必要な通信を行うことができるように、セキュリティグループで通信を許可する必要があります。

今回は検証環境であるため、Okta AD Agent 用 EC2 からの通信をすべて許可するように、AD on EC2 が使用しているセキュリティグループのインバウンドルールを設定しました。

本番環境等で最小限の通信のみ許可する場合は、以下の Okta のドキュメントを参考に、Okta AD Agent 用 EC2 -> AD on EC2 間で必要な通信が許可されていることをご確認ください。

Active Directory統合用のDMZサーバーポートを構成する - Okta Help Center

また、念のため Windows ファイアウォール (=OS の設定) でも、必要な通信が許可されていることをご確認ください。

 

3. Okta AD Agent のインストール (Okta AD Agent 用 EC2 および Okta Admin Console での設定)

Active Directory ドメイン管理者権限を持つ Active Directory ユーザーアカウント (今回は OktaADagentInst) で、Okta AD Agent 用 EC2 にログインした状態で、Okta Admin Console にスーパー管理者でサインインします。

もし、Okta AD Agent 用 EC2 上では Okta Admin Console にアクセスしたくない場合は、設定用の PC 上で Okta Admin Console にサインインしても大丈夫です。

 

ナビゲーションペインで、[Directory] - [Directory Integrations] をクリックし、[Add Directory] - [Add Active Directory] をクリックします。

 

インストール要件を確認し、[Set Up Active Directory >>] をクリックします。

 

[(1) Download Agent] 画面で、[Download Agent] をクリックし、Okta AD Agent のインストーラーをダウンロードします。

 

Okta AD Agent 用 EC2 上ではなく、設定用の PC 上で操作を行っている場合は、[Download Agent] をクリックすると表示されるダウンロードリンクをコピーして Okta AD Agent 用 EC2 上で直接ダウンロードする、あるいは、ダウンロードしたファイルを Okta AD Agent 用 EC2 にコピーします。

 

ここからは、設定用の PC 上で操作を行っている場合でも、Active Directory ドメイン管理者権限を持つ Active Directory ユーザーアカウント (今回は OktaADagentInst) で、Okta AD Agent 用 EC2 にログインして操作する必要があります。

また、表示されている情報を後続の手順で使用するため、Okta Admin Console は開いたままにしておきます。

 

ダウンロードした Okta AD Agent のインストーラーを実行します。

 

[ユーザー アカウント制御] が表示された場合は、[はい] をクリックします。

 

[Next >] をクリックします。

 

インストール先フォルダと、ディスクの空き容量を確認したうえで [Install] をクリックします。

 

インストールが始まります。

 

この Okta AD Agent で管理する Active Directory ドメイン名を入力したうえで [Next >] をクリックします。

 

Okta AD Agent で使用するサービスアカウントを指定します。 特に理由がない限り、"Create or use the OktaService account (recommended)" を選択し [Next >] をクリックします。 別途作成したアカウントを使用する場合は、以下の Okta のドキュメントを参考にアカウントを作成する必要があります。

Okta ADエージェントサービスを実行するためのOktaサービスアカウント - Okta Help Center

 

"Create or use the OktaService account (recommended)" を選択した場合、作成するサービスアカウントに設定するパスワードを求められるので、Active Directory ドメインで設定されているパスワードポリシーに準拠したパスワードを設定し、[Next >] をクリックします。

 

途中で、以下のようなメッセージが表示されます。 サービスアカウントが "Pre-Windows 2000 Compatible Access" グループに所属していないため増分インポートに問題が出るかもしれない、ということですが、メッセージに記載されている URL の内容を読む限りでは、明示的に所属させなくても問題ないと理解できたため、今回はこのメッセージは無視して、[OK] をクリックしました。

 

Okta AD Agent 用 EC2 からインターネットにアクセスをプロキシ経由で行う必要がある環境では、プロキシサーバーを指定します。 今回は不要な環境なので、指定せずに [Next >] をクリックします。

 

Okta Organization URL の入力が求められるので、Okta Admin Console に表示されている URL をコピー&ペーストし、[Next >] をクリックます。

 

Okta へのサインインを求められるので、[1. Okta AD Agent 専用の Okta 管理者アカウントの作成] で作成した、スーパー管理者のユーザー名とパスワードを入力して [サインイン] をクリックします。

 

Okta AD Agent から Okta へのアクセス許可が求められるので、内容を確認したうえで [Allow Access] をクリックします。

 

以上で Okta AD Agent のインストールが完了です。 [Finish] をクリックします。

 

すると、間もなく Okta Admin Console 上に以下のメッセージが表示されるので [Next >>] をクリックします (少し待っても表示されない場合は、ページの再読み込みを行うと次の画面に遷移する場合があります)。

 

[(2) Basic Settings] 画面で以下を指定し、[Next >>] をクリックします。

  • Select the Organizational Units (OUs) that you'd like to sync Users from : (Okta に同期したいユーザーが格納されている Active Directory の OU を指定)
  • Select the Organizational Units (OUs) that you'd like to sync Groups from : (Okta に同期したいグループが格納されている Active Directory の OU を指定)
  • Okta username format : User Principal Name (UPN) (既定値)

 

OU が設定されたので [Next >>] をクリックします。

 

[(3) Build User Profile] 画面では、特に理由がない限り既定値のまま [Next >>] をクリックします。 変更したい場合は、以下の Okta の ドキュメントをご参照ください。

Active Directoryのインポートとアカウント設定を構成する - Okta Help Center

 

[(4) Done!] 画面に遷移し、Active Directory Integration の設定が完了しました。 [Done] をクリックします。

 

なお、この時点では、AD on EC2 -> Okta のユーザー・グループの同期は手動で行う設定になっています。 スケジュールに基づいて自動で同期を行う場合は、以下の Okta のドキュメントを参考に別途設定する必要があります。

Active Directoryのインポートとアカウント設定を構成する - Okta Help Center

 

4. Active Directory ユーザーとグループを Okta にインポート (Okta Admin Console での設定)

ここまでの設定を使って、Active Directory のユーザー・グループを Okta にインポートします。 引き続き、Okta Admin Console にスーパー管理者でサインインした状態での操作になります。

ナビゲーションペインで、[Directory] - [Directory Integrations] - [Active Directory] - [Import] タブ をクリックし、[Import Now] をクリックします。

 

初回のインポートなので、"Full import (could take a while)" を選択し、[Import] をクリックします。

 

インポート中。

 

Active Directory の OU に登録済みの 3 ユーザー+1 グループが無事にインポートできたので [OK] をクリックします。 約 10 秒ほどかかりました。

 

インポートしたユーザーのうち、Okta に作成するユーザーを選択します。 今回は初回のインポートであり、既存の Okta ユーザーとの重複もありませんので、すべてのユーザーを選択した状態で [Confirm Assignments] をクリックします。

 

Okta に作成されるユーザー数を確認して、[Confirm] をクリックします。

 

ナビゲーションペインで、[Directory] - [People] をクリックすると、Active Directory からインポートしたユーザーに関連付けられたユーザーが Okta に作成されていることを確認できます (作成されたユーザーのうち user01 のみ Status が Active になっているのは、このスクリーンショット取得前に Okta へのサインインを行ってしまったためです)。

 

また、ナビゲーションペインで、[Directory] - [Groups] をクリックすると、Active Directory からインポートしたグループに関連付けられたグループが Okta に作成され、グループに所属しているユーザーも維持されていることを確認できます。

 

その他

Okta AD Agent のステータスは、Okta Admin Console のナビゲーションペインで、[Directory] - [Directory Integrations] - [Active Directory] をクリックし、[Agents] タブで確認することが可能です (このスクリーンショットは Okta AD Agent 用 EC2 をシャットダウンして数分後の状態なので not connected になっています)。

 

おわりに

WorkSpaces で SAML 統合を試すのが目的で、Okta の Active Directory 統合の設定を始めたのですが、せっかくだから Active Directory 統合の設定もブログに残しておこう、と書き始めたところ、スクリーンショットが多くて長くなってしまいました。

AWS は少し分かるけど Okta は全然分からないという層を狙って書いているため、とりあえずこのスクリーンショットを見ながら設定すれば、Okta の Active Directory 統合の設定を完了することができるかと思います。

引き続き、本来の目的である WorkSpaces の SAML 統合を試すブログも書きたいと思います。

(2023/8/18 追記) SAML 統合についても書きました。