はじめに こんにちは、 ネクストモード株式会社 のSaaSおじさん久住です...
【Okta】Active DirectoryとOktaの連携(AD→Okta同期編)
はじめに
こんにちは、 ネクストモード株式会社 のSaaSおじさん久住です
ネクストモードではID統合管理(IDaaS)のOktaを利用して各SaaSへのシングル・サインオンやプロビジョニングの一元管理をしています
前回までOktaとActive Directoryの連携設定を進めてきました
今回はADのユーザーやグループをOktaに同期する設定をご紹介します
ADユーザー・グループの準備
はじめにインポートのテスト用のADユーザーとセキュリティグループを作成します
AD上で親OU「KusumiCorp」と子OU「users」を作成し、usersにユーザーを作成します
子OU「groups」を作成し、saas-divというセキュリティグループを作成します
作成したユーザーはsaas-divに所属させました
Okta上のAD情報更新
OUの構成を変更したのでOkta上のAD情報を更新します
Applictaions → More → Refresh Application Dataをクリック
これにより、Active Directoryを含むアプリケーションデータが更新され、OU情報が最新化されます
インポート対象OUの選択
次にDirectory
→ Directory Integrations
→ Provisioning
→ Integration
からインポート対象のユーザー、グループをOU単位で指定します
早期アクセス機能ですが、指定した条件に一致するユーザーやグループをクエリ構文を使ってフィルタすることも可能です
Active Directoryのインポートとアカウント設定を構成する
ADからOktaへのインポート設定
次にADからOktaへのインポート設定をしていきます
項目は大きく下記に分かれます
- General:一般設定
- User Creation & Matching:ユーザー作成および照合
- Profile & Lifecycle Sourcing:プロファイルとライフサイクル
- Import Safeguard:インポートセーフガード
- Okta Attribute Mappings:属性マッピング
General:一般設定
インポートに関する一般設定です
項目 | 設定内容 | 備考 |
---|---|---|
Schedule import | ADからOktaへのインポートのスケジュール設定 | Every hour(一時間おき) 〜 Every 2days(2日おき)、Neverが選択可能 |
Okta username format | Oktaユーザー名のフォーマット | Emal Address, SAM Account Name, UPN, Customから選択可能 |
JIT provisioning | OktaにAD代理認証で初回ログイン時に自動的にADユーザーからOktaユーザーが作成される設定 | Delegated authenticationが有効になっていることが必要 |
USG support | 複数のドメインのメンバーを追加することが可能 |
・JIT provisioningが有効になっていることが必要 ・USGオブジェクトを含むフォレスト内のすべてのドメインにOkta AD Agentをインストールすることが必要 |
Do not import users | ユーザーのインポートをスキップ | JITでユーザー作成しつつ、グループはインポートしたい場合に利用する |
Activation emails | 新たにインポートされたユーザーに招待メールを送ることを抑止できる | Delegated authenticationが有効になっていることが必要 |
今回は下記のように設定してみました
ADからOktaに2時間おきにインポートされ、インポートしたユーザーには招待メールは送付されない設定としています
User Creation & Matching:ユーザー作成および照合
この項目ではADからインポートしたユーザーとOktaの既存のユーザーの一致条件を設定することができます
項目 | 設定内容 | 備考 |
---|---|---|
Imported user is an exact match to Okta user if | 選択肢に一致していた場合にOktaユーザーと同一ユーザーとみなしてをインポート | Okta username, Email等にマッチするか |
Allow partial matches | 部分一致でインポート | |
Confirm matched users | 自動的に部分一致(Auto-confirm partial matches)もしくは全体一致(Auto-confirm exact matches)を確認する | Auto-confirm partial matchesについてはAllow partial matchesにチェックをいれると利用可能 |
Confirm new users |
・新規ユーザーを自動的に確認しStagedにする(Auto-confirm) ・新規ユーザーを自動的にActiveにする(Auto-Active) |
設定しない場合は、Directory→Peopleで新規ユーザーを手動で確認、Activeにする必要あり |
設定としては下記のようにしました
既存のOktaユーザーとEmailアドレスが完全一致していた場合にADユーザーは同一ユーザーとみなし、既存ユーザーも新規ユーザーもすぐにActivate状態になる設定となってます
Profile & Lifecycle Sourcing:プロファイルとライフサイクル
Allow Active Directory to source Okta users
にチェックを入れることでOktaユーザーのプロファイルソースをADとすることができ、Okta上では修正できないようになります
また、ADでユーザーが削除された際のOktaユーザーのステータスについてWhen a user is deactivated in the app
で設定し、再度同一ユーザーが作成された際の扱いもWhen a user is reactivated in the app
にて設定できます
下記ではADでユーザーが削除された際、Okta上ではステータスがSuspend
となり、同一ユーザーがADで作成された場合はSuspend
のOktaユーザーをReactivate
する設定としています
Import Safeguard:インポートセーフガード
ADからOktaへユーザー情報の同期中に誤ってアプリからの割当解除をしないように、しきい値を設定することができます
アプリレベル、組織レベルでのしきい値を設定することができ、しきい値に達するとインポートが停止され、アプリ側のユーザーアカウントの誤った削除から保護することが可能となります
こちらの設定は任意のため、今回は設定しないで進めます
Okta Attribute Mappings:属性マッピング
Active Directory属性をOktaのプロファイルにマッピングします
新規にマッピングを追加したり、既にマッピングされている属性を変更・削除することが可能です
インポート確認
スケジュールインポートのため、少し時間をあけて確認するとユーザーとグループが作成されました
WindowsのアイコンでADから同期したグループとグループにアサインされているユーザーが確認できます
OktaユーザーはProfile sourced by Active Directory
となって、ADから同期したグループに自動的に参加しています
DirectoryのActive DirectoryのAssignments
を見ると同期したユーザーも確認できます
すぐにインポートしたい場合
定期インポートの設定をしていますが、ユーザー同期をすぐに実施したいというケースも稀にあります
その場合はDirectory
→ Directory Integrations
→ Active Directory
→ Import
からImport Now
をクリックします
インポートの方法としてはフルインポートか増分インポートがありますが、新しく作成されたユーザーのインポートだけであれば増分インポートで大丈夫なのでIncremental importを選択し、Import
をクリックします
ADからのインポート設定のUser Creation & Matching新規ユーザーを自動的にActiveにする設定としているので、既存ユーザーとマッチしない場合はこれでインポート完了です
さいごに
ADからOktaへのユーザー情報の同期についてご紹介しました
最初検証した際、機能や項目が多くて私自身とても混乱した経験があるので、この記事がどなたかのお役に立てるとうれしいです
OktaとADの連携の機能はまだまだありますので、引き続きどんどんご紹介していきます
参考