1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

はじめに

Microsoft がPreviewで機能提供開始した 「Microsoft Entra Kerberos を使用した Microsoft Entra ハイブリッド結合」(プレビュー) を検証をしてみました!

従来のEntra ハイブリッド参加は、Entra Connect コネクト同期を必要とするケースが多く、Entra Connect コネクト同期用の専用サーバを用意する必要があったりしました。

本機能では、Entra Connect コネクト同期のための専用サーバが不要で、Entra Connect クラウド同期の軽量エージェントとEntra Kerberosで、Microsoft Entra ハイブリッド参加を実現できます。

image.png

公式ドキュメント
Microsoft Entra Kerberos を使用した Microsoft Entra ハイブリッド結合 (プレビュー)

Entra Connect クラウド同期?という方は以下記事をご覧ください。

【Entra ID ハンズオン】Microsoft Entra Connect クラウド同期 (Cloud Sync)
https://qiita.com/mokonacl/items/2b5d141728707762ae3f

なお、当時は「Entra Connect クラウド同期はデバイスオブジェクトを同期することができないので、Entra Hybrid Joinedを実現できない」と記載したのですが... Entra Connect クラウド同期でデバイスオブジェクトをせずに、Entra Kerberosとの連携などでMicrosoft Entra ハイブリッド参加を実現するのが今回のアップデートのポイントです。


検証の構成

今回の検証構成です。Hyper-V上に、仮想的にWindows Server 2025(AD)とWindows 11(クライアント)をそれぞれ1台ずつ作って検証をしています。

image.png

加えて、後述する前提条件を満たすビルド番号のWindows Server 2025をActive Directory(AD)として利用しています。

項目 内容
仮想化基盤 Hyper-V(Windows 11 Pro ホスト)
ドメインコントローラー Windows Server 2025(ビルド 26100.32995
クライアント端末 Windows 11 25H2(ビルド 26200.8655)
ID同期 Entra Connect クラウド同期
ライセンス M365 E3相当(Entra ID, Intune)

前提条件の抜粋

前提条件は、Microsoft Learnを読んでいただきたいところですが、特に注意したほうが良いところを抜粋します。

  • ① ADに Windows Server 2025 ビルド 26100.6905 以降 が必要
  • ② サービス接続ポイント (SCP) の構成

注意点その1ですが、今回の機能を有効にするには、少し新しめの特定のビルド番号以降のWindows Serverでないと動作しない点にご注意下さい。

しかし、2026年6月時点では、Microsoft Entra Cloud Sync エージェントはWindows Server 2025をサポートしていないと、Microsoft Learnに記載されています。そのうち、サポート対象になるとは思いますが、注意が必要です。

image.png

【引用 | MS Learn】
クラウド プロビジョニング エージェントの要件
https://learn.microsoft.com/ja-jp/entra/identity/hybrid/cloud-sync/how-to-prerequisites?tabs=public-cloud

注意点その2ですが、Entra Connect クラウド同期のみの環境の場合は、自分でサービス接続ポイント (SCP) を作る必要があります。Entra Connect コネクト同期の場合は自動でSCPが構成されますので、忘れがちなポイントです。
SCPの構成方法については後述します。

SCP(サービス接続ポイント)とは
オンプレミスADに登録しているWindows 11 のデバイスが、Entra IDのテナントがどこにあるのかを探すために必要な参照先情報です。つまり、SCPが正しく構成されていないと、Entra IDにデバイスを登録することができず、Entra ハイブリッド参加に失敗してしまいます。
SCPの実態は、AD上のserviceConnectionPoint クラスのオブジェクト(いわゆる設定レコード)だったりします。

image.png

【参考URL | Japan Azure Identity Support Blog】
マネージド ドメイン用(AD FS なし) Hybrid Azure AD Join を一から構成する
https://jpazureid.github.io/blog/azure-active-directory/how-to-create-hybridazureadjoin-managed/


手順

今回はアップデートのところをピックアップして記載しようと思います。
そのため、割愛した手順は、参考になるおススメのサイト(またはブログ)のリンクを付けますので、詳細はそちらをご参照下さい。

1. Hyper-V上に、Windows 11やWindows Server 2025を構築しADを構成する

Hyper-V上で仮想マシンを構築するためのデータ(ISO)は以下URLにありますので、必要なものをダウンロードして仮想マシン作りに進みます。
今回の手順では割愛します。

また、Hyper-Vの仮想ネットワークスイッチでデフォルトスイッチを利用する場合は、DHCPの動作となるため、たまに割り当てられたIPが変化します。ADに使うサーバはIPが変わるとちょっと困ることもあるので、検証程度でしたら以下URLのような方法で固定IPにしておくのも便利です。

2. M365 Entra IDにおけるカスタムドメイン登録

Entra IDの初期ドメインは、@***.onmicrosoft.comですが実用上はカスタムドメインを登録して、そのカスタムドメインを利用したユーザーを利用することが大半です。
そのため、以下URLを確認しておき、事前に設定しておきましょう。

3. Entra Kerberos 信頼されたドメインオブジェクトの作成

ここでは、以下の公式手順に従って、オンプレミスの AD ドメインに信頼されたドメインオブジェクトを設定し、信頼情報をMicrosoft Entra IDに登録します。この構成により、オンプレミスのAD への受信の信頼関係が作成されます。これにより、Microsoft Entra IDがオンプレミス ADを信頼できる、つまり、Microsoft Entra Kerberosが発行するKerberosチケットを信頼できるようになります。

着信信頼ベースのフローを使用して Microsoft Entra ID の Windows 認証を設定する方法

image.png

Microsoft Entra Kerberosとは
Microsoft Entra ID がKerberosチケット(Partial TGT)を発行できるようにする機能です。
よくあるユースケースとしては、Microsoft Entra 参加済みデバイスがオンプレリソースに対するSSOを実現するための前提条件だったりしますが、今回はEntra ハイブリッド参加のために活用します。

【参考URL | Microsoft Learn】
Microsoft Entra ID を使用してオンプレミスのリソースへのパスワードレス セキュリティ キー サインインを有効にする
https://learn.microsoft.com/ja-jp/entra/identity/authentication/howto-authentication-passwordless-security-key-on-premises

3.1 Azure AD ハイブリッド認証管理 PowerShell モジュール

以下コマンドで必要なモジュールをADにインストールします。

# 念のため、TLS 1.2を有効に(ほぼ不要)
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

# NuGet パッケージプロバイダーをインストール
Install-PackageProvider -Name NuGet -Force

# Azure AD ハイブリッド認証管理 PowerShell モジュールをインストール
Install-Module -Name AzureADHybridAuthenticationManagement -AllowClobber -Force

実行画面です。
まずは.NET用のパッケージ管理システムである NuGetをインストールします。
image.png

そして、Azure AD ハイブリッド認証管理 PowerShell モジュールをインストールします。このモジュールを利用することで、Microsoft Entra Kerberos サーバーオブジェクトを作成することができます。

image.png

3.2 Entra Kerberos サーバーオブジェクトの作成

次は、Entra Kerberos サーバーオブジェクトを作成します。
Active Directoryのサインイン済みアカウントを使用するため、ドメインの資格情報は含めないコマンドになっています。

#ドメイン名とEntra IDの資格情報を入れます。ご自身の環境に合わせて変更してください
$domain = "your on-premises domain name, for example contoso.com"
$cloudUserName = "Entra ID user principal name, for example admin@contoso.onmicrosoft.com"

# 現在の状況を確認(資格情報の確認画面がポップアップします)
Get-AzureADKerberosServer -Domain $domain `
    -DomainCredential $domainCred `
    -UserPrincipalName $cloudUserName

実行するとEntra IDの認証画面がポップアップしますので、必要な資格情報を入力します。
image.png

入力するとブランクの実行結果が返されます。
image.png

では、Entra Kerberos サーバーオブジェクトを作成を実行します。
エラーがなければ作成されていますので、先ほどと同じ確認コマンドを実行してみます。

# Entra Kerberos サーバーオブジェクトを作成
Set-AzureADKerberosServer -Domain $domain -UserPrincipalName $cloudUserName  -SetupCloudTrust

# 現在の状況を確認
Get-AzureADKerberosServer -Domain $domain `
    -DomainCredential $domainCred `
    -UserPrincipalName $cloudUserName

image.png

ちなみに、このコマンドを実行した後はAD上に、AzureAdKerberosという新しいオブジェクトが作成されています。

image.png


そして、受信信頼ベースのフローということで、ADにおいて、「Active Directory ドメインと信頼関係」を確認してみます。

すると、ADから見た入力方向の信頼として、KERBEROS.MICROSOFTONLINE.COMというドメインが登録されています。
Set-AzureADKerberosServer -Domain $domain -UserPrincipalName $cloudUserName -SetupCloudTrustというコマンドを実行した際に、-SetupCloudTrustを付けたことによる変化のようです。

image.png


4. Entra デバイス登録サービスプリンシパルの構成

この章では、Microsoft Entra PowerShell を使って、Microsoft Entra Device Registration Service (DRS) のサービス プリンシパルを Microsoft Entra Kerberos に対応させるための設定をしていきます。

DRSとは
Windows やモバイルデバイスを Microsoft Entra IDに登録し、デバイスの信頼 (Device Trust) を確立するためのクラウドサービス(Entra IDの一部)です。デバイス登録だけではなく、デバイス証明書の発行等も担います。

【参考 | MS Learn】
動作のしくみ: デバイス登録
https://learn.microsoft.com/ja-jp/entra/identity/devices/device-registration-how-it-works

4.1 Microsoft Entra PowerShell モジュールのインストール

まずは設定のためのMicrosoft Entra PowerShell モジュールのインストールを行います。

# Microsoft Entra PowerShell モジュールのインストール
Install-Module -Name Microsoft.Entra -Repository PSGallery -Scope CurrentUser -Force -AllowClobber

image.png

インストールが完了すると、Get-Module -ListAvailable Microsoft.Entra*でモジュールを確認することができるようになります。

image.png

4.2 Microsoft 365 テナントに接続

通常の Microsoft 365 テナントに接続します。アプリケーション管理者ロールを有するEntra ID ユーザを利用して認証します。

# Microsoft Entra Graph に接続
Connect-Entra -Environment 'Global' -Scopes "Application.ReadWrite.All"

image.png

4.3 DRSの情報確認

次に、Microsoft Entra Device Registration Service(DRS)を表しているAppId 01cb2876-7ebd-4aa4-9cc9-d28bd4d359a9を利用して、DRSの情報を取得します。

# DRSのサービスプリンシパルの情報確認
$drsSP = Get-EntraServicePrincipal -Filter "AppId eq '01cb2876-7ebd-4aa4-9cc9-d28bd4d359a9'"
$drsSP.ServicePrincipalNames

image.png

4.4 adrs/enterpriseregistration.windows.netの追加

adrs/enterpriseregistration.windows.netが、DRSの情報一覧にない場合は、次のコマンドを実行して追加します。
これはDRSのService Principal にEntra Kerberos用のSPN(Service Principal Name)を追加する処理です。

$spns = [System.Collections.Generic.List[string]]::new($drsSP.ServicePrincipalNames)
$kerbSpn = "adrs/enterpriseregistration.windows.net"
$spns.Add($kerbSpn)
Set-EntraServicePrincipal -ObjectId $drsSp.ObjectId -ServicePrincipalNames $spns

# 更新後の内容を取得
$drsSP = Get-EntraServicePrincipal -Filter "AppId eq '01cb2876-7ebd-4aa4-9cc9-d28bd4d359a9'"
$drsSP.ServicePrincipalNames

image.png

4.5 KerberosPolicy:ExchangeForJwtの追加

つぎは、サービスプリンシパルのタグを確認し、KerberosPolicy:ExchangeForJwtが表示されない場合は、次のコマンドを実行してタグに追加します。

$drsSP.Tags
$tags = [System.Collections.Generic.List[string]]::new($drsSP.Tags)  
$tags.Add("KerberosPolicy:ExchangeForJwt")
Set-EntraServicePrincipal -ObjectId $drsSP.ObjectId -Tags $tags

# 更新後の内容を取得
$drsSP = Get-EntraServicePrincipal -Filter "AppId eq '01cb2876-7ebd-4aa4-9cc9-d28bd4d359a9'"
$drsSP.Tags

image.png


5. Entra Connect クラウド同期の構成

Entra ID ポータルから Entra Connect クラウド同期エージェントをダウンロードし、ADにインストールしていきます。
詳細手順は以下リンク先をご確認下さいませ。

同期されたユーザに対しては、M365のライセンス(Entra ID, Intune等)の割り当てもしておきます。


6. サービス接続ポイント(SCP)の構成

Hybrid Join にはクライアントが Entra ID テナントを発見するための SCP(Service Connection Point)が必要です。DC 上の PowerShell から設定します。

# Device Registration Configuration コンテナを作成
$ConfigNC = (Get-ADRootDSE).configurationNamingContext

New-ADObject `
 -Name "Device Registration Configuration" `
 -Type container `
 -Path "CN=Services,$ConfigNC"

Entra ID のテナント ID を使って設定します。

# Microsoft Graphに接続
Connect-MgGraph

$TenantID=(Get-MgOrganization).Id  # 実際のテナントID
$TenantName = "contoso.onmicrosoft.com"  # 実際のテナントのドメインを入れてください

$ConfigNC= (Get-ADRootDSE).configurationNamingContext
New-ADObject `
 -Name "62a0ff2e-97b9-4513-943f-0d221bd30080" `
 -Type serviceConnectionPoint `
 -Path "CN=Device Registration Configuration,CN=Services,$ConfigNC" `
 -OtherAttributes @{
    keywords=@(
        "azureADId:$TenantID",
        "azureADName:$TenantName"
    )
 }

 # 確認コマンド
 Get-ADObject `
 -SearchBase ((Get-ADRootDSE).configurationNamingContext) `
 -LDAPFilter "(objectClass=serviceConnectionPoint)" `
 -Properties keywords |
 Select DistinguishedName,Keywords

設定ができた場合は、ADSIエディターの「CN=Services」配下の「CN=Device Registration Configuration」に、serviceConnectionPointのオブジェクトが生成されています。この中にEntra IDの情報(テナントID)などが格納されています。

image.png


7. KDCプロキシサーバーGPO の構成

いよいよ終わりが見えてきました。
クライアントがKDCプロキシサーバーを利用できるよう、GPOを配布します。

グループポリシー管理コンソール(GPMC)を開き、以下のように新規 GPO を作成します。

[GPO の設定パス]
コンピューターの構成
└── ポリシー
    └── 管理用テンプレート
        └── システム
            └── Kerberos
                └── KerberosクライアントのKDCプロキシサーバーを指定する

image.png

image.png

「表示」をクリックし、値を設定します。
your_Microsoft Entra_tenant_id を実際のテナント ID に置き換え)。

値の名前
KERBEROS.MICROSOFTONLINE.COM https login.microsoftonline.com:443:your_Microsoft Entra_tenant_id/kerberos /

作成した GPO を AD 内の適切な OU(クライアント端末が属する OU)にリンクしたら完了です。

Intune登録のためのGPO
今回のEntra ハイブリッド参加によって、Intune登録もできます。
KDCプロキシ用のGPOと一緒に、ADからIntune登録のGPOを配布しておきましょう。

[GPO の設定パス]
コンピューターの構成
└── ポリシー
    └── 管理用テンプレート
        └── Windows コンポーネント
            └── MDM
                └── 既定のAzure AD 資格情報を使用して自動のMDM登録を有効にします

image.png

image.png


8. Windows 11 クライアントをADに参加させ、GPOを適用する

Hyper-V 上に作成したWindows 11 VMのDNS設定をADのIPアドレスにします。

image.png

[設定アプリ] > [アカウント] > [職場または学校にアクセスする]から「職場または学校アカウントを追加」の「接続」をクリックします。

image.png

[このデバイスをローカルのActive Directoryドメインに参加させる]を選択し、ADのユーザ情報を入力します。その後、Windows PCの再起動後に、ADのユーザでサインインプロセスを完了すると自動でEntraハイブリッド参加が完了します。

image.png

クライアント端末上で以下のコマンドを実行して、Entraハイブリッド参加できているか確認をします。

dsregcmd /status

以下のように、AzureADjoined : YESDomainJoined : YESとなっているので正常に動作していることが分かります。

image.png

加えて、AzureAdPrt : YES となっているため、正常にPRT(Primary Refresh Token)を取得できていることが分かります。

image.png

このとき、[Entra管理センター]に移動し、デバイスの登録状況を確認してみます。
すると、参加の種類において、Microsoft Entra hybrid joined と表示されているデバイスを確認することができます。
これは期待通りの結果ですが、MDMのところはブランクになっているのでクライアントに戻ります。

image.png

クライアント側に戻って、少し経つと通知が表示されますので、Entra IDのユーザ(Entra Connect クラウド同期で同期されたユーザ)の資格情報を入力します。
Intune登録用のGPOは、Entra IDユーザの資格情報をもとにIntune登録の処理をするための動作だと思われます。

image.png

改めて、[Entra管理センター]に移動し、デバイスの登録状況を確認してみます。
今度は、MDMのところに、Microsoft Intuneが表示されるようになり、無事Intune登録も完了しました。

image.png

Entra Connect クラウド同期とEntra Kerberosの組み合わせは、Entra Connect コネクト同期と比較すると、非常に早くEntra ハイブリッド参加とIntune登録される動作になっていました。


おわりに

ちょっとPowershellを利用するところが多い気がしなくもないですが... なんとか最後までたどり着くことができました。

動作自体は、従来のEntra Connect コネクト同期の場合だとコンピューターオブジェクト同期を待つ必要もあり、検証時に時間がかかる印象でしたが、今回のEntra Connect クラウド同期とEntra Kerberosの組みあわせですと、クライアント側の動作としては数分程度でIntune登録まで完了できました。
今後、一般提供(GA)タイミングでは、Entra Connect クラウド同期エージェントがWindows Server 2025もサポートするでしょうから、普及の予感がします。

確認項目 結果
Windows Server 2025 の AD 構築 ✅ 成功
Entra Kerberos オブジェクトの作成 ✅ 成功
DRS サービスプリンシパルの構成 ✅ 成功
Entra Connect クラウド同期(ユーザー同期) ✅ 成功
KDC プロキシ GPO の配布 ✅ 成功
Windows 11 の Entra Hybrid Join ✅ 成功
Intune 参加 ✅ 成功
1
0
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
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?