Firebase App Check
App Check ช่วยปกป้องแบ็กเอนด์ของแอปจากการละเมิดโดยการป้องกันไม่ให้ไคลเอ็นต์ที่ไม่ได้รับอนุญาตเข้าถึงทรัพยากรแบ็กเอนด์ โดยจะทำงานร่วมกับทั้งบริการของ Google (รวมถึง Firebase และบริการ Google Cloud) และแบ็กเอนด์ที่กำหนดเองของคุณเพื่อรักษาทรัพยากรให้ปลอดภัย
เมื่อใช้ App Check อุปกรณ์ที่เรียกใช้แอปของคุณจะใช้ผู้ให้บริการการรับรองแอปหรืออุปกรณ์ ที่รับรองสิ่งใดสิ่งหนึ่งหรือทั้ง 2 อย่างต่อไปนี้
- คำขอมาจากแอปที่ถูกต้องของคุณ
- คำขอมาจากอุปกรณ์จริงที่ไม่มีการดัดแปลง
การรับรองนี้จะแนบไปกับทุกคำขอที่แอปของคุณส่งไปยัง API ที่คุณระบุ เมื่อเปิดใช้การบังคับใช้ App Check ระบบจะปฏิเสธคำขอจาก ไคลเอ็นต์ที่ไม่มีการรับรองที่ถูกต้อง รวมถึงคำขอใดๆ ที่ มาจากแอปหรือแพลตฟอร์มที่คุณไม่ได้ให้สิทธิ์
App Check มีการรองรับในตัวสำหรับการใช้บริการต่อไปนี้เป็น ผู้ให้บริการการรับรอง
- DeviceCheck หรือ App Attest ในแพลตฟอร์ม Apple
- Play Integrity ใน Android
- reCAPTCHA Enterprise ในเว็บแอป
หากไม่เพียงพอต่อความต้องการ คุณยังสามารถใช้บริการของคุณเองที่ใช้ผู้ให้บริการการรับรองบุคคลที่สามหรือเทคนิคการรับรองของคุณเองได้
App Check ทำงานร่วมกับบริการของ Google ต่อไปนี้
บริการ Firebase และ Google Cloud ที่รองรับ |
---|
Firebase Authentication (ตัวอย่าง) |
Firebase Data Connect |
Cloud Firestore |
Firebase Realtime Database |
Cloud Storage for Firebase |
Cloud Functions for Firebase (ฟังก์ชันที่เรียกใช้ได้เท่านั้น) |
Firebase AI Logic |
บริการของ Google Maps Platform ที่รองรับ |
Maps JavaScript API (ตัวอย่าง) |
Places API (ใหม่) (ตัวอย่าง) |
บริการอื่นๆ ของ Google ที่รองรับ |
Google Identity สำหรับ iOS |
นอกจากนี้ คุณยังใช้ App Check เพื่อปกป้องทรัพยากรแบ็กเอนด์ที่กำหนดเองที่ไม่ใช่ของ Google ได้ด้วย เช่น แบ็กเอนด์ที่โฮสต์ด้วยตนเอง
วิธีการทำงาน
เมื่อเปิดใช้ App Check สำหรับบริการและรวม SDK ของไคลเอ็นต์ ไว้ในแอป ระบบจะดำเนินการต่อไปนี้เป็นระยะๆ
- แอปของคุณจะโต้ตอบกับผู้ให้บริการที่คุณเลือกเพื่อขอการรับรอง ความถูกต้องของแอปหรืออุปกรณ์ (หรือทั้ง 2 อย่าง ขึ้นอยู่กับผู้ให้บริการ)
- ระบบจะส่งการรับรองไปยังเซิร์ฟเวอร์ App Check ซึ่งจะยืนยันความถูกต้องของการรับรองโดยใช้พารามิเตอร์ที่ลงทะเบียนไว้กับแอป และส่งโทเค็น App Check ที่มีเวลาหมดอายุกลับไปยังแอปของคุณ โทเค็นนี้อาจเก็บข้อมูลบางอย่างเกี่ยวกับเนื้อหาการรับรองที่โทเค็น ยืนยัน
- App Check SDK ของไคลเอ็นต์จะแคชโทเค็นในแอปของคุณ ซึ่งพร้อมที่จะส่ง พร้อมกับคำขอใดๆ ที่แอปของคุณส่งไปยังบริการที่ได้รับการปกป้อง
บริการที่ได้รับการปกป้องโดย App Check จะยอมรับเฉพาะคำขอที่มาพร้อมกับโทเค็น App Check ที่ใช้งานได้และถูกต้องในปัจจุบัน
App Check ให้การรักษาความปลอดภัยได้มากน้อยเพียงใด
App Check อาศัยความแข็งแกร่งของผู้ให้บริการการรับรองเพื่อพิจารณา ความถูกต้องของแอปหรืออุปกรณ์ ซึ่งจะป้องกันเวกเตอร์การละเมิดบางส่วน แต่ไม่ใช่ทั้งหมด ที่มุ่งเป้าไปยังแบ็กเอนด์ของคุณ การใช้ App Check ไม่ได้รับประกัน ว่าจะกำจัดการละเมิดทั้งหมดได้ แต่การผสานรวมกับ App Check จะช่วยให้คุณ ก้าวไปอีกขั้นที่สำคัญในการปกป้องการละเมิดสำหรับทรัพยากรแบ็กเอนด์
App Check เกี่ยวข้องกับ Firebase Authentication อย่างไร
App Check และ Firebase Authentication เป็นส่วนประกอบที่เสริมกันในเรื่องราวความปลอดภัยของแอป Firebase Authentication มีการตรวจสอบสิทธิ์ผู้ใช้ซึ่งจะปกป้องผู้ใช้ของคุณ ในขณะที่ App Check มีการรับรองความถูกต้องของแอปหรืออุปกรณ์ ซึ่งจะปกป้องคุณในฐานะนักพัฒนาแอป App Check จะปกป้องการเข้าถึงทรัพยากรแบ็กเอนด์ของ Google และแบ็กเอนด์ที่กำหนดเองโดยกำหนดให้การเรียก API ต้องมีโทเค็น App Check ที่ถูกต้อง แนวคิดทั้ง 2 นี้ทำงานร่วมกันเพื่อช่วยรักษาความปลอดภัยของแอป
โควต้าและขีดจำกัด
การใช้ App Check ของคุณขึ้นอยู่กับโควต้าและขีดจำกัดของผู้ให้บริการรับรองที่คุณใช้
การเข้าถึง DeviceCheck และ App Attest จะขึ้นอยู่กับโควต้าหรือข้อจำกัดที่ Apple กำหนด
Play Integrity มีโควต้าการเรียกใช้ 10,000 ครั้งต่อวันสำหรับระดับการใช้งาน API มาตรฐาน ดูข้อมูลเกี่ยวกับการเพิ่มระดับการใช้งานได้ที่เอกสารประกอบของ Play Integrity
reCAPTCHA Enterprise ไม่มีค่าใช้จ่ายสำหรับการประเมิน 10,000 ครั้งในแต่ละเดือน และมี ค่าใช้จ่ายเพิ่มเติมหากใช้เกิน ดูราคาของ reCAPTCHA
เริ่มต้นใช้งาน
หากพร้อมที่จะเริ่มแล้ว
แพลตฟอร์มของ Apple
Android
เว็บ
Flutter
Unity
C++
ดูวิธีใช้App Checkผู้ให้บริการ
ดูวิธีใช้ App Check เพื่อปกป้องทรัพยากรแบ็กเอนด์ที่กำหนดเอง
เลือกแพลตฟอร์ม
iOS+ Android เว็บ Flutter Unity C++