Auth Source แบบ OIDC (OpenID Connect) ใช้เชื่อม Sangfor Athena SASE กับ Identity Provider (IdP) ที่รองรับ OpenID Connect เช่น Microsoft Entra ID ผู้ใช้กด Go to Login Page บนหน้า Login แล้วไปยืนยันตัวตนที่ IdP เมื่อสำเร็จจะกลับมาใช้งานต่อได้ทันที บทความนี้อธิบายสิ่งที่ต้องเตรียมฝั่ง IdP การเพิ่ม Auth Source การเปิดใช้ใน Authentication Policy และการตรวจสอบผล สำหรับผู้ดูแลระบบที่มีสิทธิ์จัดการแอปบน IdP
สำหรับองค์กรที่ใช้ Microsoft Entra ID แนวทางที่แนะนำคือ Sync ผู้ใช้และ Group ด้วย User Source แบบ Azure Active Directory แล้วใช้ Auth Source แบบ OIDC สำหรับการ Login และเลือก OpenID Connect (OIDC) ใน Authentication Policy ผู้ใช้จึงมี Department และ Group ครบตั้งแต่ Login ครั้งแรก
สารบัญ
สิ่งที่ต้องเตรียมฝั่ง IdP
- ที่ระบบจัดการของ IdP สร้าง OIDC Application สำหรับ Athena SASE แบบ Authorization Code Grant
- จดค่า Client ID, Client Secret และ Well-known URL (OpenID Configuration) ของ IdP ถ้า IdP ไม่มี Well-known URL ให้จดค่า Issuer, Authorization Endpoint, Token Endpoint และ JWKS Endpoint แทน
- หลังสร้าง Auth Source แล้ว ต้องนำค่า Redirection Endpoint จากฟอร์มของ Athena SASE ไปลงทะเบียนใน Application ฝั่ง IdP
- ถ้า Sync ผู้ใช้ไว้ด้วย User Source ให้กำหนดว่า Claim ใดของ IdP จะได้ค่าเดียวกับ Username ที่ Sync มา (เช่น User Source แบบ Azure Active Directory ใช้
userPrincipalNameเป็น Username)
เพิ่ม Auth Source แบบ OIDC
- ไปที่ Platform Management › Identity Management › Authentication Policies แท็บ Mobile Users แล้วกด Manage Auth Sources
- กด Add Auth Source แล้วกด OIDC หน้าต่าง Details จะเปิดขึ้น (การคลิกไอคอนประเภทจะสร้าง Auth Source ให้ทันที จึงควรคลิกเมื่อพร้อมตั้งค่าจริง)
- ตั้งชื่อ Auth Source ด้วยไอคอนดินสอข้างชื่อ
- ที่แท็บ Basics ส่วน Basic Info กรอกค่าจาก IdP
ฟิลด์ ค่าที่กรอก Client ID * / Client Secret * ค่าจาก Application ฝั่ง IdP Well-known Well-known URL ของ IdP แล้วกด Decode เพื่อดึงค่า Endpoint ต่างๆ มากรอกให้ Issuer * Issuer ของ IdP Authorization Endpoint * URL สำหรับขอ Authorization Code Token Endpoint * URL สำหรับแลก Token JWKS Endpoint * URL ของ Key สำหรับตรวจลายเซ็นของ Token - ส่วน OIDC คัดลอก Redirection Endpoint ไปลงทะเบียนใน Application ฝั่ง IdP
- ที่แท็บ Advanced
- JIT Settings: Account Mapping กำหนดค่าที่ใช้จับคู่ผู้ใช้กับ Username ในระบบ, Linking Action "When linking fails" เลือก Create User (สร้างบัญชีให้อัตโนมัติตอน Login ครั้งแรก ตาม Mapping ที่ตั้งไว้) หรือ Deny Access (ปฏิเสธเมื่อจับคู่ไม่ได้), Attribute Mapping และ Sync to Department สำหรับผู้ใช้ที่สร้างด้วย JIT
- Token Auth Method: Client Secret Basic หรือ Client Secret Post เลือกให้ตรงกับที่ Application ฝั่ง IdP กำหนด
-
Scopes: ในฟอร์มกรอกไว้เป็น
openid profile email phone
- กด OK แล้วกด Enable ที่มุมขวาบนของหน้าต่าง Details
เปิดใช้ใน Authentication Policy
- ที่หน้า Authentication Policies › Mobile Users › PC (Client Access) กด Edit ที่มุมซ้ายล่าง
- ที่ Auth Method ติ๊ก Tile OpenID Connect (OIDC) (วิธีอื่นที่เลือกไว้ยังคงใช้ได้ ผู้ใช้เลือกได้ที่หน้า Login)
- กด Save ถ้าผู้ใช้ Login จากมือถือด้วย ให้ตั้งที่แท็บ Mobile Device เพิ่ม
- Redirection Method ใน Authentication Settings › Custom Authentication Page ใช้กับ SAML, OAuth 2.0 และ OIDC เลือกได้ว่าจะพาผู้ใช้ไปหน้า Login ของ IdP ทันที หรือให้ผู้ใช้กดปุ่ม Go to Login Page ก่อน ดู Custom Authentication Page
- ถ้าเปิด Forced Authentication ไว้ ให้เพิ่ม IP หรือ Domain ของ IdP ในรายการ OIDC ที่ Authentication Settings › Allowed IPs/Domains ดู Allowed IPs/Domains
ตรวจสอบผล
- ที่เครื่องผู้ใช้ กด Log In บน Omnipoint Secure Client ถ้าหน้า Login แสดงวิธีอื่นก่อน ให้เลือก OIDC ใต้ More Login Options
- หน้า OpenID Connect จะแสดงปุ่ม Go to Login Page กดเพื่อไปหน้า Login ของ IdP
- กรอกบัญชีและรหัสผ่านที่ IdP เมื่อสำเร็จ ระบบจะกลับมาและ Client แสดงสถานะออนไลน์
- ที่ Console ตรวจได้ที่ Dashboard › User Status และ Logs › User Access › Login/Logout แท็บ Client Users
ปัญหาที่พบบ่อย
| อาการ | สิ่งที่ควรตรวจ |
|---|---|
| กด Decode แล้วไม่ได้ค่า Endpoint | ตรวจ Well-known URL ให้ถูกต้อง หรือกรอก Issuer, Authorization Endpoint, Token Endpoint และ JWKS Endpoint เองจากข้อมูลของ IdP |
| IdP ปฏิเสธคำขอหลังกด Go to Login Page | ตรวจว่าลงทะเบียน Redirection Endpoint ใน Application ฝั่ง IdP ตรงกับค่าในฟอร์มทุกตัวอักษร และ Client ID ถูกต้อง |
| Login ที่ IdP สำเร็จ แต่เข้า Athena SASE ไม่ได้ | ตรวจ Client Secret และ Token Auth Method แล้วตรวจ Account Mapping ว่าได้ค่าที่ตรงกับ Username ในระบบ ถ้าตั้ง Linking Action เป็น Deny Access ผู้ใช้ต้องมีอยู่ในระบบก่อน |
| ผู้ใช้ Login ได้ แต่ไม่ได้ Policy ตาม Department หรือ Group | ผู้ใช้อาจถูกสร้างด้วย JIT ใน Sync to Department ให้ Sync ผู้ใช้ด้วย User Source และตั้ง Account Mapping ให้ตรงกับ Username ที่ Sync มา |
| เปิดหน้า Login ของ IdP ไม่ได้เมื่อเปิด Forced Authentication | เพิ่ม Domain ของ IdP ในรายการ OIDC ของ Allowed IPs/Domains |
ข้อคิดเห็น
0 ข้อคิดเห็น
โปรด ลงชื่อเข้าใช้ เพื่อแสดงข้อคิดเห็น