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

[Guest Post] ครบเครื่องการจัดการข้อมูลแบบ SaaS ยุคคลาวด์-เนทีฟ ด้วย HPE Alletra 6000 และ HPE Alletra 9000

เกือบสองปีของการติดกับดักยุคโควิด ทำให้เราได้เห็นการเปลี่ยนผ่านอย่างเป็นรูปธรรมของหลายองค์กรเพื่อก้าวสู่การเป็นองค์กรดิจิทัล โดยใช้เทคโนโลยีของคลาวด์ส่วนตัว คลาวด์สาธารณะ หรือมัลติคลาวด์ในการจัดวางโครงสร้างพื้นฐาน ร่วมกับคลาวด์-เนทีฟ (Cloud-Native) ในการพัฒนาปรับปรุงแอปพลิเคชันและบริการผ่านออนไลน์ในรูปแบบต่าง ๆ ซึ่งนำไปสู่การไหลเวียนของข้อมูลระดับบิ๊กดาต้า และต้องอาศัยเครื่องมือบริหารจัดการที่มีประสิทธิภาพสูง ดังนั้น เมื่อพูดถึงอุปกรณ์จัดเก็บข้อมูลในปัจจุบัน เราคงไม่ได้มองแคบแค่กล่องเก็บข้อมูลที่มีตัวเลขความจุเทราไบต์สูง ๆ …

Leadership Vision: QAD กับทิศทางการให้บริการ ERP software ในปี 2021 บทสัมภาษณ์มิสเตอร์ยาน บิซซิโพล บริษัทคิวเอดี

ในช่วงไม่กี่ปีมานี้ หนึ่งในยักษ์ใหญ่ทางด้าน ERP Software จากอเมริกา มีการปรับกลยุทธ์ทางธุรกิจ เพื่อรองรับลูกค้าที่เป็นโรงงานหรืออุตสาหกรรมผลิตในภาคพื้นเอเชียมากขึ้น โดยเฉพาะในประเทศไทย เป็นศูนย์กลางในอุตสาหกรรมการผลิตเป็นจำนวนมาก QAD จะเดินหน้าต่อไปในทิศทางไหนเพื่อการให้บริการที่ครอบคลุม มาพบกับคำตอบได้ในบทความ “QAD กับทิศทางการให้บริการ ERP ในประเทศไทยต่อภาคอุตสาหกรรมผลิต” บทสัมภาษณ์มิสเตอร์ยาน …