หน้านี้อธิบายบันทึกการตรวจสอบที่ 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, โฟลเดอร์, หรือองค์กร:
ในคอนโซล Google Cloud ให้ไปที่ส่วน การบันทึก > เครื่องมือสำรวจบันทึก
ในหน้า Logs Explorer ให้เลือก โปรเจ็กต์ โฟลเดอร์ หรือองค์กร Firebase
ในแผงเครื่องมือสร้างคำค้นหา ให้ทำดังนี้
ในประเภททรัพยากร ให้เลือกทรัพยากร 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 เพื่อดูรายการบันทึกการตรวจสอบ ให้ทำดังต่อไปนี้ ดังต่อไปนี้:
ไปที่ส่วนลองใช้ API นี้ในเอกสารประกอบสำหรับ
entries.list
ใส่ข้อมูลต่อไปนี้ในส่วนเนื้อหาคำขอของลิงก์ลองนี่ API คลิกที่แบบฟอร์มที่ป้อนข้อมูลไว้ล่วงหน้านี้ จะกรอกข้อมูลในเนื้อหาคำขอโดยอัตโนมัติ แต่คุณต้อง ใส่
PROJECT_ID
ที่ถูกต้องในบันทึกแต่ละรายการ{ "resourceNames": [ "projects/PROJECT_ID" ], "pageSize": 5, "filter": "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com" }
คลิกดำเนินการ
ดูรายละเอียดเพิ่มเติมเกี่ยวกับการค้นหาได้ที่ ภาษาในการค้นหาการบันทึก
เช่น ตัวอย่างของรายการบันทึกการตรวจสอบและวิธีค้นหาสิ่งที่สำคัญที่สุด ที่อยู่ในนั้น โปรดดู ตัวอย่างรายการบันทึกการตรวจสอบ
บันทึกการตรวจสอบเส้นทาง
คุณจะกำหนดเส้นทางบันทึกการตรวจสอบให้ระบบรองรับได้ ได้ในลักษณะเดียวกับที่คุณกำหนดเส้นทางบันทึกประเภทอื่นๆ ได้ นี่คือ เหตุผลที่คุณอาจต้องกำหนดเส้นทางบันทึกการตรวจสอบมีดังนี้
เพื่อเก็บบันทึกการตรวจสอบไว้เป็นเวลานาน หรือเพื่อให้ใช้งานได้อย่างมีประสิทธิภาพมากขึ้น คุณจะกำหนดเส้นทางสำเนาของบันทึกการตรวจสอบไปยัง Google Cloud Storage, BigQuery หรือ Google Cloud Pub/Sub การใช้ Cloud Pub/Sub คุณสามารถกำหนดเส้นทางไปยังแอปพลิเคชันอื่น ให้แก่บุคคลที่สาม
หากต้องการจัดการบันทึกการตรวจสอบสำหรับทั้งองค์กร คุณสามารถสร้าง ซิงก์แบบรวมที่สามารถ กำหนดเส้นทางบันทึกจากโปรเจ็กต์ Firebase ใดโปรเจ็กต์หนึ่งหรือทั้งหมดในองค์กร
- หากบันทึกการตรวจสอบการเข้าถึงข้อมูลที่เปิดใช้พุชข้อมูล โปรเจ็กต์ Firebase ในส่วนที่จัดสรรการบันทึกของคุณ คุณสามารถสร้างซิงก์ที่ ยกเว้นบันทึกการตรวจสอบการเข้าถึงข้อมูลจากการบันทึก
สำหรับคำแนะนำในการกำหนดเส้นทางบันทึก โปรดดูที่ กำหนดค่าซิงก์
ราคา
บันทึกการตรวจสอบกิจกรรมของผู้ดูแลระบบและ บันทึกการตรวจสอบเหตุการณ์ของระบบไม่มีค่าใช้จ่าย
บันทึกการตรวจสอบการเข้าถึงข้อมูลและ บันทึกการตรวจสอบที่ถูกปฏิเสธนโยบายสามารถเรียกเก็บเงินได้
ดูข้อมูลเพิ่มเติมเกี่ยวกับราคาของ Cloud Logging ได้ที่ ราคาชุดโปรแกรมสำหรับการดำเนินการของ Google Cloud: Cloud Logging