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