Firebase App Check
App Check ช่วยปกป้องแบ็กเอนด์ของแอปจากการใช้งานในทางที่ผิดด้วยการป้องกันไม่ให้ ไคลเอ็นต์ที่ไม่ได้รับอนุญาตเข้าถึงทรัพยากรแบ็กเอนด์ โดยจะทำงานร่วมกับ ทั้งบริการของ Google (รวมถึงบริการ Firebase และ Google Cloud บริการ) และ แบ็กเอนด์ที่กำหนดเองของคุณเองเพื่อรักษาทรัพยากรให้ปลอดภัย
เมื่อใช้ App Check อุปกรณ์ที่เรียกใช้แอปของคุณจะใช้ผู้ให้บริการการรับรองความถูกต้องของแอปหรืออุปกรณ์ เพื่อรับรองความถูกต้องของสิ่งใดสิ่งหนึ่งหรือทั้งสองอย่างต่อไปนี้
- คำขอมาจากแอปของแท้
- คำขอมาจากอุปกรณ์ของแท้ที่ไม่มีการดัดแปลง
การรับรองความถูกต้องนี้จะแนบไปกับทุกคำขอที่แอปส่งไปยัง API ที่คุณระบุ เมื่อคุณเปิดใช้ App Check การบังคับใช้ ระบบจะปฏิเสธคำขอจาก ไคลเอ็นต์ที่ไม่มีการรับรองความถูกต้องที่ถูกต้อง รวมถึงคำขอที่มาจากแอปหรือแพลตฟอร์มที่คุณไม่อนุญาต
App Check มีการรองรับในตัวสำหรับการใช้บริการต่อไปนี้เป็น ผู้ให้บริการการรับรองความถูกต้อง
- DeviceCheck หรือ App Attest ในแพลตฟอร์ม Apple
- Play Integrity ใน Android
- reCAPTCHA Enterprise ในเว็บแอป
หากบริการเหล่านี้ไม่เพียงพอต่อความต้องการของคุณ คุณยังสามารถใช้บริการของคุณเองที่ใช้ผู้ให้บริการการรับรองความถูกต้องของบุคคลที่สามหรือเทคนิคการรับรองความถูกต้องของคุณเองก็ได้
App Check ทำงานร่วมกับบริการของ Google ต่อไปนี้
| บริการ Firebase และ Google Cloud ที่รองรับ |
|---|
| Firebase Authentication (เวอร์ชันเบต้า) |
| Firebase SQL 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 ของไคลเอ็นต์ ไว้ในแอป สิ่งต่อไปนี้จะเกิดขึ้นเป็นระยะ
- แอปของคุณจะโต้ตอบกับผู้ให้บริการที่คุณเลือกเพื่อรับการรับรองความถูกต้องของแอปหรืออุปกรณ์ (หรือทั้งสองอย่าง ทั้งนี้ขึ้นอยู่กับผู้ให้บริการ)
- ระบบจะส่งการรับรองความถูกต้องไปยังเซิร์ฟเวอร์ App Check ซึ่งจะตรวจสอบ ความถูกต้องของการรับรองความถูกต้องโดยใช้พารามิเตอร์ที่ลงทะเบียนกับแอป และ ส่งโทเค็น App Check ที่มีเวลาหมดอายุกลับไปยังแอป โทเค็นนี้อาจเก็บข้อมูลบางอย่างเกี่ยวกับเนื้อหาการรับรองความถูกต้องที่ระบบตรวจสอบแล้ว
- SDK ของไคลเอ็นต์ App Check จะแคชโทเค็นในแอปของคุณเพื่อให้พร้อมที่จะส่ง ไปพร้อมกับคำขอใดก็ตามที่แอปส่งไปยังบริการที่ได้รับการปกป้อง
บริการที่ได้รับการปกป้องโดย 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 ที่ถูกต้อง แนวคิดทั้งสองนี้ทำงานร่วมกันเพื่อช่วยรักษาความปลอดภัยของแอป
โควต้าและขีดจำกัด
การใช้ App Check เป็นไปตามโควต้าและขีดจำกัดของผู้ให้บริการการรับรองความถูกต้อง ที่คุณใช้
การเข้าถึง DeviceCheck และ App Attest เป็นไปตามโควต้าหรือข้อจำกัดที่ Apple กำหนด
Play Integrity มีโควต้าการเรียกใช้ API มาตรฐาน 10,000 ครั้งต่อวัน ดูข้อมูลเกี่ยวกับการเพิ่มระดับการใช้งานได้ที่ เอกสารประกอบของ Play Integrity
reCAPTCHA Enterprise ไม่มีค่าใช้จ่ายสำหรับการประเมิน 10,000 ครั้งในแต่ละเดือน และมีค่าใช้จ่ายหากใช้เกินจำนวนดังกล่าว ดูราคา reCAPTCHA
นอกจากนี้ บริการ App Check ยังมี โควต้า สำหรับปริมาณคำขอที่จะจัดการจากโปรเจ็กต์เดียวด้วย แต่โดยปกติแล้ว โควต้าเหล่านี้จะไม่หมดลงจากการใช้งานตามปกติ หากคาดว่าปริมาณการเข้าชม จะเกินโควต้าเหล่านี้ โปรดติดต่อทีมสนับสนุน Firebase เพื่อขอเพิ่มโควต้า
เริ่มต้นใช้งาน
หากพร้อมที่จะเริ่มแล้ว
แพลตฟอร์ม Apple
Android
เว็บ
Flutter
Unity
C++
ดูวิธีใช้ผู้ให้บริการ App Check ที่กำหนดเอง
ดูวิธีใช้ App Check เพื่อปกป้องทรัพยากรแบ็กเอนด์ที่กำหนดเอง
เลือกแพลตฟอร์ม
iOS+ Android เว็บ Flutter Unity C++