企業のハイブリッド運用が一般化する中、オンプレミスのActive DirectoryとAzure ADを連携させるAzure AD Connectは欠かせない存在になっています。しかし、特定のアカウントだけ同期が正しく行われず、有効・無効のステータスに齟齬が発生するといった事象は意外とよく耳にします。そんな時にどう対処すれば良いか、具体的なポイントや手順を詳しく解説していきます。
AD と Azure AD のアカウント同期トラブルの概要
ハイブリッド環境で運用している場合、Azure AD Connectを使ってオンプレミスのActive Directory(以下「AD」)とAzure Active Directory(以下「Azure AD」)を同期させるのが一般的です。通常はAD上でアカウントを無効化すれば、Azure AD上でも少し時間をおいてステータスが反映されます。しかしごく稀に、「特定のアカウントだけ無効化が反映されない」あるいは「手動で無効化しても後から自動的に有効化されてしまう」といった症状が発生することがあります。
こうした場合、以下のような原因や対策が考えられます。
典型的な原因
- Azure AD Connectの同期ルールやフィルター設定に問題がある
- アトリビュート(属性)のマッピングに不備がある
- 外部のスクリプトやポリシーがステータスを再変更している
- 監査ログでは特定の時間帯や操作ユーザーに不審な動きがある
ここからは、原因調査のポイントと具体的な対策について詳しく解説していきましょう。
1. Azure AD Connectの設定を確認する
Azure AD Connectの設定不備によってアカウントのステータスが同期されない、あるいは意図しない形で上書きされるケースは珍しくありません。最初にチェックしておくべきいくつかの項目を紹介します。
1-1. 同期ルール(カスタムルール)の確認
Azure AD Connectでは、インバウンド・アウトバウンドのルールによりAD→Azure AD間の属性同期を制御しています。デフォルトからカスタムルールを追加・編集している場合、以下のようなチェックを行ってみてください。
カスタム同期ルールの具体的なチェック項目
チェック項目 | 内容 |
---|---|
対象のルール名 | カスタムで設定したルールがあるか確認 |
スコープ(条件) | 特定のユーザーが条件に含まれていないか |
アクション(変換) | userAccountControl などの属性を上書きしていないか |
もし、「無効化を有効化に書き換えている」ような変換が組まれていたり、対象ユーザーにのみ作用する条件設定がされていると、オンプレミスでアカウントを無効化してもAzure ADへは有効の状態が送られてしまう可能性があります。
1-2. フィルター・接続設定の見直し
Azure AD Connectには「ドメインベースのフィルター」や「OUベースのフィルター」を設定できる機能があります。もしフィルターが複雑になっている場合、一部のユーザーのみが除外されていたり、同期される属性が限られていたりします。例えば、下記のようなポイントを確認すると良いでしょう。
- オンプレミスADで対象アカウントが想定通りのOUに配置されているか
- 「同期対象外の設定」が誤って適用されていないか
- グループベースのフィルターを利用している場合、該当アカウントがそのグループに含まれているか
1-3. 属性マッピングの確認
無効化・有効化のステータスは、オンプレミスAD側では「userAccountControl」などの属性で管理されます。Azure ADでは「accountEnabled」など別の属性で管理されており、Azure AD Connectはそれらをマッピングして同期を行います。
一般的には以下のようにPowerShellを使って、対象ユーザーの属性を確認できます。
# オンプレミスADでの属性確認
Get-ADUser <対象ユーザーのSamAccountName> -Properties userAccountControl
# Azure AD(Msol)での属性確認
Get-MsolUser -UserPrincipalName <対象ユーザーUPN> | Select DisplayName, isLicensed, BlockCredential
# Azure AD(新モジュール)での属性確認
Get-AzureADUser -ObjectId <対象ユーザーUPN> | Select DisplayName, AccountEnabled
もし「オンプレミスAD上ではuserAccountControl属性が無効化(例えば値が514)になっているのに、Azure AD上のAccountEnabledがTrueになっている」場合、属性マッピングの問題や同期ルールの問題を疑う必要があります。
2. アカウントが再度有効化される理由の追究
オンプレミスADで無効化したはずのアカウントが、Azure AD上で手動無効化しても時間が経つとまた有効化されてしまう、という現象は非常に厄介です。ここでは、その原因として考えられる主な要因を挙げてみます。
2-1. 条件付きアクセスやポリシーの影響
Microsoft Entra(旧Azure AD)の条件付きアクセスや、他のセキュリティポリシーが特殊な動作をしている場合があります。通常は「無効化されたアカウントを自動で再有効化する」というような標準の機能は存在しませんが、以下のようなケースを念のため確認しましょう。
- 条件付きアクセスのポリシーで特定グループへのアクセスを強制有効化している
- Microsoft 365 グループやダイナミックグループのルールがアカウントステータスを操作している
あまり一般的ではありませんが、カスタムスクリプトや外部システムが条件付きアクセスと連携してステータスを制御している場合もあり得ます。
2-2. Azure AutomationやLogic Appsなどの自動化ツール
企業によっては、アカウント管理業務を効率化するためにAzure Automation(旧Runbook)やLogic Appsを使用して、「定期的にアカウントの状態をチェックし、ある条件なら有効に戻す」というようなロジックを組んでいる場合があります。
システム管理担当者が過去に設定していたスクリプトがそのまま残っており、本人たちも忘れてしまっているケースは少なくありません。該当のアカウントだけがルールの対象に含まれていると、何度無効化しても自動で有効に戻ってしまいます。
2-3. サードパーティー製品や他のID管理ツール
OktaなどのIDaaSや、サードパーティーのID管理製品を併用している場合も要注意です。これらの製品は独自の同期ロジックを持っており、オンプレミスADから取り込んだ属性や独自の認証情報をAzure ADに再度反映してしまうケースがあります。
また、逆にAzure AD側のステータスがオンプレミスに反映されるような双方向同期を設定している場合、思わぬループが発生しアカウント状態の不整合が起きることもあるので注意が必要です。
3. アカウントのステータスと履歴をチェックする
原因を特定するには、実際にどのような操作が行われているかを確認することが不可欠です。Azureポータル上の監査ログやサインインログを丁寧に追っていくと、再有効化が実行された形跡をつかめる場合があります。
3-1. Azure ADポータルでのアカウント状態を確認
Azureポータルの「Azure Active Directory」→「ユーザー」画面から、該当アカウントを選択して状態をチェックします。ここで表示される「アカウントが有効か」「サインインがブロックされているか」などの項目や、ライセンスの状態を確認してみてください。
もし無効化したはずのアカウントが「ブロック」ではなく「有効」のままになっている場合は、同期の問題か外部の設定が原因と考えられます。
3-2. 監査ログ (Audit Logs) とサインインログ
Azure ADの「監査ログ」には、ユーザーやアプリ、管理者によるディレクトリ操作の記録が詳細に残っています。ここで「Update user」「Reset password」「Add member to group」などの操作が確認できるので、該当アカウントが何らかの変更を受けていないかチェックしましょう。
また、サインインログを見ると、無効化中にもかかわらずサインイン試行が行われていた場合などに気づくことがあります。想定外のアクセスがあれば、外部から不正な操作を受けた可能性も否定できません。
4. 実践的な対処方法とベストプラクティス
問題が特定できたら、実際にどのように修正していくべきかをまとめます。特に特定のアカウントのみで問題が生じる場合は、一度アカウントを作り直すなど思い切った対処も検討しましょう。
4-1. Azure AD Connectの再インストール・再構成
Azure AD Connectの再設定は大掛かりな作業に思えますが、カスタム設定が増えすぎて整理不能になっているケースでは有効です。ただし、本番環境で実施する際は、以下を徹底しましょう。
- バージョンアップ
- 既知の不具合が解消されているバージョンにアップデートすることでトラブルが収まる場合もあります。
- 事前テスト・バックアップ
- 最悪同期が崩れて大規模な障害が起こる可能性があるため、テスト環境での検証やADおよびAzure ADのバックアップなどを入念に行います。
4-2. 対象アカウントの削除と再作成
該当のアカウントだけに問題が起きているのであれば、アカウントの再作成を試すのも一つの手です。作業ステップとしては以下のようになります。
- オンプレミスADおよびAzure ADからアカウントを完全に削除
- Azure AD Connectの同期が完了し、アカウント情報が消えたことを確認
- オンプレミスADで同じ情報を用いて新規アカウントを作成
- 同期後、Azure ADに同名のアカウントが正しく登録されることを確認
再作成によって属性の不整合が解消されることがあります。ただしメールアドレスやライセンス、関連するグループ設定が引き継がれない可能性もあるため、十分注意してください。
4-3. 監視体制の強化
今後同様の問題が起こらないよう、継続的な監視体制の強化が大切です。
- Azure ADの監査ログを自動取得し、外部のSIEMなどに取り込む
- アカウント操作通知のアラートを設定し、特定の操作が行われたら管理者にメールで通知
- 定期的にPowerShellスクリプトを使い、有効・無効状態の不整合をチェックする
こうした監視を日常業務に取り入れることで、問題を早期発見できるようになります。
5. 現場で役立つ追加のヒントや注意点
5-1. グループポリシーやログオンスクリプトとの関連
通常、ユーザーの有効・無効化はGPOが直接制御することはありませんが、ログオンスクリプトで独自にアカウント制御を行っている場合があります。もしGPOやスクリプトでユーザー状態を変更している場合は、無効化が有効化に上書きされる可能性を考慮してみてください。
5-2. デバイス登録・Intuneとの連携
企業がIntuneを使ってデバイスを管理している場合、デバイス側の状態とユーザーアカウントのステータスが整合しないと問題が発生するケースがあります。例えば、モバイルデバイスが職場を離れた後で無効化が行われると、Azure AD側からデバイスのコンプライアンスポリシー更新をきっかけにアカウントに何らかの再同期リクエストが走るケースも考えられます。あまり一般的ではありませんが、全体像を把握しておくことは大切です。
5-3. ライセンスやサブスクリプションの影響
Office 365やDynamicsなどのライセンスが割り当てられていると、ライセンス側でアカウントの状態を特定の基準に合わせようとする動きが出る可能性もゼロではありません。
エンタープライズな環境では、ユーザーライフサイクルをSAPやOracleなどの人事システムと連携して管理していることも多く、こうしたシステムでアカウントを「有効」として扱っていると、最終的にAzure ADが上書きされることがあります。
6. まとめ
今回紹介したように、オンプレミスADとAzure ADの同期トラブルは多岐にわたる要因が絡み合って発生します。特に「特定のアカウントだけ」が問題を起こす場合、イレギュラーな設定やスクリプト、あるいは外部ツールの影響が疑われます。
まずはAzure AD Connectの同期ルールや属性マッピング、監査ログなどをしっかり確認し、もし不審なルールやスクリプトがあれば一度無効化して検証してみましょう。最終的にはアカウントを作り直す、Azure AD Connectを再インストールするといった方法もありますが、いずれにしても事前検証とバックアップは欠かせません。
正しい手順を踏み、問題の根本原因をしっかり特定することで、オンプレミスとクラウドをまたぐアカウント管理がスムーズに行えるようになります。
コメント