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
นอกจากนี้ App Check บริการยังมีโควต้า เกี่ยวกับปริมาณคำขอที่จะจัดการจากโปรเจ็กต์เดียว อย่างไรก็ตาม โดยปกติแล้วโควต้าเหล่านี้จะไม่หมดจากการใช้งานปกติ หากคาดว่าปริมาณการเข้าชมจะเกินโควต้าเหล่านี้ โปรดติดต่อทีมสนับสนุน Firebase เพื่อขอเพิ่มโควต้า
เริ่มต้นใช้งาน
หากพร้อมที่จะเริ่มแล้ว
แพลตฟอร์มของ Apple
Android
เว็บ
Flutter
Unity
C++
ดูวิธีใช้App Checkผู้ให้บริการ
ดูวิธีใช้ App Check เพื่อปกป้องทรัพยากรแบ็กเอนด์ที่กำหนดเอง
เลือกแพลตฟอร์มของคุณ
iOS+ Android เว็บ Flutter Unity C++