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

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

ภาพรวม

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

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

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

บันทึกการตรวจสอบที่ใช้ได้

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

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

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

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

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

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

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

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

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

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

ประเภทสิทธิ์ เมธอด
ADMIN_READ google.firebase.appcheck.v1.ConfigService.BatchGetAppAttestConfigs
google.firebase.appcheck.v1.ConfigService.BatchGetDeviceCheckConfigs
google.firebase.appcheck.v1.ConfigService.BatchGetPlayIntegrityConfigs
google.firebase.appcheck.v1.ConfigService.BatchGetRecaptchaEnterpriseConfigs
google.firebase.appcheck.v1.ConfigService.BatchGetRecaptchaV3Configs
google.firebase.appcheck.v1.ConfigService.BatchGetSafetyNetConfigs
google.firebase.appcheck.v1.ConfigService.GetAppAttestConfig
google.firebase.appcheck.v1.ConfigService.GetDebugToken
google.firebase.appcheck.v1.ConfigService.GetDeviceCheckConfig
google.firebase.appcheck.v1.ConfigService.GetPlayIntegrityConfig
google.firebase.appcheck.v1.ConfigService.GetRecaptchaEnterpriseConfig
google.firebase.appcheck.v1.ConfigService.GetRecaptchaV3Config
google.firebase.appcheck.v1.ConfigService.GetSafetyNetConfig
google.firebase.appcheck.v1.ConfigService.GetService
google.firebase.appcheck.v1.ConfigService.ListDebugTokens
google.firebase.appcheck.v1.ConfigService.ListServices
google.firebase.appcheck.v1beta.ConfigService.BatchGetAppAttestConfigs
google.firebase.appcheck.v1beta.ConfigService.BatchGetDeviceCheckConfigs
google.firebase.appcheck.v1beta.ConfigService.BatchGetPlayIntegrityConfigs
google.firebase.appcheck.v1beta.ConfigService.BatchGetRecaptchaConfigs
google.firebase.appcheck.v1beta.ConfigService.BatchGetRecaptchaEnterpriseConfigs
google.firebase.appcheck.v1beta.ConfigService.BatchGetRecaptchaV3Configs
google.firebase.appcheck.v1beta.ConfigService.BatchGetSafetyNetConfigs
google.firebase.appcheck.v1beta.ConfigService.GetAppAttestConfig
google.firebase.appcheck.v1beta.ConfigService.GetDebugToken
google.firebase.appcheck.v1beta.ConfigService.GetDeviceCheckConfig
google.firebase.appcheck.v1beta.ConfigService.GetPlayIntegrityConfig
google.firebase.appcheck.v1beta.ConfigService.GetRecaptchaConfig
google.firebase.appcheck.v1beta.ConfigService.GetRecaptchaEnterpriseConfig
google.firebase.appcheck.v1beta.ConfigService.GetRecaptchaV3Config
google.firebase.appcheck.v1beta.ConfigService.GetResourcePolicy
google.firebase.appcheck.v1beta.ConfigService.GetSafetyNetConfig
google.firebase.appcheck.v1beta.ConfigService.GetService
google.firebase.appcheck.v1beta.ConfigService.ListDebugTokens
google.firebase.appcheck.v1beta.ConfigService.ListResourcePolicies
google.firebase.appcheck.v1beta.ConfigService.ListServices
ADMIN_WRITE google.firebase.appcheck.v1.ConfigService.BatchUpdateServices
google.firebase.appcheck.v1.ConfigService.CreateDebugToken
google.firebase.appcheck.v1.ConfigService.DeleteDebugToken
google.firebase.appcheck.v1.ConfigService.UpdateAppAttestConfig
google.firebase.appcheck.v1.ConfigService.UpdateDebugToken
google.firebase.appcheck.v1.ConfigService.UpdateDeviceCheckConfig
google.firebase.appcheck.v1.ConfigService.UpdatePlayIntegrityConfig
google.firebase.appcheck.v1.ConfigService.UpdateRecaptchaEnterpriseConfig
google.firebase.appcheck.v1.ConfigService.UpdateRecaptchaV3Config
google.firebase.appcheck.v1.ConfigService.UpdateSafetyNetConfig
google.firebase.appcheck.v1.ConfigService.UpdateService
google.firebase.appcheck.v1beta.ConfigService.BatchUpdateResourcePolicies
google.firebase.appcheck.v1beta.ConfigService.BatchUpdateServices
google.firebase.appcheck.v1beta.ConfigService.CreateDebugToken
google.firebase.appcheck.v1beta.ConfigService.CreateResourcePolicy
google.firebase.appcheck.v1beta.ConfigService.DeleteDebugToken
google.firebase.appcheck.v1beta.ConfigService.DeleteResourcePolicy
google.firebase.appcheck.v1beta.ConfigService.UpdateAppAttestConfig
google.firebase.appcheck.v1beta.ConfigService.UpdateDebugToken
google.firebase.appcheck.v1beta.ConfigService.UpdateDeviceCheckConfig
google.firebase.appcheck.v1beta.ConfigService.UpdatePlayIntegrityConfig
google.firebase.appcheck.v1beta.ConfigService.UpdateRecaptchaConfig
google.firebase.appcheck.v1beta.ConfigService.UpdateRecaptchaEnterpriseConfig
google.firebase.appcheck.v1beta.ConfigService.UpdateRecaptchaV3Config
google.firebase.appcheck.v1beta.ConfigService.UpdateResourcePolicy
google.firebase.appcheck.v1beta.ConfigService.UpdateSafetyNetConfig
google.firebase.appcheck.v1beta.ConfigService.UpdateService
google.firebase.appcheck.v1beta.TokenVerificationService.VerifyAppCheckToken

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

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

  • รายการบันทึกนั้นเอง ซึ่งเป็นออบเจ็กต์ประเภท 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 ที่ต้องการดู ข้อมูลการบันทึกการตรวจสอบ คุณสามารถระบุ URL อื่นๆ ที่จัดทำดัชนีเพิ่มเติม 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 ได้โดยใช้ คอนโซล Google Cloud, เครื่องมือบรรทัดคำสั่ง gcloud หรือ Logging API

คอนโซล

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

  1. ในคอนโซล Google Cloud ให้ไปที่ส่วน การบันทึก > เครื่องมือสำรวจบันทึก

    ไปที่หน้า Logging Explorer

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

  3. ในแผงเครื่องมือสร้างคำค้นหา ให้ทำดังนี้

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

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

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

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

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

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