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

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

ภาพรวม

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

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

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

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

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

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

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

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

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

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

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

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

การดำเนินงานที่ได้รับการตรวจสอบแล้ว

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

หมวดหมู่บันทึกการตรวจสอบ การดำเนินการตรวจสอบแอป Firebase
การดำเนินโครงการ
กิจกรรมของผู้ดูแลระบบ อัปเดตบริการ
BatchUpdateServices
ตรวจสอบ AppCheckToken
การเข้าถึงข้อมูล (ADMIN_READ) รับบริการ
รายการบริการ
การทำงานของแอพ
กิจกรรมของผู้ดูแลระบบ อัปเดต AppAttestConfig
อัปเดต DeviceCheckConfig
อัปเดต PlayIntegrityConfig
อัปเดต RecaptchaEnterpriseConfig
อัปเดต RecaptchaV3Config
อัพเดต SafetyNetConfig
สร้าง DebugToken
อัปเดต DebugToken
ลบ DebugToken
การเข้าถึงข้อมูล (ADMIN_READ) GetAppAttestConfig
BatchGetAppAttestConfigs
รับ DeviceCheckConfig
BatchGetDeviceCheckConfigs
รับ PlayIntegrityConfig
BatchGetPlayIntegrityConfigs
รับ RecaptchaEnterpriseConfig
BatchGetRecaptchaEnterpriseConfigs
รับ RecaptchaV3Config
BatchGetRecaptchaV3Configs
รับ SafetyNetConfig
BatchGetSafetyNetConfigs
รับ DebugToken
รายการ DebugTokens

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

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

  • รายการบันทึกเอง ซึ่งเป็นออบเจ็กต์ประเภท 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 ที่มีบันทึกการตรวจสอบที่คุณต้องการดู

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

      • สำหรับบันทึกการตรวจสอบกิจกรรมของผู้ดูแลระบบ ให้เลือก กิจกรรม
      • สำหรับบันทึกการตรวจสอบการเข้าถึงข้อมูล ให้เลือก 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 โปรดดู อ่านรายการบันทึก

เอพีไอ

เมื่อสร้างการสืบค้นของคุณ ให้แทนที่ตัวแปรด้วยค่าที่ถูกต้อง แทนที่ชื่อหรือตัวระบุบันทึกการตรวจสอบระดับโปรเจ็กต์ ระดับโฟลเดอร์ หรือระดับองค์กรที่เหมาะสมตามที่แสดงในชื่อบันทึกการตรวจสอบ ตัวอย่างเช่น หากข้อความค้นหาของคุณมี 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