IAP เป็นชิ้นส่วนสำคัญในการเข้าใช้คลาวด์เป็นหลัก แต่จริงๆ ก็ใช้กับอย่างอื่นได้มาก โดยเฉพาะการเปลี่ยนแนวทางเลิกใช้ VPN (login ทีเดียวเข้าได้ทุกอย่าง) ไปเป็นการขอใช้งาน resource ทีละอย่าง แล้วยืนยันตัวตนทุก connection แทน
ตัวเลือกในกลุ่มนี้มีเยอะเหมือนกัน เอาเฉพาะที่ฟรี และเป็นโอเพนซอร์ส
- Oauth2-proxy: (4.7k stars) โครงการเริ่มมาจาก bitly ตั้งแต่ปี 2014 ตอนนี้กลายเป็นโครงการชุมชนล้วนๆ แล้ว ค่อนข้างนิ่งมาก รองรับ OIDC แทบทุกเจ้า ชุมชนค่อนข้าง active ข้อจำกัดสำคัญคือรับ IdP อันเดียวเท่านั้น (มี plan รับหลายอันแต่ไม่คืบหน้า) ใช้ได้เฉพาะ HTTP เท่านั้น
- Oathkeeper: (2.5k stars) คล้ายๆ กับ oauth2-proxy แต่ออกแบบให้ทำงานกับชุดซอฟต์แวร์ ORY เป็นชุดบริการ Identity ทั้งชุด ถ้าเอา Oauth2-proxy + Keycloak ก็น่าจะพอๆ กัน ความเจ๋งคือ rule engine ที่ซับซ้อนมาก แก้ URL ปรับนั่นเปลี่ยนนี่ได้เยอะ ความเจ๋งมาพร้อมกับความซับซ้อน ไปไม่ถูกเอาเหมือนกันว่าจะใช้ยังไง
- Pomerium: (2.9k stars): ความเจ๋งที่สุดคือรับ TCP Connection ด้วย มี desktop app ให้ อันนี้เหมือนพวก Cloud IAP อย่าง AWS หรือ GCP เลย (หรือแม้แต่ enterprise on-prem อย่าง Duo)
- Vouch: (1.7k stars) เป็น nginx module น่าสนใจดี ไม่เคยใช้
- lua-resty-oidc: (721 stars) อันนี้เป็น pure lua ไปขี่บน nginx lua อีกที โมง่าย ได้พลังของ nginx มาทั้งก้อน
- caddy-security: เคยใช้อยู่ที เดิมเคยแยกเป็นสองโมดูลคือ caddy-auth-jwt (เช็คว่า authen หรือยัง) กับ caddy-auth-portal สำหรับเป็น RP จาก provider ตัวอื่น จุดแข็งคือมันอยู่กับ Caddy บางฟีเจอร์อยากได้ caddy เช่นเว็บข้างใต้ดัน authen ด้วย NTLM ที่ nginx กลายเป็นโมดูลเก็บเงิน (มันใช้น้อย ใช้กับ enterprise app ส่วนใหญ่)