はじめに
こんにちは、 ネクストモード株式会社 のSaaSおじさん久住です
ネクストモードではID統合管理(IDaaS)のOktaを利用して各SaaSへのシングル・サインオンやプロビジョニングの一元管理をしています
前回は連携済みのOktaとActive Directoryを用いて、ADからOktaへの同期を実施しました
今回は前回とは逆方向のOktaからADへの逆同期についてご紹介します
どんなケース?
設定をご紹介する前に、OktaからADにユーザーを同期するケースについて考えてみます
Oktaをユーザー管理のマスターにしつつ、将来的に廃止したいAD管理の一部を残すためにOktaからADにユーザーやグループを同期するというケースが考えられます
既存でADを運用している場合、既存のADユーザーとOktaユーザーをリンクすることが可能ですので段階的に移行する計画を立てることもできます
Oktaユーザー・グループの準備
それでは、OktaからADへの逆同期の設定をしていきましょう
まずADに同期するOktaユーザーとOktaグループをOktaで準備します
Okta管理画面からDirectory → PeopleからOktaユーザーをADドメインで作成します

名前が不格好ですが、できました

Directory → Groupsから次にOktaグループを作成します

Oktaサービスアカウントの権限設定
Okta AD AgentのService Accountの権限を編集します
- Pre-Windows 2000 Compatible Accessグループ
- Domain Adminsグループ

Domain Adminsを渡したくない場合は、ドキュメントに従って権限の付与を実施します
OktaからADへのプロビジョニング設定
OktaからADへユーザーを逆同期する場合、ADにパスワード同期をするために下記設定が必要となります
- AD代理認証(Delegated Authentication)の無効化
- Sync Passwordの有効化
- ADにユーザープッシュした後に、Oktaにログイン(重要です)
- Okta ADパスワード同期エージェントはインストールしない
Okta管理画面のDirectory →Directory Integrations → Active Directory → Provisioning → IntegrationのDelegated Authenticationのチェックを外します

Oktaのパスワードを作成する推奨パターンでAD代理認証(Delegated Authentication)を無効化します

次にto Appの項目を設定します
- Create Users:OktaからADにユーザー自動作成
- Update User Attributes:OktaからADにユーザー属性更新
- Deactivate Users:OktaからADにユーザー自動削除
- Sync Password:OktaからADにユーザーPW同期

Sync PasswordをEnableにすることで、OktaにログインするとADにパスワードが同期されます
Create UsersのActivation email recipientはOktaからADにユーザーが作成された際にPWと合わせて通知する先のメールアドレスとなります
OktaユーザーのPWを同期する前のAD側のPWなので、PWの情報は今回は使いません

Oktaグループへのディレクトリ連携
プロビジョニングの設定が完了したら事前に作成したOktaグループにActive Directoryを紐付けます
OktaグループのDirectoriesタブからManage Directoriesをクリックします

紐付けるADインスタンスを選択してNextをクリックします

次にOktaからADに同期したユーザーを追加したいOUを選択してConfirm Changesをクリックします

Oktaグループのプッシュ設定
次にOktaからOktaグループをプッシュすることでADグループを作成できますので設定をしていきます
ADサーバーのPush Groupsから同期するOktaグループを選択します

同期先のOU、グループのスコープを選択して、Saveをクリックします

Activeになれば完了です

OktaからADにユーザー同期してみる
それでは準備で作成したOktaユーザーをOktaグループに追加します

AD上のユーザーを確認するとOktaから同期したユーザーが確認できました

セキュリティグループも同期できています

グループにユーザーも割り当てられていることが確認できます

Oktaに一度ログインしてからADに参加しているPCにログインすると、OktaからADにパスワードが同期されているためOktaのパスワードでAD参加端末にログインすることもできました!
Okta上でユーザーをDeactivateもしくは同期しているグループからの割当を外すとADでは無効の状態となります

Oktaユーザーは削除しなければ、Profile sourceがADからOktaに変わった状態で残りますので再度ユーザーを紐付ける場合はグループに割り当てればOKです
おまけ
検証している際にTo Appの注意書きが気になり、Attribute Mappingsをなんとかしようと無駄な時間を過ごしていました

distinguishedName, objectGUIDなんてADユーザーじゃないのにどうすればいいんだ、、、というにわとりたまごなことを考えて悶ていましたが、徒労に終わりました
結論で言えば何も設定はいりません

OktaからADに同期したユーザーは下記のようにProfile sourced by Active Directoryとなります

そして悩みに悩んでいたGUIDやDNについてもAD属性が引っ張られてきていました

最後に
OktaからADへの逆同期についてご紹介しました
パスワードの同期については別の記事でADからOktaの方向の同期も合わせて書きますが、改めて細やかで柔軟な設定ができるOktaの魅力を実感することができました
Oktaを使いたいけどADも一部で使っている、ID管理を整理していきたいという方の参考になれば幸いです