ข้ามไปที่เนื้อหา

S9 — ระบบเว็บพอร์ทัลกลาง (Web Portal)

RLPD Integrated Web Portal

ตารางสรุปข้อมูลเบื้องต้น

หัวข้อ รายละเอียด
อ้างอิง TOR ข้อ 7.19
หน่วยงานรับผิดชอบ ศูนย์เทคโนโลยีสารสนเทศ (ศท.)
ลักษณะการพัฒนา ระบบปรับปรุงและเพิ่มประสิทธิภาพ (Improvement & Maintenance)
สถานะโครงการ :large_blue_circle: ต่อเนื่องจาก Phase 1 — Phase 1 พัฒนาระบบเว็บพอร์ทัลขึ้นใหม่ (TOR Phase 1 ข้อ ๑), Phase 2 ปรับปรุงเพิ่มเติมและเชื่อมต่อกับระบบใหม่ทั้ง 9 ระบบ
ระดับความซับซ้อน ระดับเริ่มต้น (🟢 Quick Win / Foundational)
บทบาทหลัก จุดเข้าใช้งานกลาง (Single Entry Point) สำหรับทุกระบบงานของกรมฯ
การเชื่อมโยงระบบ ฝังการทำงาน S1 (Embedded) และนำทางไปยัง S2–S8 (Navigation)
สถานะการดำเนินงาน ระบบใช้งานจริง (Production) และอยู่ระหว่างวางแผนปรับปรุง

สถานะปัจจุบัน (Current State)

ระบบ Web Portal ได้รับการพัฒนาขึ้นในระยะที่ 1 (Phase 1) เพื่อเป็นศูนย์กลางการเข้าถึงบริการดิจิทัลของกรมคุ้มครองสิทธิและเสรีภาพ โดยทำหน้าที่เป็นระบบพิสูจน์ตัวตนกลาง (Single Sign-On: SSO) ผ่าน Keycloak และรองรับการแสดงผลแบบ Responsive ที่ปรับตามขนาดหน้าจออุปกรณ์ต่างๆ

ข้อมูลเชิงเทคนิคจากระยะที่ 1: - Frontend: React.js, Tailwind CSS, Ant Design (AntD) - Backend: Node.js, TypeScript, Express.js - SSO Infrastructure: Keycloak (sso.rlpd.go.th) รองรับมาตรฐาน OIDC/OAuth2 - การจัดเก็บไฟล์: MinIO (S3-compatible) - ความปลอดภัย: รองรับมาตรฐาน WCAG 2.1 Level AA

ขอบเขตความต้องการตาม TOR

ตามรายละเอียดในข้อกำหนด TOR ข้อ 7.19 การปรับปรุงระบบเว็บพอร์ทัลต้องครอบคลุมดังนี้:

1. การพิสูจน์และยืนยันตัวตน (Authentication & Authorization)

  • การเชื่อมต่อ ThaiD / Digital ID: บูรณาการการเข้าสู่ระบบผ่านแอปพลิเคชัน ThaiD ของกรมการปกครอง
  • ระบบ SSO ขั้นสูง: รองรับการทำ Single Sign-On ไปยังระบบใหม่ทั้ง 9 ระบบใน Phase 2
  • สิทธิ์การใช้งานตามบทบาท (RBAC): กำหนดสิทธิ์การมองเห็นเมนูและฟังก์ชันตามประเภทผู้ใช้งาน (Role-Based Access Control)

2. มาตรฐานความปลอดภัย (Security Standards)

  • การเข้ารหัสข้อมูล: ใช้งาน SSL Certificate (HTTPS) สำหรับทุกการรับส่งข้อมูล
  • นโยบายรหัสผ่าน: บังคับเปลี่ยนรหัสผ่านทุก 60 วัน และมีการล็อกบัญชีหากใส่รหัสผิดเกินจำนวนที่กำหนด
  • การจัดการบัญชี: ล็อกบัญชีที่ไม่มีการเคลื่อนไหวเกิน 45 วันโดยอัตโนมัติ
  • ระบบป้องกันการโจมตี: เพิ่มกลไกป้องกัน Brute Force Attack

3. การรวมระบบ (Integration)

  • การฝังระบบ S1: ระบบให้คำปรึกษาทางกฎหมาย (S1) จะถูกฝังเป็นโมดูลภายในพอร์ทัลโดยตรง
  • จุดนำทางกลาง: เป็น Dashboard หลักในการเข้าถึงระบบ S2–S8 โดยไม่ต้อง Login ซ้ำ

ขั้นตอนการทำงาน (Workflow)

กระบวนการเข้าใช้งานระบบผ่านพอร์ทัลกลาง:

graph TD
    A[ผู้ใช้งานเข้าสู่หน้า Portal] --> B{เลือกวิธี Login}
    B -->|ประชาชน| C[ThaiD / Digital ID]
    B -->|เจ้าหน้าที่| D[Username/Password + AD/LDAP]
    C --> E[Keycloak ตรวจสอบสิทธิ์]
    D --> E
    E --> F[สร้าง Session / JWT Token]
    F --> G[เข้าสู่หน้า Dashboard หลัก]
    G --> H[เลือกใช้งานระบบ S1-S8 ตามสิทธิ์ที่มี]

รายละเอียดทางเทคนิค (Technical Details)

ประเภท รายละเอียด หมายเหตุ
SSO Server sso.rlpd.go.th (Keycloak) ใช้ Realm: rlpd
Application Layer Docker Container on Linux (10.136.27.124) แยกส่วน Frontend และ Backend
Identity Provider ThaiD, AD (Active Directory) รองรับการเชื่อมต่อแบบ Hybrid
Data Storage MinIO Object Storage สำหรับจัดเก็บเอกสารแนบจากทุกระบบ

ประเด็นที่ต้องการคำชี้แจง (Open Issues)

[ประเด็นเปิด] รายละเอียด ThaiD API Specification และช่องทางการเชื่อมต่อ (Endpoints) ที่เป็นปัจจุบันคืออะไร?

[ประเด็นเปิด] นโยบายการจัดการเซสชัน (Session Timeout) ของแต่ละระบบงานมีความแตกต่างกันหรือไม่? (เช่น ระบบการเงิน S5 อาจต้องการ Timeout ที่เร็วกว่าระบบอื่น)

[ประเด็นเปิด] ผังโครงสร้างบทบาทผู้ใช้งาน (User Role Matrix) สำหรับระบบใหม่ทั้ง 9 ระบบมีการจัดทำไว้แล้วหรือไม่?

[ประเด็นเปิด] การล็อกบัญชีที่ไม่มีการเคลื่อนไหว 45 วัน จะใช้เกณฑ์จากการ Login ครั้งสุดท้าย หรือกิจกรรมสุดท้ายในระบบ?

[ประเด็นเปิด] ระบบพอร์ทัลต้องรองรับการแสดงผลหลายภาษา (Multi-language) หรือไม่?

หมายเหตุทางเทคนิค (Technical Notes)

แนวทางการปรับปรุงความปลอดภัยในระยะที่ 2

  1. การบูรณาการ ThaiD:
  2. ศึกษามาตรฐาน OIDC ของ ThaiD และออกแบบ Flow การแลกเปลี่ยน Token
  3. พัฒนาระบบรองรับ (Fallback Mechanism) ในกรณีที่บริการภายนอกขัดข้อง

  4. การจัดการรหัสผ่านและเซสชัน:

  5. ใช้การแฮชรหัสผ่านด้วยอัลกอริทึมที่ทันสมัย (เช่น bcrypt หรือ Argon2)
  6. เพิ่มระบบแจ้งเตือนทางอีเมลเมื่อรหัสผ่านใกล้หมดอายุ (ก่อนครบ 60 วัน)
  7. พัฒนาระบบปลดล็อกบัญชีอัตโนมัติผ่านการยืนยันตัวตนทางอีเมล

  8. สถาปัตยกรรมระบบ (Architecture):

  9. Centralized Auth: พอร์ทัลทำหน้าที่เป็นผู้ส่งผ่าน Token (Token Exchange) ให้กับระบบลูก
  10. Performance: หน้าพอร์ทัลต้องโหลดได้รวดเร็ว เนื่องจากเป็นหน้าแรกที่ทุกคนต้องผ่าน (ควรมีการทำ Static Assets Caching)
  11. High Availability: เนื่องจากพอร์ทัลเป็นจุดเข้าใช้งานเพียงจุดเดียว (Single Point of Access) การออกแบบระบบควรคำนึงถึงความพร้อมใช้งานสูง (HA)

แผนภาพการเชื่อมต่อ ThaiD SSO

text ผู้ใช้งาน -> หน้า Portal -> บริการพิสูจน์ตัวตน ThaiD (QR Scan) -> พอร์ทัลรับ Token ยืนยัน -> สร้าง Session ใน Keycloak -> ผู้ใช้งานเข้าถึงระบบ S1-S8 ได้โดยไม่ต้อง Login ซ้ำ