หน้านี้อธิบายบันทึกการตรวจสอบที่สร้างโดย Firebase โดยเป็นส่วนหนึ่งของ บันทึกการตรวจสอบระบบคลาวด์
ภาพรวม
บริการ Firebase เขียนบันทึกการตรวจสอบเพื่อช่วยคุณตอบคำถาม "ใครทำอะไร ที่ไหน และเมื่อไหร่" นี่คือบันทึกการตรวจสอบระบบคลาวด์ซึ่งเป็นส่วนหนึ่งของ โครงการ Google Cloud Platform ที่เชื่อมต่อกับโครงการ Firebase ของคุณ
โปรเจ็กต์ Firebase ของคุณแต่ละโปรเจ็กต์จะมีเฉพาะบันทึกการตรวจสอบสำหรับทรัพยากรที่อยู่ในโปรเจ็กต์โดยตรง
สำหรับภาพรวมทั่วไปของบันทึกการตรวจสอบระบบคลาวด์ โปรดดู ภาพรวมบันทึกการตรวจสอบระบบคลาวด์ เพื่อความเข้าใจที่ลึกซึ้งยิ่งขึ้นเกี่ยวกับรูปแบบบันทึกการตรวจสอบ โปรดดู ที่ ทำความเข้าใจบันทึกการตรวจสอบ
บันทึกการตรวจสอบที่มีอยู่
บันทึกการตรวจสอบประเภทต่อไปนี้พร้อมใช้งานสำหรับ Cloud Storage for Firebase:
บันทึกการตรวจสอบกิจกรรมของผู้ดูแลระบบ
รวมการดำเนินการ "เขียนโดยผู้ดูแลระบบ" ที่เขียนข้อมูลเมตาหรือข้อมูลการกำหนดค่า
คุณไม่สามารถปิดใช้งานบันทึกการตรวจสอบกิจกรรมของผู้ดูแลระบบได้
สำหรับคำอธิบายเพิ่มเติมของประเภทบันทึกการตรวจสอบ โปรดดู ประเภทของบันทึกการตรวจสอบ
การดำเนินงานที่ได้รับการตรวจสอบแล้ว
ข้อมูลต่อไปนี้จะสรุปว่าการดำเนินการของ API ใดที่สอดคล้องกับบันทึกการตรวจสอบแต่ละประเภทใน Cloud Storage for Firebase
หมวดหมู่บันทึกการตรวจสอบ | Cloud Storage สำหรับการดำเนินการ Firebase | |
---|---|---|
การดำเนินโครงการ | ||
กิจกรรมของผู้ดูแลระบบ | ถัง.get ถัง.รายการ buckets.addFirebase buckets.removeFirebase |
รูปแบบบันทึกการตรวจสอบ
รายการบันทึกการตรวจสอบประกอบด้วยออบเจ็กต์ต่อไปนี้:
รายการบันทึกเอง ซึ่งเป็นออบเจ็กต์ประเภท
LogEntry
ช่องที่มีประโยชน์มีดังต่อไปนี้:-
logName
ประกอบด้วยรหัสทรัพยากรและประเภทบันทึกการตรวจสอบ -
resource
มีเป้าหมายของการดำเนินการที่ได้รับการตรวจสอบ -
timestamp
ประกอบด้วยเวลาของการดำเนินการที่ได้รับการตรวจสอบ -
protoPayload
มีข้อมูลที่ตรวจสอบแล้ว
-
ข้อมูลการบันทึกการตรวจสอบ ซึ่งเป็นออบเจ็กต์
AuditLog
ที่เก็บไว้ในฟิลด์protoPayload
ของรายการบันทึกข้อมูลการตรวจสอบเฉพาะบริการเพิ่มเติม ซึ่งเป็นออบเจ็กต์เฉพาะบริการ สำหรับการบูรณาการแบบเก่า ออบเจ็กต์นี้จะถูกเก็บไว้ในฟิลด์
serviceData
ของออบเจ็กต์AuditLog
การบูรณาการที่ใหม่กว่าจะใช้ฟิลด์metadata
สำหรับช่องอื่นๆ ในออบเจ็กต์เหล่านี้ และวิธีการตีความ โปรดดู ทำความเข้าใจบันทึกการตรวจสอบ
ชื่อบันทึก
ชื่อทรัพยากรบันทึกการตรวจสอบระบบคลาวด์ระบุโปรเจ็กต์ Firebase หรือเอนทิตี GCP อื่นๆ ที่เป็นเจ้าของบันทึกการตรวจสอบ และไม่ว่าบันทึกจะมีข้อมูลกิจกรรมของผู้ดูแลระบบ การเข้าถึงข้อมูล นโยบายถูกปฏิเสธ หรือบันทึกการตรวจสอบเหตุการณ์ของระบบหรือไม่ ตัวอย่างเช่น ข้อมูลต่อไปนี้จะแสดงชื่อบันทึกสำหรับบันทึกการตรวจสอบกิจกรรมผู้ดูแลระบบระดับโครงการและบันทึกการตรวจสอบการเข้าถึงข้อมูลขององค์กร ตัวแปรแสดงถึงโปรเจ็กต์ Firebase และตัวระบุองค์กร
projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity
organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fdata_access
ชื่อบริการ
บันทึกการตรวจสอบ Cloud Storage สำหรับ Firebase ใช้ชื่อบริการ firebasestorage.googleapis.com
หากต้องการดูรายชื่อบริการ Cloud Logging API ทั้งหมดและประเภททรัพยากรที่ได้รับการตรวจสอบที่เกี่ยวข้อง โปรดดู แมปบริการกับทรัพยากร
ประเภททรัพยากร
บันทึกการตรวจสอบ Cloud Storage for Firebase ใช้ประเภททรัพยากร audited_resource
สำหรับบันทึกการตรวจสอบทั้งหมด
หากต้องการดูรายการประเภททรัพยากรที่ได้รับการตรวจสอบของ Cloud Logging ทั้งหมดและข้อมูลเชิงอธิบาย โปรดดู ประเภททรัพยากรที่ได้รับการตรวจสอบ
เปิดใช้งานการบันทึกการตรวจสอบ
บันทึกการตรวจสอบกิจกรรมของผู้ดูแลระบบจะเปิดใช้งานอยู่เสมอ คุณไม่สามารถปิดการใช้งานได้
สิทธิ์และบทบาท
สิทธิ์และบทบาท ของ Cloud IAM จะกำหนดความสามารถในการเข้าถึงข้อมูลบันทึกการตรวจสอบในทรัพยากร GCP
เมื่อตัดสินใจว่า สิทธิ์และบทบาทเฉพาะการบันทึก ใดที่จะนำไปใช้กับกรณีการใช้งานของคุณ ให้พิจารณาสิ่งต่อไปนี้:
บทบาทผู้ดูบันทึก (
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 ของคุณได้ ดังนี้
ในคอนโซล GCP ให้ไปที่หน้า การบันทึก > Logs Explorer
ในหน้า Logs Explorer ให้เลือกโปรเจ็กต์ โฟลเดอร์ หรือองค์กร Firebase ที่มีอยู่
ในบานหน้าต่าง ตัวสร้างแบบสอบถาม ให้ทำดังต่อไปนี้:
ใน ประเภททรัพยากร ให้เลือกทรัพยากร GCP ที่มีบันทึกการตรวจสอบที่คุณต้องการดู
ใน ชื่อบันทึก ให้เลือกประเภทบันทึกการตรวจสอบที่คุณต้องการดู:
- สำหรับบันทึกการตรวจสอบกิจกรรมของผู้ดูแลระบบ ให้เลือก กิจกรรม
- สำหรับบันทึกการตรวจสอบการเข้าถึงข้อมูล ให้เลือก 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 เพื่อดูรายการบันทึกการตรวจสอบ ให้ทำดังต่อไปนี้:
ไปที่ส่วน ลองใช้ 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 ใดๆ หรือทั้งหมดในองค์กรได้
สำหรับคำแนะนำเกี่ยวกับบันทึกการกำหนดเส้นทาง โปรดดู ที่กำหนดค่าซิงก์
ราคา
บันทึกการตรวจสอบกิจกรรมของผู้ดูแลระบบ และ บันทึกการตรวจสอบเหตุการณ์ของระบบ ไม่มีค่าใช้จ่าย
บันทึกการตรวจสอบการเข้าถึงข้อมูล และ บันทึกการตรวจสอบนโยบายถูกปฏิเสธ มีค่าใช้จ่าย
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับราคา Cloud Logging โปรดดู ราคาชุดปฏิบัติการของ Google Cloud: Cloud Logging