หน้านี้อธิบายบันทึกการตรวจสอบที่ Firebase สร้างขึ้นซึ่งเป็นส่วนหนึ่งของบันทึกการตรวจสอบ Cloud
ภาพรวม
บริการ Firebase จะเขียนบันทึกการตรวจสอบเพื่อช่วยตอบคําถามที่ว่า "ใครทําอะไรที่ไหนและเมื่อใด" บันทึกเหล่านี้คือบันทึกการตรวจสอบของ Cloud ที่ให้ไว้เป็นส่วนหนึ่งของ โปรเจ็กต์ Google Cloud ที่เชื่อมต่อกับโปรเจ็กต์ Firebase
โปรเจ็กต์ Firebase แต่ละโปรเจ็กต์จะมีเฉพาะบันทึกการตรวจสอบสำหรับทรัพยากรที่อยู่ภายในโปรเจ็กต์โดยตรงเท่านั้น
โปรดดูภาพรวมทั่วไปเกี่ยวกับบันทึกการตรวจสอบของ Cloud ได้ที่ภาพรวมบันทึกการตรวจสอบของ Cloud ดูรายละเอียดเพิ่มเติมเกี่ยวกับรูปแบบบันทึกการตรวจสอบได้ที่หัวข้อทำความเข้าใจบันทึกการตรวจสอบ
บันทึกการตรวจสอบที่ใช้ได้
บันทึกการตรวจสอบประเภทต่อไปนี้มีให้บริการสำหรับ Firebase Data Connect
-
บันทึกการตรวจสอบกิจกรรมของผู้ดูแลระบบ
รวมถึงการดำเนินการ "เขียนระดับผู้ดูแลระบบ" ที่เขียนข้อมูลเมตาหรือข้อมูลการกำหนดค่า
คุณปิดใช้บันทึกการตรวจสอบกิจกรรมของผู้ดูแลระบบไม่ได้
-
บันทึกการตรวจสอบการเข้าถึงข้อมูล
รวมถึงการดำเนินการ "อ่านระดับผู้ดูแลระบบ" ที่อ่านข้อมูลเมตาหรือข้อมูลการกำหนดค่า รวมถึงการดำเนินการ "อ่านข้อมูล" และ "เขียนข้อมูล" ที่อ่านหรือเขียนข้อมูลที่ได้จากผู้ใช้
หากต้องการรับบันทึกการตรวจสอบการเข้าถึงข้อมูล คุณต้องเปิดใช้บันทึกดังกล่าวอย่างชัดเจน
โปรดดูคำอธิบายโดยละเอียดเกี่ยวกับประเภทบันทึกการตรวจสอบที่ประเภทของบันทึกการตรวจสอบ
การดำเนินการที่ตรวจสอบแล้ว
ข้อมูลต่อไปนี้สรุปการดำเนินการของ API ที่สอดคล้องกับบันทึกการตรวจสอบแต่ละประเภทใน Firebase Data Connect
ประเภทสิทธิ์ | เมธอด |
---|---|
ADMIN_READ |
google.firebase.dataconnect.v1alpha.FirebaseDataConnect.GetConnector google.firebase.dataconnect.v1alpha.FirebaseDataConnect.GetSchema google.firebase.dataconnect.v1alpha.FirebaseDataConnect.GetService google.firebase.dataconnect.v1alpha.FirebaseDataConnect.ListConnectors google.firebase.dataconnect.v1alpha.FirebaseDataConnect.ListSchemas google.firebase.dataconnect.v1alpha.FirebaseDataConnect.ListServices |
ADMIN_WRITE |
google.firebase.dataconnect.v1alpha.FirebaseDataConnect.CreateConnector google.firebase.dataconnect.v1alpha.FirebaseDataConnect.CreateSchema google.firebase.dataconnect.v1alpha.FirebaseDataConnect.CreateService google.firebase.dataconnect.v1alpha.FirebaseDataConnect.DeleteConnector google.firebase.dataconnect.v1alpha.FirebaseDataConnect.DeleteSchema google.firebase.dataconnect.v1alpha.FirebaseDataConnect.DeleteService google.firebase.dataconnect.v1alpha.FirebaseDataConnect.UpdateConnector google.firebase.dataconnect.v1alpha.FirebaseDataConnect.UpdateSchema google.firebase.dataconnect.v1alpha.FirebaseDataConnect.UpdateService |
รูปแบบบันทึกการตรวจสอบ
รายการบันทึกการตรวจสอบประกอบด้วยออบเจ็กต์ต่อไปนี้
รายการบันทึก ซึ่งเป็นออบเจ็กต์ประเภท
LogEntry
ฟิลด์ที่มีประโยชน์มีดังนี้logName
มีรหัสทรัพยากรและประเภทบันทึกการตรวจสอบresource
มีเป้าหมายของการดำเนินการที่ตรวจสอบแล้วtimestamp
มีเวลาของการดำเนินการที่ตรวจสอบprotoPayload
มีข้อมูลที่ตรวจสอบแล้ว
ข้อมูลการบันทึกการตรวจสอบ ซึ่งเป็นออบเจ็กต์
AuditLog
ที่เก็บไว้ในช่องprotoPayload
ของรายการบันทึกข้อมูลการตรวจสอบเฉพาะบริการ (ไม่บังคับ) ซึ่งเป็นออบเจ็กต์เฉพาะบริการ สำหรับการผสานรวมที่เก่ากว่า ออบเจ็กต์นี้จะอยู่ในช่อง
serviceData
ของออบเจ็กต์AuditLog
การผสานรวมที่ใหม่กว่าจะใช้ช่องmetadata
สําหรับช่องอื่นๆ ในออบเจ็กต์เหล่านี้และวิธีตีความ โปรดดูหัวข้อทําความเข้าใจบันทึกการตรวจสอบ
ชื่อบันทึก
ชื่อทรัพยากรของบันทึกการตรวจสอบ Cloud จะระบุโปรเจ็กต์ Firebase หรือGoogle Cloudนิติบุคคลอื่นที่เป็นเจ้าของบันทึกการตรวจสอบ และระบุว่าบันทึกมีข้อมูลการบันทึกการตรวจสอบกิจกรรมของผู้ดูแลระบบ การเข้าถึงข้อมูล การปฏิเสธนโยบาย หรือเหตุการณ์ของระบบหรือไม่ ตัวอย่างเช่น ตัวอย่างต่อไปนี้แสดงชื่อบันทึกสําหรับบันทึกการตรวจสอบกิจกรรมของผู้ดูแลระบบระดับโปรเจ็กต์และบันทึกการตรวจสอบการเข้าถึงข้อมูลขององค์กร ตัวแปรจะแสดงถึงตัวระบุโปรเจ็กต์และองค์กร Firebase
projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity
organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fdata_access
ชื่อบริการ
บันทึกการตรวจสอบของ Firebase Data Connect ใช้ชื่อบริการ
firebasedataconnect.googleapis.com
ดูรายการชื่อบริการ Cloud Logging API ทั้งหมดและประเภททรัพยากรที่ตรวจสอบที่เกี่ยวข้องได้ที่แมปบริการกับทรัพยากร
ประเภททรัพยากร
บันทึกการตรวจสอบของ Firebase Data Connect จะใช้ทรัพยากรประเภท audited_resource
สำหรับบันทึกการตรวจสอบทั้งหมด
ดูรายการประเภททรัพยากรทั้งหมดที่ Cloud Logging ตรวจสอบและข้อมูลอธิบายได้ที่ประเภททรัพยากรที่ตรวจสอบ
เปิดใช้การบันทึกการตรวจสอบ
บันทึกการตรวจสอบกิจกรรมของผู้ดูแลระบบจะเปิดใช้อยู่เสมอ ซึ่งคุณจะปิดใช้ไม่ได้
บันทึกการตรวจสอบการเข้าถึงข้อมูลจะปิดใช้โดยค่าเริ่มต้น และจะไม่เขียนไว้ เว้นแต่จะเปิดใช้ไว้อย่างชัดแจ้ง (ข้อยกเว้นคือบันทึกการตรวจสอบการเข้าถึงข้อมูลสำหรับ BigQuery ซึ่งปิดใช้ไม่ได้)
ดูวิธีการเปิดใช้บันทึกการตรวจสอบการเข้าถึงข้อมูลบางส่วนหรือทั้งหมดได้ที่หัวข้อกำหนดค่าบันทึกการเข้าถึงข้อมูล
สิทธิ์และบทบาท
สิทธิ์และบทบาท Cloud IAM จะกำหนดความสามารถในการเข้าถึงข้อมูลบันทึกการตรวจสอบในทรัพยากร Google Cloud
เมื่อตัดสินใจว่าสิทธิ์และบทบาทเฉพาะสำหรับการบันทึกใดบ้างที่ใช้กับกรณีการใช้งานของคุณ ให้พิจารณาสิ่งต่อไปนี้
บทบาทผู้ดูบันทึก (
roles/logging.viewer
) ให้สิทธิ์เข้าถึงระดับอ่านอย่างเดียวในบันทึกการตรวจสอบกิจกรรมของผู้ดูแลระบบ นโยบายถูกปฏิเสธ และเหตุการณ์ของระบบ หากมีบทบาทนี้เพียงอย่างเดียว คุณจะดูบันทึกการตรวจสอบการเข้าถึงข้อมูลที่อยู่ในที่เก็บข้อมูล_Default
ไม่ได้บทบาทผู้ดูบันทึกส่วนตัว
(roles/logging.privateLogViewer
) ประกอบด้วยสิทธิ์ที่อยู่ในroles/logging.viewer
รวมถึงความสามารถในการอ่านบันทึกการตรวจสอบการเข้าถึงข้อมูลในที่เก็บข้อมูล_Default
โปรดทราบว่าหากเก็บบันทึกส่วนตัวเหล่านี้ในที่เก็บข้อมูลที่ผู้ใช้กำหนด ผู้ใช้ที่มีสิทธิ์อ่านบันทึกในที่เก็บข้อมูลเหล่านั้นจะอ่านบันทึกส่วนตัวได้ ดูข้อมูลเพิ่มเติมเกี่ยวกับที่เก็บบันทึกได้ที่ภาพรวมการกำหนดเส้นทางและพื้นที่เก็บข้อมูล
ดูข้อมูลเพิ่มเติมเกี่ยวกับสิทธิ์และบทบาท IAM ของ Cloud ที่มีผลกับข้อมูลบันทึกการตรวจสอบได้ที่การควบคุมการเข้าถึง
ดูบันทึก
หากต้องการค้นหาและดูบันทึกการตรวจสอบ คุณจะต้องทราบตัวระบุของโปรเจ็กต์ โฟลเดอร์ หรือองค์กร 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
คุณสามารถดูบันทึกการตรวจสอบในการบันทึกในระบบคลาวด์ได้โดยใช้คอนโซล Google Cloud, gcloud
เครื่องมือบรรทัดคำสั่ง หรือ Logging API
คอนโซล
คุณสามารถใช้ Logs Explorer ในคอนโซล Google Cloud เพื่อดึงข้อมูลรายการบันทึกการตรวจสอบสำหรับโปรเจ็กต์ Firebase, โฟลเดอร์ หรือองค์กร ดังนี้
ในคอนโซล Google Cloud ให้ไปที่หน้าการบันทึก > เครื่องมือสำรวจบันทึก
ในหน้าเครื่องมือสำรวจบันทึก ให้เลือกโปรเจ็กต์ โฟลเดอร์ หรือองค์กร Firebase ที่มีอยู่
ในแผงเครื่องมือสร้างคําค้นหา ให้ทําดังนี้
ในประเภททรัพยากร ให้เลือกทรัพยากร 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
ได้ที่หัวข้ออ่านรายการบันทึก
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