การบันทึกการตรวจสอบสำหรับ Firebase App Check

หน้านี้อธิบายบันทึกการตรวจสอบที่สร้างโดย Firebase โดยเป็นส่วนหนึ่งของ บันทึก Cloud Audit

ภาพรวม

บริการ Firebase เขียนบันทึกการตรวจสอบเพื่อช่วยคุณตอบคำถาม "ใครทำอะไร ที่ไหน และเมื่อไหร่" บันทึกเหล่านี้คือ Cloud Audit Logs ซึ่งเป็นส่วนหนึ่งของโปรเจ็กต์ Google Cloud ที่เชื่อมต่อกับโปรเจ็กต์ Firebase ของคุณ

โปรเจ็กต์ Firebase แต่ละโปรเจ็กต์มีเฉพาะบันทึกการตรวจสอบสำหรับทรัพยากรที่อยู่ในโปรเจ็กต์โดยตรง

สำหรับภาพรวมทั่วไปของ Cloud Audit Logs โปรดดูที่ ภาพรวม Cloud Audit Logs สำหรับความเข้าใจที่ลึกซึ้งยิ่งขึ้นเกี่ยวกับรูปแบบบันทึกการตรวจสอบ โปรดดูที่ ทำความเข้าใจบันทึกการตรวจสอบ

บันทึกการตรวจสอบที่มีอยู่

บันทึกการตรวจสอบประเภทต่อไปนี้ใช้ได้กับ Firebase App Check

  • บันทึกการตรวจสอบกิจกรรมผู้ดูแลระบบ

    รวมถึงการดำเนินการ "เขียนของผู้ดูแลระบบ" ที่เขียนข้อมูลเมตาหรือข้อมูลการกำหนดค่า

    คุณปิดใช้บันทึกการตรวจสอบกิจกรรมของผู้ดูแลระบบไม่ได้

  • บันทึกการตรวจสอบการเข้าถึงข้อมูล

    รวมถึงการดำเนินการ "อ่านของผู้ดูแลระบบ" ที่อ่านข้อมูลเมตาหรือข้อมูลการกำหนดค่า รวมถึงการดำเนินการ "การอ่านข้อมูล" และ "การเขียนข้อมูล" ที่อ่านหรือเขียนข้อมูลที่ผู้ใช้ให้มา

    หากต้องการรับบันทึกการตรวจสอบการเข้าถึงข้อมูล คุณต้อง เปิดใช้บันทึกดังกล่าวอย่างชัดแจ้ง

สำหรับคำอธิบายแบบเต็มของประเภทบันทึกการตรวจสอบ โปรดดูที่ ประเภทบันทึกการตรวจสอบ

ตรวจสอบการดำเนินงาน

ข้อมูลต่อไปนี้จะสรุปว่าการทำงานของ API ใดที่สอดคล้องกับบันทึกการตรวจสอบแต่ละประเภทใน Firebase App Check

หมวดหมู่บันทึกการตรวจสอบ การดำเนินการตรวจสอบแอป Firebase
การดำเนินงานโครงการ
กิจกรรมของแอดมิน UpdateService
BatchUpdateServices
การเข้าถึงข้อมูล (ADMIN_READ) GetService
รายการบริการ
การทำงานของแอพ
กิจกรรมของแอดมิน UpdateAppAttestConfig
อัปเดตอุปกรณ์CheckConfig
อัปเดตPlayIntegrityConfig
UpdateRecaptchaEnterpriseConfig
UpdateRecaptchaV3Config
UpdateSafetyNetConfig
CreateDebugToken
UpdateDebugToken
ลบDebugToken
การเข้าถึงข้อมูล (ADMIN_READ) GetAppAttestConfig
BatchGetAppAttestConfigs
GetDeviceCheckConfig
BatchGetDeviceCheckConfigs
GetPlayIntegrityConfig
BatchGetPlayIntegrityConfigs
GetRecaptchaEnterpriseConfig
BatchGetRecaptchaEnterpriseConfigs
GetRecaptchaV3Config
BatchGetRecaptchaV3Configs
GetSafetyNetConfig
BatchGetSafetyNetConfigs
GetDebugToken
ListDebugTokens

รูปแบบบันทึกการตรวจสอบ

รายการบันทึกการตรวจสอบประกอบด้วยออบเจ็กต์ต่อไปนี้:

  • รายการบันทึกเอง ซึ่งเป็นอ็อบเจ็กต์ประเภท LogEntry ฟิลด์ที่เป็นประโยชน์ ได้แก่ :

    • logName มีรหัสทรัพยากรและประเภทบันทึกการตรวจสอบ
    • resource มีเป้าหมายของการดำเนินการตรวจสอบ
    • timeStamp มีเวลาของการดำเนินการที่ตรวจสอบแล้ว
    • protoPayload มีข้อมูลที่ตรวจสอบแล้ว
  • ข้อมูลการบันทึกการตรวจสอบ ซึ่งเป็นออบเจ็กต์ AuditLog ที่อยู่ในฟิลด์ protoPayload ของรายการบันทึก

  • ข้อมูลการตรวจสอบเฉพาะบริการที่เป็นตัวเลือก ซึ่งเป็นออบเจ็กต์เฉพาะบริการ สำหรับการผสานรวมที่เก่ากว่า ออบเจ็กต์นี้จะอยู่ในฟิลด์ serviceData ของอ็อบเจ็กต์ AuditLog การผสานรวมที่ใหม่กว่าใช้ฟิลด์ข้อมูล metadata

สำหรับช่องอื่นๆ ในออบเจ็กต์เหล่านี้และวิธีตีความ ให้ตรวจทาน บันทึกการตรวจสอบ

ชื่อบันทึก

ชื่อทรัพยากรบันทึกการตรวจสอบระบบคลาวด์จะระบุโปรเจ็กต์ Firebase หรือเอนทิตี Google Cloud อื่นๆ ที่เป็นเจ้าของบันทึกการตรวจสอบ และบันทึกว่ามีข้อมูลบันทึกการตรวจสอบกิจกรรมของผู้ดูแลระบบ การเข้าถึงข้อมูล นโยบายถูกปฏิเสธ หรือเหตุการณ์ของระบบหรือไม่ ตัวอย่างเช่น รายการต่อไปนี้แสดงชื่อบันทึกสำหรับบันทึกการตรวจสอบกิจกรรมผู้ดูแลระบบระดับโปรเจ็กต์และบันทึกการตรวจสอบการเข้าถึงข้อมูลขององค์กร ตัวแปรแสดงถึงโปรเจ็กต์ Firebase และตัวระบุองค์กร

projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity
organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fdata_access

ชื่อบริการ

บันทึกการตรวจสอบ Firebase App Check ใช้ชื่อบริการ firebaseappcheck.googleapis.com

สำหรับรายชื่อบริการ Cloud Logging API ทั้งหมดและประเภททรัพยากรที่ได้รับการตรวจสอบที่เกี่ยวข้อง โปรดดู ที่ บริการแมปกับทรัพยากร

ประเภททรัพยากร

บันทึกการตรวจสอบ Firebase App Check ใช้ประเภททรัพยากร audited_resource สำหรับบันทึกการตรวจสอบทั้งหมด

สำหรับรายการประเภททรัพยากรที่ตรวจสอบและคำอธิบายของ Cloud Logging ทั้งหมด โปรดดู ที่ประเภททรัพยากรที่ถูกตรวจสอบ

เปิดใช้งานการบันทึกการตรวจสอบ

บันทึกการตรวจสอบกิจกรรมของผู้ดูแลระบบจะเปิดใช้งานอยู่เสมอ คุณไม่สามารถปิดการใช้งานได้

บันทึกการตรวจสอบการเข้าถึงข้อมูลจะถูกปิดใช้งานโดยค่าเริ่มต้นและจะไม่ถูกเขียนเว้นแต่จะเปิดใช้งานอย่างชัดแจ้ง (ข้อยกเว้นคือบันทึกการตรวจสอบการเข้าถึงข้อมูลสำหรับ BigQuery ซึ่งปิดใช้ไม่ได้)

สำหรับคำแนะนำในการเปิดใช้บันทึกการตรวจสอบการเข้าถึงข้อมูลบางส่วนหรือทั้งหมด โปรดดูที่ กำหนดค่าบันทึกการเข้าถึงข้อมูล

สิทธิ์และบทบาท

สิทธิ์และบทบาทของ Cloud IAM เป็นตัวกำหนดความสามารถในการเข้าถึงข้อมูลบันทึกการตรวจสอบในทรัพยากรของ Google Cloud

เมื่อตัดสินใจว่า สิทธิ์และบทบาทเฉพาะการบันทึก ใดที่นำไปใช้กับกรณีการใช้งานของคุณ ให้พิจารณาสิ่งต่อไปนี้:

  • บทบาทผู้ดูบันทึก ( roles/logging.viewer ) ช่วยให้คุณเข้าถึงบันทึกการตรวจสอบกิจกรรมของผู้ดูแลระบบ นโยบายถูกปฏิเสธ และเหตุการณ์ของระบบได้แบบอ่านอย่างเดียว หากคุณมีบทบาทนี้เพียงอย่างเดียว คุณจะไม่สามารถดูบันทึกการตรวจสอบการเข้าถึงข้อมูลที่อยู่ในบัคเก็ต _Default

  • บทบาทผู้ดูบันทึกส่วนตัว (roles/logging.privateLogViewer ) รวมถึงการอนุญาตที่มีอยู่ใน roles/logging.viewer บวกกับความสามารถในการอ่านบันทึกการตรวจสอบการเข้าถึงข้อมูลในบัคเก็ต _Default

    โปรดทราบว่าหากบันทึกส่วนตัวเหล่านี้จัดเก็บไว้ในบัคเก็ตที่ผู้ใช้กำหนด ผู้ใช้ที่มีสิทธิ์อ่านบันทึกในบัคเก็ตเหล่านั้นสามารถอ่านบันทึกส่วนตัวได้ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับที่เก็บข้อมูลบันทึก โปรดดูที่ ภาพรวมการกำหนดเส้นทางและพื้นที่เก็บข้อมูล

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับสิทธิ์และบทบาท Cloud IAM ที่ใช้กับข้อมูลบันทึกการตรวจสอบ โปรดดูที่ การควบคุมการเข้าถึง

ดูบันทึก

ในการค้นหาและดูบันทึกการตรวจสอบ คุณจำเป็นต้องทราบตัวระบุของโปรเจ็กต์ Firebase โฟลเดอร์ หรือองค์กรที่คุณต้องการดูข้อมูลการบันทึกการตรวจสอบ คุณสามารถระบุฟิลด์ LogEntry จัดทำดัชนีอื่น ๆ ได้ เช่น resource.type ; ดูรายละเอียด ค้นหารายการบันทึกอย่างรวดเร็ว

ต่อไปนี้เป็นชื่อบันทึกการตรวจสอบ ประกอบด้วยตัวแปรสำหรับตัวระบุของโปรเจ็กต์ Firebase โฟลเดอร์ หรือองค์กร:

   projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity
   projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fdata_access
   projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event
   projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fpolicy

   folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Factivity
   folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Fdata_access
   folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Fsystem_event
   folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Fpolicy

   organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Factivity
   organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fdata_access
   organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fsystem_event
   organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fpolicy

คุณดูบันทึกการตรวจสอบใน Cloud Logging ได้โดยใช้คอนโซล GCP, เครื่องมือบรรทัดคำสั่ง gcloud หรือ Logging API

คอนโซล

คุณสามารถใช้ Logs Explorer ในคอนโซล GCP เพื่อเรียกข้อมูลรายการบันทึกการตรวจสอบสำหรับโปรเจ็กต์ Firebase โฟลเดอร์ หรือองค์กรของคุณ:

  1. ในคอนโซล GCP ให้ไปที่หน้าการ บันทึก > Logs Explorer

    ไปที่หน้า Logs Explorer

  2. ในหน้า Logs Explorer ให้เลือกโปรเจ็กต์ โฟลเดอร์ หรือองค์กร Firebase ที่มีอยู่

  3. ในบานหน้าต่างตัว สร้างแบบสอบถาม ให้ทำดังต่อไปนี้:

    • ใน ประเภททรัพยากร เลือกทรัพยากร Google Cloud ที่มีบันทึกการตรวจสอบที่คุณต้องการดู

    • ใน Log name ให้เลือกประเภทบันทึกการตรวจสอบที่คุณต้องการดู:

      • สำหรับบันทึกการตรวจสอบกิจกรรมของผู้ดูแลระบบ ให้เลือก กิจกรรม
      • สำหรับบันทึกการตรวจสอบการเข้าถึงข้อมูล ให้เลือก data_access
      • สำหรับบันทึกการตรวจสอบเหตุการณ์ของระบบ ให้เลือก system_event
      • สำหรับบันทึกการตรวจสอบนโยบายถูกปฏิเสธ ให้เลือก นโยบาย

    หากคุณไม่เห็นตัวเลือกเหล่านี้ แสดงว่าไม่มีบันทึกการตรวจสอบประเภทนั้นในโปรเจ็กต์ โฟลเดอร์ หรือองค์กร Firebase

    สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับการสืบค้นโดยใช้ Logs Explorer โปรดดูที่ สร้างการสืบค้นบันทึก

gcloud

เครื่องมือบรรทัดคำสั่ง gcloud มีอินเทอร์เฟซบรรทัดคำสั่งกับ Cloud Logging API ระบุ PROJECT_ID , FOLDER_ID หรือ ORGANIZATION_ID ที่ถูกต้องในแต่ละชื่อบันทึก

หากต้องการอ่านรายการบันทึกการตรวจสอบระดับโปรเจ็กต์ Firebase ให้เรียกใช้คำสั่งต่อไปนี้

gcloud logging read "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com" --project=PROJECT_ID

หากต้องการอ่านรายการบันทึกการตรวจสอบระดับโฟลเดอร์ ให้เรียกใช้คำสั่งต่อไปนี้:

gcloud logging read "logName : folders/FOLDER_ID/logs/cloudaudit.googleapis.com" --folder=FOLDER_ID

หากต้องการอ่านรายการบันทึกการตรวจสอบระดับองค์กร ให้เรียกใช้คำสั่งต่อไปนี้:

gcloud logging read "logName : organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com" --organization=ORGANIZATION_ID

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการใช้เครื่องมือ gcloud โปรดดูที่ อ่านรายการบันทึก

API

เมื่อสร้างการสืบค้นข้อมูลของคุณ ให้แทนที่ตัวแปรด้วยค่าที่ถูกต้อง แทนที่ชื่อหรือตัวระบุบันทึกการตรวจสอบระดับโครงการ ระดับโฟลเดอร์ หรือระดับองค์กรที่เหมาะสมตามที่ระบุไว้ในชื่อบันทึกการตรวจสอบ ตัวอย่างเช่น หากคำค้นหาของคุณมี PROJECT_ID ตัวระบุโปรเจ็กต์ที่คุณระบุจะต้องอ้างอิงถึงโปรเจ็กต์ Firebase ที่เลือกอยู่ในปัจจุบัน

หากต้องการใช้ Logging API เพื่อดูรายการบันทึกการตรวจสอบ ให้ทำดังนี้

  1. ไปที่ส่วน ลองใช้ API นี้ ในเอกสารประกอบสำหรับวิธี entries.list

  2. ใส่สิ่งต่อไปนี้ลงในส่วน เนื้อหาคำขอ ของแบบฟอร์ม ลองใช้ API นี้ การคลิกที่ แบบฟอร์ม ที่เติมไว้ล่วงหน้านี้จะเติมเนื้อหาคำขอโดยอัตโนมัติ แต่คุณต้องระบุ PROJECT_ID ที่ถูกต้องในแต่ละชื่อบันทึก

    {
      "resourceNames": [
        "projects/PROJECT_ID"
      ],
      "pageSize": 5,
      "filter": "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com"
    }
    
  3. คลิก ดำเนินการ

สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับการสืบค้น โปรดดู การบันทึกภาษาของข้อความค้นหา

สำหรับตัวอย่างรายการบันทึกการตรวจสอบและวิธีค้นหาข้อมูลที่สำคัญที่สุด โปรดดู ตัวอย่างรายการบันทึกการตรวจสอบ

บันทึกการตรวจสอบเส้นทาง

คุณ กำหนดเส้นทางบันทึกการตรวจสอบ ไปยังปลายทางที่รองรับได้ในลักษณะเดียวกับกำหนดเส้นทางบันทึกประเภทอื่นๆ เหตุผลบางประการที่คุณอาจต้องการกำหนดเส้นทางบันทึกการตรวจสอบของคุณ:

  • หากต้องการเก็บบันทึกการตรวจสอบเป็นระยะเวลานานหรือใช้ความสามารถในการค้นหาที่มีประสิทธิภาพยิ่งขึ้น คุณสามารถกำหนดเส้นทางสำเนาของบันทึกการตรวจสอบไปยัง Google Cloud Storage, BigQuery หรือ Google Cloud Pub/Sub เมื่อใช้ Cloud Pub/Sub คุณสามารถกำหนดเส้นทางไปยังแอปพลิเคชันอื่น ที่เก็บอื่น และไปยังบุคคลที่สามได้

  • ในการจัดการบันทึกการตรวจสอบทั่วทั้งองค์กร คุณสามารถสร้างซิง ก์รวม ที่สามารถกำหนดเส้นทางบันทึกจากโปรเจ็กต์ Firebase ใดๆ หรือทั้งหมดในองค์กร

  • หากบันทึกการตรวจสอบการเข้าถึงข้อมูลที่เปิดใช้กำลังพุชโปรเจ็กต์ Firebase เหนือการจัดสรรบันทึก คุณสามารถสร้างซิงก์ที่แยกบันทึกการตรวจสอบการเข้าถึงข้อมูลออกจากการบันทึกได้

สำหรับคำแนะนำเกี่ยวกับบันทึกการกำหนดเส้นทาง โปรดดูที่ กำหนดค่าซิงก์

ราคา

บันทึกการ ตรวจสอบกิจกรรมผู้ดูแลระบบและบันทึก การตรวจสอบเหตุการณ์ของระบบ ไม่มีค่าใช้จ่าย

บันทึกการตรวจสอบการเข้าถึงข้อมูลและบันทึกการตรวจสอบ นโยบายถูกปฏิเสธ สามารถเรียกเก็บเงินได้

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับราคา Cloud Logging โปรดดู ราคาชุดปฏิบัติการของ Google Cloud: Cloud Logging