ADPT

สรุป Red Hat Webinar: พัฒนา Microservice Application ที่มีความปลอดภัยโดยใช้ OpenID ด้วย Keycloak

ประเด็นด้านความมั่นคงปลอดภัยนั้นถือเป็นอีกหนึ่งสิ่งที่นักพัฒนา Software ต้องให้ความสำคัญ Red Hat จึงได้จัด Webinar ในหัวข้อ พัฒนา Microservice Application ที่มีความปลอดภัยโดยใช้ OpenID ด้วย Keycloak เพื่อเสริมความมั่นคงปลอดภัยให้กับการพัฒนาระบบ Microservices ด้วยการทำ Single Sign-On หรือ SSO นั่นเอง

รู้จักกับ Keycloak โครงการ Open Source สำหรับทำ Identity and Access Management Solution

Keycloak คือ Open Source Project ที่มีเครื่องมือต่างๆ มากมาย เช่น Access Management, Identity Brokering, User Fedration ด้วย LDAP/AD, Event Auditing โดยมี Client Library หลากหลายทั้งบน Java EE, MicroProfile, Spring, Node.js และอื่นๆ

ความสามารถหลักของ Keycloak จะแบ่งออกเป็นส่วนๆ ดังนี้

  • Authentication การยืนยันตัวตนผู้ใช้งาน
  • Authorization สามารถกำหนดสิทธิ์ในการเข้าถึงทรัพยากรต่างๆ ของผู้ใช้งานแต่ละคนได้
  • Clients Management รองรับ Application ได้หลาย App สำหรับผู้ใช้งานแต่ละคน
  • Session Management จัดการ Session ของผู้ใช้งานแต่ละคน พร้อมทั้งตรวจสอบ Session ทั้งหมดได้
  • Identity Manager (IdM) / Identity Access Manager (IAM)
  • Identity Provider (IdP)
  • Service Provider (SP) รองรับ SAML, OIDC และอื่นๆ
  • Identity Provider Federation / Identity Broker ทำงานร่วมกับ Facebook, Google, GitHub และอื่นๆ ที่รองรับ OpenID Connector, SAML ได้

ในการใช้งาน Keycloak ได้จัดเตรียม Login/Register Page ที่พร้อมใช้งานได้ทันที แต่ยังสามารถปรับแต่ง CSS ให้เข้ากับสไตล์การออกแบบของแต่ละ Application ได้โดยไม่ต้องพัฒนาหน้าเหล่านี้ใหม่เองทั้งหมด

นอกจากนี้ ใน Keycloak ยังมี Flow ให้เลือกกำหนดการยืนยันตัวตน การกำหนดสิทธิ์ การ Login และสิ่งที่ผู้ใช้งานสามารถทำได้ในระหว่างกระบวนการการยืนยันตัวตน เช่น การตรวจตสอบ Cookie หรือ Access Token หรือ Kerberos ก่อนว่าเคยยืนยันตัวตนอยู่แล้วหรือยัง, การตรวจสอบว่ารหัสผ่านหมดอายุหรือยังและ Reset รหัสผ่าน, การเพิ่มการทำ OTP/OOB/reCAPTCHA, การทำ MFA และอื่นๆ ทำให้ธุรกิจองค์กรไม่ต้องพัฒนาระบบพวกนี้เองสำหรับแต่ละ Application ช่วยให้การพัฒนา App ลดความซ้ำซ้อนในส่วนของการยืนยันตัวตนและการกำหนดสิทธิ์ได้ โดย Add-on Flow ต่าง ๆ  ที่ช่วยเสริมการทำงาน ต่าง ๆ ที่ keycloak มีประกอบไปด้วย

  • Authentication Flow เช่น Registration flows, login flows, credential reset flows, etc.
  • Registration Flow เช่น self-register, email validation, etc.
  • Login Flow เช่น user/password ร่วมกับ MFA
  • Required Actions เช่น interval or schedule password reset

ซึ่ง Flow เหล่านี้สามารถปรับแต่ง ผ่าน Keycloak ได้อีกด้วย

Keycloak นั้นสามารถทำการบริหารจัดการผู้ใช้งานแต่ละกลุ่มได้ โดยแบ่งผู้ใช้งานแต่ละกลุ่มออกเป็น Realms และมีการจัดเก็บผู้ใช้งานในแบบ User, Credential, Role, Group เพื่อให้ง่ายต่อการบริหารจัดการการยืนยันตัวตนและการกำหนดสิทธิ์ของผู้ใช้งานแต่ละคน โดยรองรับการใช้ได้ทั้ง Password, One-time Passcode, Digital Certificate และอื่นๆ ในการยืนยันตัวตนได้อย่างหลากหลายและยืดหยุ่น

ในการใช้งาน Keycloack สามารถใช้งานได้บน Java 8 ทันที โดยสามารถเลือกติดตั้งเองก็ได้ หรือจะใช้งานผ่าน Docker/Kubernetes/OpenShift ก็ได้เช่นกัน และสามารถติดตั้งใช้งานเป็นแบบ Cluster กระจายตัวอยู่ข้าม Data Center หรือ Cloud โดยมี Infinispan มาช่วยจัดเก็บทำ Cache และ Replicate Session ของผู้ใช้งานได้ ทำให้สามารถรองรับการใช้งานในระบบ Cloud-Native Application ได้เป็นอย่างดี หรือสำหรับการใช้งานภายใน Data Center แห่งเดียว ก็สามารถทำ High Availability (HA) ภายใน Cluster ได้

สำหรับการประยุกต์การใช้งาน จะมี OpenID Connect Adapter สำหรับใช้งานบน Application เช่น React/Angular/Vue และอื่นๆ, SAML Adapter และ Gatekeeper สำหรับใช้งานบน Container/Kubernetes ในรูปแบบ Sided-Car ให้เลือกใช้งาน

ส่วนการทำ Authorization นั้น Keycloak สามารถทำได้อย่างยืดหยุ่นด้วยการกำหนดภายในระบบของ Keycloak โดยตรง ไม่ต้องเสียเวลาในการพัฒนาเอง เช่น

  • Attributed-based (ABAC)
  • Role-based (RBAC)
  • User-based (UBAC)
  • Context-based (CBAC)
  • Time-based
  • Rule-based
  • Custom Access Control Mechanism (ACM) ผ่านทาง Policy Service Provider SPI

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

สิ่งหนึ่งที่ Red Hat แนะนำให้ใช้คือ OpenID Connect ซึ่งเป็นมาตรฐานที่ถูกพัฒนาต่อยอดมาจาก OAuth 2.0 แต่แก้ไขจุดอ่อนต่างๆ ออกไปค่อนข้างมาก และพร้อมสำหรับการนำมาใช้งานใน Application ของธุรกิจองค์กรได้ดียิ่งขึ้น

Red Hat นั้นได้นำ Keycloak เข้ามาเป็นส่วนหนึ่งของ Red Hat Application Services โดยใช้ชื่อว่า Red Hat Single sign-on ที่มี Red Hat Runtimes, Red Hat Integration & Red Hat Process Automation รวมถึงยังสามารถใช้งานได้ใน Red Hat OpenShift อีกด้วย

ผู้ที่สนใจรายละเอียดเพิ่มเติมเกี่ยวกับ Keycloak สามารถศึกษาข้อมูลเพิ่มเติมได้ที่https://www.keycloak.org/ ครับ

สนใจติดต่อ Red Hat ได้ทันที

ผู้ที่สนใจรายละเอียดเพิ่มเติม สามารถศึกษาข้อมูลเพิ่มเติมได้ที่ https://www.openshift.com/ หรือติดต่อทีมงาน Red Hat ประจำประเทศไทยได้ที่ Email rchemae@redhat.com


About nattakon

จบการศึกษา ปริญญาตรีและโท สาขาวิศวกรรมคอมพิวเตอร์ KMITL เคยทำงานด้าน Engineer/Presale ดูแลผลิตภัณฑ์ด้าน Network Security และ Public Cloud ในประเทศ ปัจจุบันเป็นนักเขียน Full-time ที่ TechTalkThai

Check Also

ขอเชิญทุกท่านเข้าร่วมงานสัมมนาออนไลน์ฟรี TTT Virtual Summit: Enterprise Cybersecurity 2021 [5-7 ต.ค. 2021]

TechTalkThai ขอเชิญ CISO, CSO, Cybersecurity Manager, IT Manager, Cybersecurity Engineer, IT Engineer, Network Engineer, IT Admin และผู้ที่สนใจทุกท่านเข้าร่วมงานสัมมนาออนไลน์ฟรี TTT Virtual Summit: Enterprise Cybersecurity 2021 งานสัมมนาออนไลน์ครั้งใหญ่สำหรับทุกท่านที่สนใจในแนวโน้มและนวัตกรรมด้าน Cybersecurity เพื่ออัปเดตแนวโน้มด้านภัยคุกคามและความมั่นคงปลอดภัยไซเบอร์ล่าสุดในช่วงครึ่งหลังของปี 2021 รวมไปถึงกลยุทธ์ เทคโนโลยี และแนวทางปฏิบัติตามมาตรฐานและกรอบการทำงานต่างๆ สำหรับปกป้องระบบสารสนเทศและสินทรัพย์ดิจิทัลทั้งใน Data Center และบน Cloud

Informatica Webinar: Data Governance – ตัวช่วยสำคัญสำหรับการขับเคลื่อนกลยุทธ์ทางธุรกิจสู่ยุค The Next Normal [14 ต.ค. 2021 – 14.00น.]

TechTalkThai ขอเรียนเชิญ CTO, CIO, CDO, IT Manager, Data Manager, Data Engineer, ผู้ดูแลการควบคุม PDPA, ผู้ดูแลระบบ IT และผู้ที่สนใจทุกท่าน เข้าร่วมชม Webinar ในหัวข้อเรื่อง "Data Governance – ตัวช่วยสำคัญสำหรับการขับเคลื่อนกลยุทธ์ทางธุรกิจสู่ยุค The Next Normal โดย Informatica และ Vintcom" เพื่อทำความรู้จักกับแนวคิดในการบริหารจัดการข้อมูลตามหลัก Data Governance เพื่อวางนโยบายขับเคลื่อนการใช้ข้อมูลในองค์กร ในวันพฤหัสบดีที่ 14 ตุลาคม 2021 เวลา 14.00 – 15.30 น. โดยมีกำหนดการและวิธีการลงทะเบียนดังนี้