Exchange 2016 Episode 2 Moving to the cloud: ตอนที่ 2– Identity Management for on-premises and Cloud

0
1135

ในตอนที่แล้วได้กล่าวถึงความต้องการพื้นฐานในการทำงานของ Exchange Hybrid Configuration ไปแล้วนั้น จะเห็นได้อย่างชัดเจนอย่างสิ่งสำคัญอย่างหนึ่งที่จะต้องพูดถึงก็คือเรื่องของการจัดการ Identity ระหว่าง On-premise กับ On-Cloud ซึ่งหลายๆ ท่านอาจจะมีข้อสงสัยว่าเราจะต้องแยกการทำงานของ Identity ออกเป็น 2 ส่วนหรือเปล่า ซึ่งในตอนนี้จะมีคำตอบให้ครับ

Identity คืออะไร

ก่อนที่จะไปกล่าวถึงการจัดการ Identity ผมขออธิบายสักเล็กน้อยเกี่ยวกับคำว่า “Identity” เสียก่อนนะครับ

Idenity นั้น หากให้อธิบายความหมายอย่างเป็นทางการก็น่าจะอธิบายยากสักหน่อยนะครับ เพราะไม่รู้จะแปลเป็นภาษาอย่างไรให้เข้าใจง่ายครับ  แต่ถ้าเอาแบบบ้านๆ ก็ขอสรุปว่า “identity” นั้นเป็น “ตัวแทน” ของสิ่งต่างๆ ที่เราทำการสร้างขึ้นในระบบ เพื่อใช้แทนตัวตนจริงๆ ของสิ่งนั้นๆ ครับ ซึ่ง Identity นั้นแบ่งออกได้เป็นหลายประเภทด้วยกัน เช่น

  • User Account   ใช้แทนตัวผู้ใช้งาน 1 คน
  • Group Account ใช้แทนกลุ่มของผู้ใช้งานหลายๆ คนที่ลักษณะการใช้งานที่เหมือนกัน  ซึ่งอาจจะแบ่งออกเป็น Security Group และ Distribution Group อีกส่วนหนึ่ง
  • Computer Account ใช้แทนเครื่องคอมพิวเตอร์ จำนวน 1 เครื่อง

ซึ่ง Identity ต่างๆ เหล่านี้จะมีการเก็บข้อมูลอยู่ในเครื่องคอมพิวเตอร์ต่างๆ ที่เรียกว่า SAM Account (หรือที่นิยมเรียกว่า “Local Account”) และเจ้า Local Account นี้จะสามารถใช้งานได้ในเครื่องคอมพิวเตอร์เพียงเครื่องเดียวเท่านั้น  ดังนั้นจึงอาจทำให้เกิดปัญหาในองค์กรขนาดใหญ่ดังต่อไปนี้

pic1

รูปที่ 1 แสงให้เห็นว่าองค์กรมีผู้ใช้งาน 3 คน คือ blue, orange และ green แต่ละคนมีเครื่องคอมพิวเตอร์คนละเครื่อง โดยทุกคนต้องไปใช้งานข้อมูลร่วมกันใน Server1 ดังนั้น ในคอมพิวเตอร์ PC1 ของ blue ก็จะต้องมีการสร้าง Identity ของ blue, คอมพิวเตอร์ PC2 ของ orange ก็จะต้องมีการสร้าง Identity ของ orange, คอมพิวเตอร์ PC3 ของ green ก็จะต้องมีการสร้าง Identity ของ green ไว้ให้

ส่วนที่ Server1 นั้นจะต้องมี identity ของทั้ง 3 คนคือ blue, orange และ green เพื่อให้สามารถเข้าถึงข้อมูลได้  และถ้าให้สะดวก identity ทั้ง 3 นี้จะต้องมี username/password เหมือนกันกับที่ PC1, PC2,PC3 ของแต่ละคนด้วย

 

ปัญหาของ Local Account

จากตัวอย่างข้างต้น จะเห็นได้ว่าหากองค์กรมีขนาดใหญ่ จะเห็นว่าจะเกิดปัญหาดังต่อไปนี้

  • เกิดภาระการงานที่ไม่จำเป็นในการทำงานของผู้ดูแลระบบ  เช่น ลองนึกว่าถ้าบริษัทมีพนักงาน 100 คน มี PC 100 เครื่อง ถ้าต้องการให้พนักงานแต่ละคนไปใช้งานเครื่องคอมพิวเตอร์เครื่องไหนก็ได้  ก็จะทำให้ผู้ดูแลระบบต้องไปสร้าง Local Account ของผู้ใช้งานแต่ละคน ในเครื่องคอมพิวเตอร์ทุกๆ เครื่อง ซึ่งแน่นอนครับว่าไม่มีใครอยากทำ
  • เกิดภาระกับผู้ใช้งาน ระบบนี้ผู้ใช้งานจะต้องจำรหัสผ่านของตัวเองในแต่ละเครื่อง ซึ่งอาจจะไม่เหมือนกัน ซึ่งแน่นอนครับว่าถ้าใช้ระบบนี้จะไม่มีการเปลี่ยนรหัสผ่านแน่นอน และก็จะทำให้เกิดความเสี่ยงต่อระบบการรักษาความปลอดภัยขององค์กรอย่างแน่นอน

จากปัญหา 2 ประการดังกล่าว ในปัจจุบันผู้ใช้งานจึงมักนำเอาระบบ Active Directory Domain Service (AD DS) มาใช้งานกันอย่างกว้างขวาง

Active Directory Domain Service

Active Directory Domain Service (AD DS) หรือพูดง่ายๆ ก็คือ AD หรือ Domain ที่อยู่ในสำนักงานของเรา หรือที่เรียกว่า On-premise นั่นเอง เป็นระบบการจัดการความปลอดภัยขั้นพื้นฐานในองค์กร โดยมีการนำเอา Identity ต่างๆ นั้นมาเก็บไว้รวมในการเครื่องคอมพิวเตอร์ส่วนกลางที่มีหน้าที่ควบคุมการทำงานของ Domain  เรียกว่า “Domain Controller (DC)”

pic2

รูปที่ 2 นี้จะใช้การทำงานพื้นฐานเช่นเดียวกับในรูปที่ 1  แต่มีการปรับปรุงโดยมีการนำเอา identity ของ blue, orange, และ green ไปเก็บไว้รวมกันที่เครื่อง domain controller ซึ่ง โดยมากแล้ว Domain Controller จะมีอย่างน้อย 2 เครื่องในแต่ละโดเมน เพื่อลดความเสียหายกรณีเครื่องใดเครื่องหนึ่งเกิดปัญหาขึ้น

นอกจากนี้ยังได้มีการกำหนดไว้ว่าเครื่องคอมพิวเตอร์ที่ต้องการมาใช้งาน Identity ที่เก็บไว้บน Domain Controller นี้จะต้องผ่านการ Join Domain เสียก่อน เพื่อให้เกิดความปลอดภัยกับระบบ ซึ่งเมื่อ Join domain แล้วคอมพิวเตอร์เครื่องนั้นก็จะมีการสร้าง Identity ที่เรียกว่า “Computer Account” ขึ้นเก็บไว้ใน Domain Controller ด้วย

ด้วยวิธีการใช้งาน AD DS แบบนี้จะทำให้เกิดความสะดวกในการทำงานกับทั้ง 2 ฝ่ายคือ ผู้ดูแลระบบ และผู้ใช้งานดังนี้

  • ผู้ดูแลระบบ ทำการสร้าง Identity ซึ่งในที่นี้ก็คือ User Account, Group Account หรือ Computer Account ขึ้นใน Domain Controller เพียงที่เดียว ผู้ใช้งานก็จะใช้งานได้ทันที
  • ผู้ใช้งาน สามารถใช้ username/password เป็นเครื่องมือในการใช้งาน Identity ของตัวเองได้กับเครื่องคอมพิวเตอร์ทุกๆ เครื่องในองค์กร

นอกจากนี้ AD DS ยังมีประโยชน์เพิ่มเติมต่างๆ อีกสรุปได้ดังต่อไปนี้

  • การใช้งาน Group Policy และ Group Policy Preferences ในการทำงานต่างๆ เช่นการควบคุมเครื่องลูกข่าย, การติดตั้งซอฟต์แวร์,
  • การกำหนดนโยบายการใช้รหัสผ่่าน (Password Policy)
  • การตรวจสอบการทำงานต่างๆ เช่น การ Audit Log on/Log off
  • เป็นพื้นฐานในการใช้งานด้านต่างๆ เพิ่มเติมเช่น Active Directory Certificate Service, Active Directory Federation Service เป็นต้น
  • เป็น Requirement พื้นฐานในการใช้งานซอฟต์แวร์ต่างๆ เพิ่มเติม เช่น Exchange Server เป็นต้น

 

เอาละครับถึงตรงนี้ก็น่าจะได้แนวคิดพื้นฐานในการทำงาน และความสำคัญของ AD DS กันแล้วนะครับ  หลายๆ ท่านอาจจะมีคำถามว่า แล้ว AD DS มันเกี่ยวอะไร กับ Exchange Hybrid ???

อันนี้ผมขอบอกเลยครับว่าเกี่ยว และเกี่ยวแน่ๆ อยู่แล้วเพราะในเมื่อ Office 365 เองก็มีความจำเป็นที่จะต้องใช้งาน Identity เช่นกันครับ ดังนั้นจึงต้องมีอะไรสักอย่างนึงที่จะมาเก็บ Identity ต่างๆ เอาไว้ ซึ่งเจ้าอะไรสักอย่างที่ว่านั่นก็คือ “Azure Active Directory” หรือเรียกง่ายๆ ว่า “Azure AD” ครับ

Azure Active Directory

Azure Active Directory หรือ Azure AD หรือ AAD  เป็นบริการหนึ่งของ Microsoft Azure ซึ่งเป็น Cloud Service จาก Microsoft  โดย AAD ได้รับการออกแบบมาให้รองรับการทำงานกับการให้บริการในรูปแบบ SaaS (Software As a Service) เช่น Office 365  และให้ AAD มีหน้าที่ให้บริการเกี่ยวกับการบริหารจัดการ Identity  ให้กับ Office 365

AAD มีการทำงาน ในรูปแบบที่เป็น multi-tenant ซึ่งอธิบายแบบง่ายๆ ว่า AAD ให้บริการกับลูกค้าจำนวนมากมาย (ลูกค้าแต่ราย เรียกว่า 1 tennat) และเก็บข้อมูลไว้รวมกัน ดังนั้นผู้ใช้งาน AAD จึงไม่สามารถที่จะกำหนดทุกอย่างตามใจชอบได้ทั้งหมด  จึงเหลืองานที่สามารถทำได้เท่าที่จำเป็นต่อการจัดการ Identity เท่านั้น

pic3

รูปที่ 3 แสดงการทำงานของ AAD ซึ่งจะเห็นได้ว่า AAD จะเป็นจุดเชื่อมต่อระหว่าง On-premise AD DS กับ AAD  โดยการที่ AD DS จะทำการ Synchronize ข้อมูลต่างๆ ของ identity ของผู้ใช้งานใน AD DS ไปไว้ยัง AAD ผ่านทางเครื่องมือที่เรียกว่า Azure AD Connect (ซึ่ง Tool ตัวนี้ได้มีการเปลี่ยนชื่อมาหลายครั้ง คือ DIRSYNC, Azure Active Directory Sync  แต่ปัจจุบันใช้ชื่อว่า Azure AD Connect)

หมายเหตุ
ในทางทฤษฏีถือเสมือนว่า Identity ต่างๆ ที่ผ่านการ Synchornization จาก ADDS ไปยัง AAD นั้นถือว่าเป็นคนละ Identity กัน เพียงแต่ว่า Identity ทั้ง 2 ส่วนนั้น มีข้อมูลที่เหมือนกัน เช่น user name, password เท่านั้น  ด้วยเหตุนี้ Identity ที่อยู่บน ADDS กับ AAD จึงไม่สามารถใช้งานแทนกันได้ในบางกรณี เช่นการ Authentication เป็นต้น  ดังนั้นในรูปที่ 3 จึงแสดง Idenity ที่ฝั่งของ AAD ด้วยจุด

โดย Azure AD Connect นั้นได้รับการแนะนำให้ติดตั้งบนเครื่อง Server อีกเครื่องหนึ่งที่ไม่ใช่ Domain Controller แต่ต้อง Join Domain เสียก่อน ดังนั้นในรูปนี้จึงต้องเพิ่ม Directory Synchronization Server ขึ้นมาอีก 1 เครื่องในฝั่งของ On-premise

pic4

รูปที่ 4  แสดงให้เห็นหน้าที่หลักของ Azure AD Connect ซึ่งแบ่งออกได้เป็น 3 ประการหลักคือ

  • Sync Service  เป็นส่วนที่รับหน้าหลักในการสร้าง user, group และ Identity ประเภทอื่นๆ ตามที่กำหนด โดยอาศัยข้อมูลจาก AD DS จากนั้นนำไปสร้างไว้บน AAD ซึ่งกระบวนการนี้เราเรียกว่า “Directory Synchronization”
  • AD FS (Option) ส่วนเสริมสำหรับการทำงานแบบ Single Sign on (SSO) ร่วมกับ Office 365 และ Cloud based Application อื่นๆ รวมถึงสามารถรองรับการทำงานของ Web Application ภายในองค์กรได้ด้วย
  • Health (Option) ส่วนเสริมสำหรับการใช้งาน Azure Portal ในการตรวจสอบการทำงานของกระบวนการในการทำ directory Synchronization

ซึ่ง Azure Active Directory นั้นมีให้เลือกใช้งาน 4 Edition คือ

  • Azure Active Directory Free  เป็น Edition ที่ Microsoft แถมให้ใช้ฟรีสำหรับลูกค้าที่ซื้อบริการใช้งาน Microsoft Online Business Service เช่น Office 365, Azure เป็นต้น
  • Azure Active Directory Basic รองรับการทำงานขององค์กรที่ใช้การทำงานบน Cloud เป็นหลัก เช่น Self-service Identity Management เช่นการ reset pasword ด้วยตัวเอง, Group Based Access Management, มี SLA 99.9%
  • Azure Active Directory Premium – P1   รองรับการทำงานขององค์กรที่มีการใช้งานทั้ง On-premise และ Cloud มาพร้อมกับการทำงานของ Identity Management ในระดับ Enterprise เช่น Multi-Factor Authentication, Delegate Control, Dynamic Group management, หรือ password write back สำหรับการ reset รหัสผ่านของผู้ใช้งานบน cloud และให้ส่งผลกลับมายัง ADDS ด้วย
  • Azure Active Directory Premium – P2 เพิ่มความปลอดภัยให้กับ Azure Active Directory Premium P1 ด้วย Privileage Access Management และ Identity Protection
หมายเหตุ

  • สำหรับผู้ใช้งาน Office 365 สามารถที่จะใช้งาน Azure Active Directory ได้เลย โดยจะสามารถใช้งานคุณสมบัติต่างๆ ได้ตามที่กำหนดไว้ในรายละเอียด ในแหล่งข้อมูลด้านล่าง หมายเลข 3
  • โดยรายละเอียดของ Azure Active Directory ในแต่ละแบบนั้นสามารถดูได้ในแหล่งข้อมูลด้านล่าง หมายเลข 3
  • พิเศษสำหรับผู้ใช้งานที่ใช้ระบบปฏิบัติการเป็น Windows 10 สามารถที่จะนำเครื่องคอมพิวเตอร์เข้า Join Domain โดยใช้ Azure Active Directory ได้ด้วยนะคร้าบบบ

Azure Active Directory Domain Service (AADDS)

ดังได้กล่าวไปแล้วว่า Azure Active Directory (AAD) นั้นมีข้อจำกัดเนื่องจากการเป็น multi-tenant ดังนั้นจึงไม่สามารถที่จะกำหนด policy หรือนโยบายการทำงานต่างๆ มากนัก ดังนั้นในปัจจุบัน Microsoft ได้พัฒนา Azure Active Directory Domain Service (AADDS) ขึ้นมาอีกบริการหนึ่ง แต่ในขณะนี้ยังอยู่ในสถานะ preview อยู่นะครับ  โดย AADDS นี้เป็นการต่อยอดให้กับ AAD ให้มีความสามารถมากขึ้น เช่น

  • การสามารถกำหนด Group Policy ได้ (กำหนดได้เพียง 2 Group Policy เท่านั้น คือ 1) Group Policy สำหรับ Users และ 2) Group Policy สำหรับ Computers)
  • สามารถรองรับการ Authentication โดยใช้ Kerberos และ NTLM ได้
  • สามารถนำ Virtual Machine ที่อยู่บน Microsoft Azure ทำการ Join เข้าสู่ AADDS ได้เหมือนกับ ADDS
  • สามารถใช้งานเครื่องมือในการบริหารจัดการ เช่น Active Directory Users and Computers, Group Policy Management Console แต่ไม่สามารถใช้สร้าง Users, Groups ได้  การสร้าง Users,Groups ต้องทำผ่าน Azure Portal เท่านั้น

การสร้าง Domain Controllers ขึ้นบน Virtual Machine ใน Microsoft Azure

ด้วยข้อจำกัดของ AAD และ AADDS ดังนั้นผู้ใช้งานบางรายจึงอาจจะมีความต้องการในการสร้าง Domain Controllers ขึ้นอีกเครื่องหนึ้่งบน Virtual Machine ใน Microsoft Azure ดังรูปที่ 5

pic5

ในรูปที่ 5 จะเห็นได้ว่าการสร้าง Domain Controller ใน Azure Virtual Machine นั้นจำเป็นจะต้องมีการเชื่อมต่อ VPN แบบ Site-to-Site ระหว่าง On-premise ไปยัง Microsoft Azure  ซึ่งการทำงานแบบนี้เปรียบเสมือนการสร้าง Additional Domain Controller เพิ่มอีกเครื่องหนึ่งในสาขาของบริษัท (มองว่า Azure เป็น สาขาๆ หนึ่งของเรา)  หรือจะพูดให้ตรงก็คือมันก็ยังคงเป็นการทำงานแบบ ADDS นั่นเอง  ดังนั้นการทำงานแบบนี้ยังไม่รองรับการเชื่อมต่อกับ Office 365 โดยตรง ซึ่งจะต้องไปอาศัยการทำงานของ Azure Active Directory อยู่ดี

ด้วยเหตุนี้การทำงานนี้จึงไม่เป็นที่นิยมใช้มากนัก เว้นแต่ในองค์กรจะมีความต้องการใช้งาน Application ที่ต้องอาศัยการทำงานของ ADDS โดยตรงเท่านั้นครับ

 

เอาละครับถึงตรงนี้ก็น่าจะพอได้แนวคิดเกี่ยวกับการทำงานของ Identity Mangement บน Cloud กันไปบ้างแล้วนะครับ ในตอนต่อไปผมจะไปดูการทำงานของ Active Directory Federation Service (หรือ AD FS) ที่จะเป็นหัวใจหลักสำคัญอีกประการหนึ่งในการทำงานของ Exchange Hybrid Configuration ครับ  ตอนนี้พอแค่นี้ก่อนนะครับ 5555555

แหล่งข้อมูลเพิ่มเติม

1. What is Azure Active Directory?

2. Integrating your on-premises identities with Azure Active Directory

3. Azure Active Directory editions

 

หัวข้อที่เกี่ยวข้อง

ตอนที่ 1 ทำความรู้จัก Exchange Hybrid Configuration