ค้นหาเว็บไซต์

การใช้ Active Directory Federation Services ทีละขั้นตอน


ในปี 2013 ฉันติดตั้งสภาพแวดล้อม ADFS เป็นครั้งแรก และรู้สึกประทับใจมาก มีการปรับใช้อื่นๆ หลายครั้งตามมา และฉันก็อยากจะเขียนบล็อกเกี่ยวกับเรื่องนี้อยู่เสมอ แต่มันก็ไม่เคยเกิดขึ้น วิธีที่ดีในการเริ่มต้นปีใหม่ประมาณ 7 ปีหลังจากที่ฉันปรับใช้สภาพแวดล้อม ADFS ครั้งแรก นี่คือบล็อกของฉันเกี่ยวกับการนำ ADFS ไปใช้ ?

และ... ต้นปี 2022 ฉันต้องติดตั้งสภาพแวดล้อม ADFS อื่น ซึ่งคราวนี้ทำงานบน Windows 2022 มันไม่แตกต่างจาก Windows 2019 หรือ Windows 2016 มากนัก แต่ฉันได้เปลี่ยนบล็อกโพสต์นี้เล็กน้อยเพื่อให้สอดคล้องกับ Windows 2022 ADFS

ฉันจะไม่พูดถึงข้อดีและข้อเสียของการซิงโครไนซ์แฮชรหัสผ่าน, Pass-through Authentication (PTA) หรือโซลูชันของบุคคลที่สามเช่น Octa ฉันจะไม่หารือว่าคุณควรใช้ ADFS หรือโซลูชันอื่นหรือไม่ ฉันเพิ่งเห็นลูกค้าจำนวนมากใช้การซิงโครไนซ์แฮชรหัสผ่านและมองหาสถานการณ์อื่นๆ ที่การรับรองความถูกต้องเกิดขึ้นภายในองค์กร (ด้วยเหตุผลทุกประเภท) ในบล็อกโพสต์นี้ ฉันจะแสดงให้คุณเห็นวิธีการปรับใช้โครงสร้างพื้นฐานแบบรวมศูนย์ตาม ADFS แบบทีละขั้นตอน

ใน Office 365 มีหลายวิธีสำหรับผู้ใช้ในการรับรองความถูกต้อง และสิ่งนี้เกี่ยวข้องกับประเภทของข้อมูลประจำตัวที่ใช้:

  • Cloud Identity - ถูกสร้างขึ้นบนคลาวด์ รหัสผ่านอยู่ในคลาวด์ และการรับรองความถูกต้องของผู้ใช้บนคลาวด์
  • ข้อมูลระบุตัวตนที่ซิงค์ - สร้างขึ้นใน Active Directory ภายในองค์กรและซิงโครไนซ์กับระบบคลาวด์ รวมถึงรหัสผ่าน (โดยส่วนใหญ่) ผู้ใช้รับรองความถูกต้องในระบบคลาวด์ด้วยรหัสผ่านภายในองค์กร
  • Federated Identity - สร้างขึ้นใน Active Directory ภายในองค์กรและซิงโครไนซ์กับระบบคลาวด์ ซึ่งบางครั้งก็รวมรหัสผ่านด้วย (แนะนำสำหรับการกู้คืนระบบ) ผู้ใช้รับรองความถูกต้องกับตัวควบคุมโดเมนภายในองค์กรโดยใช้โครงสร้างพื้นฐานแบบรวมศูนย์ (ADFS)

บริการสหพันธรัฐ Active Directory

ในสภาพแวดล้อมแบบรวมศูนย์เมื่อคุณพยายามเข้าสู่ระบบบริการคลาวด์ (ใน Office 365 อาจเป็น SharePoint, Teams, Exchange, OneDrive, Microsoft Portal) คำขอการรับรองความถูกต้องจะปรากฏขึ้น แทนที่จะป้อนรหัสผ่านที่ Azure AD Domain Controller รับรองความถูกต้องได้ คำขอจะถูกเปลี่ยนเส้นทางไปยังเซิร์ฟเวอร์สหพันธรัฐภายในองค์กร บริการนี้เรียกว่า บริการโทเค็นความปลอดภัย หรือ STS STS ในสภาพแวดล้อม Active Directory ได้รับการปรับใช้โดยใช้อินสแตนซ์ ADFS ที่ทำงานบนเซิร์ฟเวอร์ Windows 2022 ใน DMZ นี่คือเซิร์ฟเวอร์ Web Application Proxy หรือ WAP ชื่อทั่วไปสำหรับเซิร์ฟเวอร์นี้คือ sts.contoso.com, adfs.contoso.com หรือ federation.contoso.com

คำขอการรับรองความถูกต้องจะพร็อกซีไปยังเซิร์ฟเวอร์ ADFS ภายใน ซึ่งส่งคำขอไปยัง Active Directory Domain Controller เมื่อตรวจสอบสิทธิ์แล้ว เซิร์ฟเวอร์ ADFS จะใช้ STS เพื่อส่งคืนโทเค็น SAML ซึ่งจะตรวจสอบสิทธิ์ผู้ใช้ในบริการ Office 365

เพื่อให้ทำงานได้ คุณต้องมีเซิร์ฟเวอร์ Azure AD Connect ซึ่งซิงโครไนซ์บัญชีใน Active Directory กับ Azure Active Directory นี่ไม่แตกต่างจากโซลูชันการซิงโครไนซ์แฮชรหัสผ่าน ถ้าอย่างนั้น คุณจะต้องมีโซลูชัน ADFS ภายในองค์กรที่จัดการคำขอจาก Office 365 สิ่งสุดท้ายที่คุณต้องการคือโดเมนใน Azure AD ที่ได้รับการกำหนดค่าเป็น โดเมนแบบรวมศูนย์ โดยที่โดเมนปกติได้รับการกำหนดค่าเป็น โดเมนที่ได้รับการจัดการ

แสดงในรูปต่อไปนี้:

ฉันคิดว่าคุณได้กำหนดค่าผู้เช่า Office 365 ของคุณแล้ว และ Azure AD นั้นพร้อมใช้งานแล้ว และคุณได้ซิงค์ข้อมูลประจำตัวในสภาพแวดล้อม Office 365 ของคุณแล้ว ณ จุดนี้ พวกเขาสามารถกำหนดค่าได้ด้วยกล่องจดหมาย ซึ่งไม่สำคัญสำหรับส่วนที่เหลือของบล็อกโพสต์นี้

เซิร์ฟเวอร์ WAP ของฉันเป็นเซิร์ฟเวอร์ Windows 2022 แบบสแตนด์อโลน (ใน DMZ) ชื่อ ams-sts01.exchangelabs.nl มีใบรับรอง Digicert โดยมี federation.exchangelabs.nl เป็นชื่อสามัญ มีที่อยู่ IP ภายในและที่อยู่ IP ภายนอก สามารถแก้ไขที่อยู่ IP ของเซิร์ฟเวอร์ภายในได้ (โปรดทราบว่า federation.exchangelabs.nl ควรแก้ไขเป็นเซิร์ฟเวอร์ ADFS ภายใน) และสามารถเข้าถึงได้จากภายนอกบนพอร์ต 443 เท่านั้น

เซิร์ฟเวอร์ ADFS ภายในเป็นเซิร์ฟเวอร์ Windows 2022 ที่เข้าร่วมโดเมนซึ่งมีเฉพาะที่อยู่ IP ภายใน (แน่นอน) ชื่อ AMS-ADFS01.labs.local มีใบรับรอง SSL เดียวกันกับเซิร์ฟเวอร์ WAP (federation.exchangelabs.nl) เซิร์ฟเวอร์ WAP ควรสามารถเข้าถึงเซิร์ฟเวอร์นี้บนพอร์ต 443

การสร้างโครงสร้างพื้นฐาน

การสร้างโครงสร้างพื้นฐาน ADFS ประกอบด้วยหลายขั้นตอน:

  • การปรับใช้เซิร์ฟเวอร์ ADFS แรกของฟาร์ม ADFS (การกำหนดค่าเซิร์ฟเวอร์ ADFS แรกเป็นส่วนหนึ่งของกระบวนการติดตั้ง)
  • การปรับใช้เซิร์ฟเวอร์เพิ่มเติมในฟาร์ม ADFS (ไม่ใช่ในบล็อกโพสต์นี้)
  • การปรับใช้เซิร์ฟเวอร์ WAP แรกใน DMZ
  • กำหนดค่าเซิร์ฟเวอร์ WAP แรก
  • การปรับใช้เซิร์ฟเวอร์เพิ่มเติมใน DMZ (ไม่ใช่ในบล็อกโพสต์นี้)

ฉันจะหารือเกี่ยวกับขั้นตอนเหล่านี้ในส่วนต่อไปนี้

การปรับใช้เซิร์ฟเวอร์รวมแรก

ขั้นตอนแรกคือการปรับใช้เซิร์ฟเวอร์ ADFS ภายใน หลังจากติดตั้งและแพตช์เซิร์ฟเวอร์ Windows 2022 คุณจะสามารถใช้ Server Manager เพื่อติดตั้งบทบาทเซิร์ฟเวอร์ ADFS ได้ เปิด ตัวจัดการเซิร์ฟเวอร์ เลือก เซิร์ฟเวอร์ภายในเครื่อง คลิก จัดการ และเลือก เพิ่มบทบาทและคุณลักษณะ

ใน ตัวช่วยสร้างการเพิ่มบทบาทและคุณลักษณะ คลิก การติดตั้งตามบทบาทหรือคุณลักษณะ เลือกเซิร์ฟเวอร์ ที่คุณต้องการติดตั้งบทบาท ADFS และ ทำเครื่องหมายในช่อง Active Directory Federation Services ปล่อย ตัวเลือกคุณลักษณะที่เลือก ไว้เป็นค่าเริ่มต้น และดำเนินการวิซาร์ดให้เสร็จสิ้น ตอนนี้บทบาท ADFS จะถูกติดตั้ง

เมื่อการติดตั้งเสร็จสิ้น คลิก กำหนดค่าบริการรวมบนเซิร์ฟเวอร์นี้ เพื่อเริ่มการกำหนดค่า ADFS

ระบุบัญชีที่มีสิทธิ์เพียงพอในการดำเนินการกำหนดค่า ADFS โดยปกติแล้ว บัญชีผู้ดูแลระบบโดเมนจะทำ เมื่อจำเป็น ให้เลือกบัญชีอื่น หรือคลิกถัดไปเพื่อดำเนินการต่อ

คุณสามารถนำเข้าใบรับรอง SSL จากไฟล์ PFX หรือหากคุณได้นำเข้าใบรับรอง SSL ระหว่างการติดตั้งเซิร์ฟเวอร์ Windows 2022 คุณสามารถใช้ช่องแบบเลื่อนลงเพื่อเลือกได้ ป้อนชื่อบริการของสหพันธรัฐ ซึ่งเป็นชื่อที่ปรากฏบนหน้าเข้าสู่ระบบ ADFS หลังการติดตั้ง ดังนั้นคุณควรใช้ชื่อที่เหมาะสม

ขั้นตอนต่อไปนี้คือการป้อนบัญชีบริการที่ใช้โดยบริการ ADFS คุณสามารถสร้างบัญชีได้ด้วยตนเอง หรือใช้บัญชีบริการที่มีการจัดการแบบกลุ่ม นี่เป็นข้อดีของการเปลี่ยนรหัสผ่านโดยอัตโนมัติ ดังนั้นฉันขอแนะนำให้ใช้สิ่งนี้

ถัดไปคือการเลือกฐานข้อมูลที่จัดเก็บข้อมูลการกำหนดค่า ซึ่งอาจเป็นฐานข้อมูลภายในของ Windows หรือฐานข้อมูล SQL ฉันจะข้ามภาพหน้าจอนี้
ขั้นตอนสุดท้ายคือ ตรวจสอบตัวเลือกการกำหนดค่า:

เมื่อตัวเลือกการตรวจทานเรียบร้อย คุณสามารถคลิก ถัดไป และดำเนินการตรวจสอบข้อกำหนดเบื้องต้น

เมื่อติดตั้งและกำหนดค่าข้อกำหนดเบื้องต้นทั้งหมดอย่างถูกต้องแล้ว คุณสามารถคลิก กำหนดค่า จากนั้นการติดตั้งและกำหนดค่าเซิร์ฟเวอร์ ADFS แรกจะเริ่มต้นขึ้น หลังจากนั้นไม่กี่นาที การติดตั้งและการกำหนดค่าจะเสร็จสิ้น และผลลัพธ์จะแสดง:

ในขณะนี้ฉันไม่กังวลเกี่ยวกับข้อความเตือน คลิก ปิด และรีบูตเซิร์ฟเวอร์ตามที่ร้องขอ

บนเซิร์ฟเวอร์ DNS ภายใน ให้สร้างบันทึก A สำหรับเซิร์ฟเวอร์รวมของคุณ (federation.exchangelabs.nl) และชี้ไปที่เซิร์ฟเวอร์ ADFS ภายในของคุณ สร้างระเบียน CNAME สำหรับการลงทะเบียนองค์กร และใช้ FQDN ของเซิร์ฟเวอร์ ADFS ของคุณ (federation.contoso.com)

เมื่อเซิร์ฟเวอร์ ADFS ถูกรีบูทและมีบันทึก DNS คุณสามารถใช้ URL ที่คล้ายกับ URL นี้ (https://federation.exchangelabs.nl/adfs/fs/federationserverservice.asmx) เพื่อตรวจสอบบริการรวมบนเซิร์ฟเวอร์ ADFS ของคุณ . มันจะแสดงเอาต์พุต XML คล้ายกับภาพหน้าจอต่อไปนี้:

ณ จุดนี้ คุณได้ปรับใช้เซิร์ฟเวอร์ ADFS แรกของคุณสำเร็จแล้ว ขั้นตอนต่อไปคือการปรับใช้เซิร์ฟเวอร์ WAP แรก

การปรับใช้พร็อกซีเซิร์ฟเวอร์

หลังจากติดตั้งและแพตช์เซิร์ฟเวอร์ Windows 2016 (อย่าลืมใบรับรอง SSL) คุณสามารถใช้ Server Manager เพื่อติดตั้ง Web Application Server โดยเป็นส่วนหนึ่งของบริการการเข้าถึงระยะไกล

บันทึก. หนึ่งในฟีเจอร์ใหม่ใน Windows 2022 คือการรองรับ TLS 1.3 ฉันได้พบวิธีการที่ยากลำบากที่ทำให้ ADFS ทำงานไม่ถูกต้องกับ TLS 1.3 และคุณต้องปิดการใช้งานสิ่งนี้ในรีจิสทรีของเซิร์ฟเวอร์ WAP สำหรับข้อมูลเพิ่มเติม โปรดดูบล็อกโพสต์ของฉันที่https://jaapwesselius.com/2022/01/19/adfs-web-application-proxy-configuration-wizard-fails-with-trust-certificate-error/

ใน วิซาร์ดเพิ่มบทบาทและคุณลักษณะ คลิก การติดตั้งตามบทบาทหรือตามคุณลักษณะ เลือกเซิร์ฟเวอร์ ที่คุณต้องการติดตั้ง Web Application Proxy บทบาทและเลือกช่องทำเครื่องหมายการเข้าถึงระยะไกล

ปล่อย ตัวเลือกคุณลักษณะที่เลือก ไว้เป็นค่าเริ่มต้น และในหน้าต่าง บริการบทบาท ให้เลือกช่องทำเครื่องหมาย Web Application Proxy ในหน้าต่างป๊อปอัปคุณลักษณะเพิ่มเติม ให้คลิกที่ เพิ่มคุณลักษณะ และดำเนินการตามตัวช่วยสร้างเพื่อติดตั้ง Web Application Proxy server

เมื่อติดตั้งซอฟต์แวร์เซิร์ฟเวอร์ WAP แล้ว ให้คลิก เปิดตัวช่วยสร้าง Web Application Proxy (ใต้การแจ้งเตือนในตัวจัดการเซิร์ฟเวอร์)

สำหรับชื่อบริการรวมศูนย์ ให้ใช้ชื่อที่คุณวางแผนจะใช้ (เช่น federation.exchangelabs.nl) และป้อนข้อมูลประจำตัวของผู้ดูแลระบบภายในเครื่องบนเซิร์ฟเวอร์ ADFS ที่ติดตั้งไว้ในส่วนก่อนหน้า

เลือกใบรับรอง SSL ที่ติดตั้งบนเซิร์ฟเวอร์ Windows 2022 ระหว่างการติดตั้ง (ฉันจะข้ามภาพหน้าจอนี้ที่นี่) และหน้าต่างการยืนยันจะปรากฏขึ้น

คลิก กำหนดค่า เพื่อเริ่มต้นการกำหนดค่าของ Web Application Proxy server และหลังจากนั้นสักครู่ หน้าต่างผลลัพธ์จะปรากฏขึ้น

หากต้องการตรวจสอบ สถานะการทำงาน ของเซิร์ฟเวอร์ WAP หลังการติดตั้ง ให้เปิด คอนโซลการจัดการการเข้าถึงระยะไกล (ภายใต้เครื่องมือการดูแลระบบ) คลิกที่เซิร์ฟเวอร์แล้วคุณจะเห็น ช่องทำเครื่องหมายสีเขียวสองช่องเพื่อระบุว่าเซิร์ฟเวอร์กำลังทำงานอยู่:

คุณยังสามารถตรวจสอบตัวแสดงเหตุการณ์ได้ ภายใต้ บทบาทของเซิร์ฟเวอร์ | Active Directory Federation Services คุณควรจะสามารถค้นหา EventID 245 ได้ ซึ่งบ่งชี้ว่าเซิร์ฟเวอร์ WAP เรียกข้อมูลการตั้งค่าการกำหนดค่าจากเซิร์ฟเวอร์ ADFS ภายในได้สำเร็จ:

การตรวจสอบภายนอกอย่างรวดเร็วสามารถดึงข้อมูลเมตาของสหพันธรัฐจากเซิร์ฟเวอร์ ADFS ของคุณได้ จากไคลเอ็นต์ภายนอก ให้ใช้ URL ที่คล้ายกับนี้ (https://federation.exchangelabs.nl/federationmetadata/2007-06/federationmetadata.xml) เพื่อดึงข้อมูลเมตาของสหพันธรัฐ ควรแสดงเอาต์พุต XML ที่คล้ายกับข้อความต่อไปนี้:

การทดสอบอื่นคือการใช้หน้า Idp Initiated Signon ซึ่งอยู่ที่ https://federation.exchangelabs.nl/adfs/ls/idpinitiatedsignon.htm มีสิ่งหนึ่งที่พบได้ที่นี่ ซึ่งถูกเปิดใช้งานตามค่าเริ่มต้นใน Windows 2012 R2 แต่ไม่ใช่ใน Windows 2016 หากต้องการเปิดใช้งาน ให้ดำเนินการคำสั่ง PowerShell ต่อไปนี้บนเซิร์ฟเวอร์ ADFS (ภายใน) ของคุณ:

[PS] C:\> ตั้งค่า AdfsProperties -EnableIdpInitiatedSignonPage $True

ตอนนี้เมื่อคุณไปที่หน้า IdpInitiatedSignon คุณจะเห็นหน้า HTML แบบคงที่พร้อมปุ่มลงชื่อเข้าใช้ เมื่อคุณคลิก คุณจะสามารถใช้ข้อมูลประจำตัวของคุณเพื่อลงชื่อเข้าใช้สภาพแวดล้อมของคุณได้ และคุณจะเห็นภาพหน้าจอต่อไปนี้:

ตอนนี้เรารู้แล้วว่าสภาพแวดล้อม ADFS ทำงานอย่างถูกต้อง และเราสามารถดำเนินการกำหนดค่า Azure AD และ Office 365 ต่อได้

ในขณะนี้ เราได้ติดตั้งและกำหนดค่าโครงสร้างพื้นฐาน ADFS แบบง่ายในสภาพแวดล้อม Windows ภายในองค์กรที่มีอยู่ ซึ่งสามารถจัดการคำขอการรับรองความถูกต้องของ Office 365 ได้ ฉันจะหารือเกี่ยวกับการกำหนดค่าของ Office 365 (และ Azure Active Directory) ในบล็อกถัดไป

บทความที่เกี่ยวข้อง