วันนี้เรามาดู background process กว่าที่คอมพิวเตอร์จะกลายเป็น Entra hybrid joined device กันนะครับ
Entra hybrid joined devices
สำหรับ Microsoft Entra ID แล้ว เครื่องส่วนตัว หรือ BYOD จะ register เข้า Entra ID และมี join type เป็น Microsoft Entra registered
เครื่องของบริษัท ที่ไม่อยาก join เข้า on-premises AD DS หรือไม่มี AD DS ไว้ใช้งาน ก็จะ join เข้า Entra ID ตรงๆ และมี join type เป็น Microsoft Entra joined
แต่ปัจจุบัน เครื่องส่วนใหญ่ตามบริษัทต่างๆ ยัง join on-premises AD DS อยู่
เราสามารถนำเครื่องเหล่านี้ join เข้า Entra ID อัตโนมัติได้ด้วยวิธี Entra Hybrid Join (ชื่อเดิมคือ Hybrid Azure AD Join)
และเครื่องจะมี join type เป็น Microsoft Entra hybrid joined ครับ

SCP (Service Connection Point)
ก่อนที่เครื่องจะ Entra Hybrid Join เข้า Entra ID เขาจะค้นหาชื่อ และ ID ของ tenant ที่เขาต้องเข้าไป join ก่อน
ข้อมูลชื่อ และ ID ของ tenant จะอยู่ใน SCP object ใน AD DS
เราสามารถรีรัน Microsoft Entra Connect (ชื่อเดิมคือ Azure AD Connect) เพื่อสร้างเขาขึ้นมา


แต่วิธีนี้จะเป็นการ enale Entra Hybrid Join ให้กับคอมพิวเตอร์ทุกเครื่องที่ในโดเมน (เครื่องต้องอยู่ใน scope การ sync ขึ้น cloud ของ Entra Connect ด้วย)
ถ้าเราอยาก enable Entra Hybrid Join ให้กับคอมพิวเตอร์บางเครื่องผ่าน GPO ก็สามารถใช้อีกวิธีแบบ “targeted deployment” ได้ครับ Targeted deployments of Microsoft Entra hybrid join — Microsoft Entra ID | Microsoft Learn
Automatic-Device-Join task
บนคอมพิวเตอร์ทุกเครื่องจะมี Automatic-Device-Join task ทำหน้าที่ Entra Hybrid join คอมพิวเตอร์เข้า Entra ID
ผู้ใช้ไม่จำเป็นต้อง sign in เข้าเครื่อง เพราะ task ทำงานด้วย computer account (SYSTEM คือ computer account) ไม่ใช่ user account

ตอนนี้เรารู้จักกับส่วนสำคัญในการทำ Entra Hybrid Join ไปแล้ว
ต่อมาเรามาดู background process กันต่อนะครับ
The background process
แม้ว่าเราไม่จำเป็นต้อง sign in เข้าเครื่อง
แต่เราจะเริ่มขั้นตอนแบบทางการตาม Microsoft Entra hybrid joined in Managed environments ด้วยการ sign in เพื่อ trigger ให้ task รันนะครับ

1. เมื่อผู้ใช้ sign in เข้าเครื่อง (ไม่ว่าจะด้วย local account หรือ domain account ก็ตาม)
จะเป็นวิธีนึงที่จะ trigger ให้ task ถูกรัน


2. Task จะค้นหาชื่อ และ ID ของ tenant ผ่าน SCP หรือ registry บนเครื่อง
เมื่อพบ ก็จะสร้าง self-signed certificate แล้วนำ certificate ไปแปะไว้ใน userCertificate attribute ของ computer object ตัวเอง ใน AD DS

3. Entra Connect tool จะ sync computer object ที่มีค่า userCertificate เท่านั้น ขึ้นไปยัง Entra ID
ซึ่งเป็นผลมาจาก synchronization rule นี้

หาก computer object ใดยังไม่มี userCertificate เช่น เป็น <not set> แบบภาพด้านล่างนี้ Entra Connect ก็จะยังไม่ sync เขาขึ้นไป

Entra Connect จะทำงานทุกๆ 30 นาที เพื่อ sync ข้อมูลระหว่าง on-premises AD DS และ Entra ID
ถ้าเราไม่อยากรอ ให้เรา force delta sync นะครับ

เมื่อ Entra Connect เห็น userCertificate ของ computer object เครื่องนี้มีค่า เขาก็จะ sync computer account นี้ขึ้นไปยัง Entra ID

แต่คอมพิวเตอร์จะปรากฏใน Entra ID ในสถานะ “Pending” ก่อน ซึ่งเราต้องรอต่ออีกแป๊บนึงครับ

4. “Automatic Device Join” scheduled task จะรันทุกครั้งที่ผู้ใช้ sign in เข้าเครื่อง หรือทุกๆ 1 ชั่วโมง
ดังนั้น แค่เรารอให้ task รันอีก 1 รอบ เครื่องจะเข้าไปทำ authentication กับ Entra ID อีกครั้ง แล้วกระบวณการ Entra Hybrid Join ของเครื่องนี้ก็จะเสร็จสมบูรณ์ ไม่มีสถานะเป็น “Pending” อีกต่อไป
แต่ถ้าเราไม่อยากรอก็ force run ได้เลยครับ

5. แล้วขั้นตอนที่เหลือทั้งหมดจะเกิดขึ้นเร็วมาก

จนเครื่องได้รับ device certificate จาก Azure Device Registration Service (Azure DRS)

และกลายเป็น Microsoft Entra hybrid joined device โดยสมบูรณ์ครับ

ตรวจสอบสถานะด้วย dsregcmd /status
เราสามารถใช้ dsregcmd /status ตรวจสอบว่าเครื่องคอมพิวเตอร์ join ทั้ง AD DS และ Entra ID แล้วหรือไม่?
ในภาพด้านล่างนี้คือ เครื่อง join ทั้ง AD DS และ Entra ID แล้ว
แต่ถ้าสังเกตุที่ SSO state จะพบว่าเครื่องยังไม่ได้รับ primary refresh token (PRT) สำหรับทำ SSO เข้าแอปพลิเคชั่นต่างๆ

เราจะได้รับ PRT จากการ sign in เข้าเครื่องที่ join หรือ register Entra ID

ซึ่งตอนนี้ เรา sign in ใหม่ เราได้รับ PRT แล้ว

เมื่อเราจะเข้าใช้งาน app หรือบริการต่างๆ ที่ใช้ Entra ID เป็น Identity provider ระบบก็จะใช้ PRT บนเครื่อง ไปขอ access token และ refresh token ของ app หรือบริการที่เราต้องการเข้าถึงจาก Entra ID
เนื่องจาก PRT ผ่านการทำ authentication มาแล้ว เราจึงไม่ถูก Entra ID ขอทำ authentication อีกรอบ
ดังนั้น การใช้งาน app หรือบริการต่างๆ ต่อจากนี้จึงเป็น SSO นั่นเองครับ
อ่านเพิ่มเติม