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