1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

EntraIDのハードマッチのやり方

Last updated at Posted at 2024-09-26

オンプレミスのADとEntraIDを同期している環境において
オンプレミスADが壊れた(使用できなくなった)場合の対処を検証したので
備忘録として残すことにしました。

オンプレミスADとEntraIDについても細かい説明は別の記事を参照するとして
実際にやったことを残しています

ざっくりした内容としては
旧ADとEntraIDで同期済
新ADを作成し、旧ADと同じ名前でドメイン名、ユーザ、オブジェクトを作成する
新ADとEntraIDでハードマッチを実施する

環境

①オンプレミスADとEntraIDで特定のOUのユーザ、グループを同期している環境
②オンプレミスADに何かしらの問題が発生しサーバにログインおよびデータの取り出しが不可となる
③EntraIDについては特に影響なく正常に使用できる状態

やりたいこと

EntraIDのユーザ、グループのオブジェクトは既に壊れたADと同期済だが継続して利用したい
新しくオンプレに作成した同じドメイン名のADに同じ名前のユーザ、グループを作成して
新AD上のオブジェクトとEntraIDのオブジェクトを同期したい

どうやってやるか

既に同期済なのでハードマッチと呼ばれる方法を使用して新ADのオブジェクトと紐づける
オンプレミスADとEntraIDで新しく作ったオブジェクトについてはソフトマッチと呼ばれる方法で紐づける(後述)

実際の手順

①オンプレミス環境にADを新規作成 ドメイン名は元々使用していたものと同じ名前にする
②新ADでユーザ、グループを新規作成(オブジェクトの名前は旧ADの時に作成していたものと同じ名前で作成する)
オンプレミスとEntraIDを同期する際にEnterprise Adminsの権限をもったドメインアカウントが必要なので作成する

③AzureAD Connect(AADC)をインストール AADCサーバを作成したが ADにインストールしても良い
AADCサーバをADと別に作成する場合はドメイン参加する
画像がないところはデフォルトを指定している
image.png
カスタマイズを選択
image.png
EntraIDの管理者ユーザとパスワードを入力
image.png
ディレクトリの追加
image.png
予め作成しておいたEnterprise Adminsの権限をもったドメインアカウントを指定する
なぜかわからないが新しいADアカウントを作成にチェックを入れる
image.png
ユーザープリンシパル名は環境に合わせて設定 UPNとかMailとか?
image.png
同期対象のOUを指定する場合はここで設定する
image.png
ユーザー識別方法は mS-DS-ConsistencyGuidを指定する
image.png
インストールの最後の画面で構成が完了したら、同期プロセスを開始するのチェックを外しておく
チェックをいれたままで進めるとインストール直後に自動で同期が開始されるため
image.png

④EntraIDからimmutableIdを取得する
ユーザオブジェクトについてはGUIからimmutableIdが参照できるがグループは参照できないので別の方法を使用する
AADCをインストールした端末にはSynchronization Serviceのツールがインストールされているのでこれを使用する
image.png
ツールを起動してConnectorsを選択するとオンプレミスのADとEntraIDが表示される
image.png
オンプレミスADおよびEntraIDをそれぞれ指定して右クリックからRunを実行
image.png
Full Importを指定してOKを実行するとオンプレミスの情報がツールにインポートされて情報を参照することができる
ここで見たいのはEntraIDのImmutableIDなのでインポートするのはEntraID側だけでもよい
image.png
インポートが完了するとOparationsに表示される
image.png
ConnectorsからEntraIDを指定して右クリックからSearch Connector Space..を実行する
image.png
Column Settings..を実行する
image.png
必要な項目をSelected Columnsに入れていく
sourceAnchorはimmutableIDなので必須であり他にはユーザー名やグループ名を判別するための要素を追加する
cloudAnchorが個人的にはよさそう
image.png
Serchを実行する
image.png
指定した項目の情報が表示される
sourceAnchorにはImmutableIDが表示されるcloudAnchorにはEntraIDのオブジェクトIDが表示される
image.png
これで各オブジェクトのImmutableIDの取得ができる
エクスポートの方法がよくわからなかったのでコピーペーストでExcelに・・
⑤取得したimmutableIdをオンプレミスのADのms-ds-consistencyguidに設定する
そのままの値では設定できないため16進数に変換して設定する
大量にあると思うのでExcel等を使ってコマンドを作成する

Powershellでのコマンド例
16進数に変換

$guid001=[GUID][system.convert]::frombase64string("ここにImmutableIDを入れる")

オンプレミスのユーザオブジェクトに設定 グループの場合はset-adgroup

set-aduser -Identity "ユーザ名" -replace @{'mS-DS-ConsistencyGuid' = $guid001}

⑥同期する

同期後はオンプレミスのデータが正となりEntraIDに反映されるため
必要な情報はあらかじめオンプレミスADのオブジェクトに設定しておくこと
グループのメンバーについても同じEntraID側だけ更新している場合はオンプレミスの情報で上書きされる

AADCの自動同期は止めているので手動で同期を実施する
AADCサーバでPowershellを開きコマンドを実行

Start-AdSyncSyncCycle Initial

image.png

⑦自動化する
AADCの自動同期を有効にする

Set-ADSyncScheduler -SyncCycleEnabled $true

付録

ソフトマッチ
詳細はいつか・・・

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?