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

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

ภาพรวม

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

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

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

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

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

Cloud Search จะเขียนบันทึกการตรวจสอบการเข้าถึงข้อมูลก็ต่อเมื่อคุณ เปิดใช้บันทึกดังกล่าวอย่างชัดเจน บันทึกเหล่านี้จะมี API Call ที่อ่านการกำหนดค่าหรือข้อมูลเมตาของทรัพยากร รวมถึง API Call ที่ผู้ใช้เป็นผู้เริ่มซึ่งสร้าง แก้ไข หรืออ่านข้อมูลทรัพยากรที่ผู้ใช้ระบุ

Cloud Search จะไม่เขียนบันทึกการตรวจสอบเหตุการณ์ของระบบหรือนโยบายที่ถูกปฏิเสธ

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

ตารางต่อไปนี้สรุปการดำเนินการของ API ที่สอดคล้องกับบันทึกการตรวจสอบแต่ละประเภทใน Cloud Search

หมวดหมู่บันทึกการตรวจสอบ การดำเนินการของ Cloud Search
กิจกรรมของผู้ดูแลระบบ: การเขียนของผู้ดูแลระบบ indexing.datasources.updateSchema
indexing.datasources.deleteSchema
settings.datasources.create
settings.datasources.delete
settings.datasources.update
settings.searchapplications.create
settings.searchapplications.delete
settings.searchapplications.reset
settings.searchapplications.update
settings.updateCustomer
cloudsearch.IdentitySourceService.create
cloudsearch.IdentitySourceService.update
cloudsearch.IdentitySourceService.delete
การเข้าถึงข้อมูล: การอ่านของผู้ดูแลระบบ indexing.datasources.getSchema
settings.datasources.get
settings.datasources.list
settings.searchapplications.get
settings.searchapplications.list
settings.getCustomer
cloudsearch.IdentitySourceService.get
cloudsearch.IdentitySourceService.list
การเข้าถึงข้อมูล: การเขียนข้อมูล indexing.datasources.items.delete
indexing.datasources.items.deleteQueueItems
indexing.datasources.items.index
indexing.datasources.items.poll
indexing.datasources.items.push
indexing.datasources.items.unreserve
indexing.datasources.items.upload
media.upload
การเข้าถึงข้อมูล: การอ่านข้อมูล indexing.datasources.items.get
indexing.datasources.items.list
operations.get
operations.list
debug.datasources.items.checkAccess
debug.datasources.items.searchByViewUrl
stats.getIndex
stats.getQuery
stats.getSession
stats.getUser
stats.index.datasources.get
stats.query.searchapplications.get
stats.session.searchapplications.get
stats.user.search applications.get
debug.identitysources.items.listForunmappedidentity
debug.identitysources.unmappedids.list
debug.datasources.items.unmappedids.list
query.sources.list
query.suggest
query.search
stats.getSearchapplication

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

รายการบันทึกการตรวจสอบจะมีออบเจ็กต์ต่อไปนี้ คุณสามารถดูออบเจ็กต์เหล่านี้ได้ใน Cloud Logging โดยใช้ Logs Explorer, Cloud Logging API หรือเครื่องมือบรรทัดคำสั่ง gcloud

รายการบันทึกเองจะเป็น LogEntry ออบเจ็กต์ ช่องที่มีประโยชน์ ได้แก่

  • logName: รหัสทรัพยากรและประเภทบันทึกการตรวจสอบ
  • resource: เป้าหมายของการดำเนินการที่ตรวจสอบ
  • timeStamp: เวลาของการดำเนินการที่ตรวจสอบ
  • protoPayload: ข้อมูลที่ตรวจสอบ

ข้อมูลการบันทึกการตรวจสอบจะเป็น AuditLog ในช่อง protoPayload

ข้อมูลการตรวจสอบเฉพาะบริการที่ไม่บังคับจะเป็นออบเจ็กต์เฉพาะบริการ สำหรับการผสานรวมก่อนหน้านี้ ออบเจ็กต์นี้จะอยู่ในช่อง serviceData ของออบเจ็กต์ AuditLog ส่วนการผสานรวมในภายหลังจะใช้ช่อง metadata

ดูข้อมูลเพิ่มเติมได้ที่ ทำความเข้าใจบันทึกการตรวจสอบ

ชื่อบันทึก

ชื่อทรัพยากรของบันทึกการตรวจสอบ Cloud จะระบุโปรเจ็กต์หรือเอนทิตีอื่นๆ ของ Google Cloud ที่เป็นเจ้าของบันทึก รวมถึงประเภทบันทึกการตรวจสอบ เช่น

projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity
organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fdata_access

ชื่อบริการ

บันทึกการตรวจสอบของ Cloud Search จะใช้ชื่อบริการ cloudsearch.googleapis.com

ประเภททรัพยากร

บันทึกการตรวจสอบของ Cloud Search จะใช้ประเภททรัพยากร audited_resource สำหรับบันทึกทั้งหมด ดูประเภททรัพยากรเพิ่มเติมได้ที่ ประเภททรัพยากรที่มีการตรวจสอบ

เปิดใช้การบันทึกการตรวจสอบ

โดยค่าเริ่มต้น ระบบจะปิดใช้การบันทึกการตรวจสอบสำหรับ Cloud Search API วิธีเปิดใช้การบันทึกการตรวจสอบสำหรับ Cloud Search

  1. (ไม่บังคับ) หากยังไม่ได้สร้างโปรเจ็กต์ที่อยู่ในระบบคลาวด์ของ Google Cloud เพื่อจัดเก็บบันทึก โปรดดูหัวข้อ กำหนดค่าการเข้าถึง Cloud Search API
  2. รับรหัสโปรเจ็กต์สำหรับโปรเจ็กต์ Google Cloud ที่คุณต้องการจัดเก็บบันทึก ดูการระบุโปรเจ็กต์
  3. กำหนดหมวดหมู่บันทึกที่จะเปิดใช้สำหรับ API ที่เฉพาะเจาะจง ดู การดำเนินการที่ตรวจสอบ
  4. ใช้เมธอด updateCustomer() REST API เพื่ออัปเดต auditLogSettings ด้วยหมวดหมู่ต่อไปนี้

    1. รับโทเค็นเพื่อการเข้าถึง OAuth 2.0 ดู การใช้ OAuth 2.0 เพื่อเข้าถึง Google APIs ใช้ขอบเขตใดขอบเขตหนึ่งต่อไปนี้
      • https://www.googleapis.com/auth/cloud_search.settings.indexing
      • https://www.googleapis.com/auth/cloud_search.settings
      • https://www.googleapis.com/auth/cloud_search
    2. เรียกใช้คำสั่ง curl นี้: bash curl --request PATCH \ 'https://cloudsearch.googleapis.com/v1/settings/customer?updateMask=auditLoggingSettings&key=[YOUR_API_KEY]' \ --header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \ --header 'Content-Type: application/json' \ --data '{"auditLoggingSettings": { "project": "projects/PROJECT_ID", "CATEGORY1": "true", "CATEGORY2": "true" } }' แทนที่ YOUR_ACCESS_TOKEN, PROJECT_ID และหมวดหมู่ (logAdminReadActions, logDataWriteActions หรือ logDataReadActions) การดำเนินการเขียนของผู้ดูแลระบบจะเปิดใช้โดยค่าเริ่มต้น หากต้องการบันทึกเมธอดการค้นหา ให้เปิดใช้หมวดหมู่การอ่านข้อมูล

      คำขอที่ส่งไปยัง Cloud Search API ในภายหลังจะสร้างบันทึกในโปรเจ็กต์ที่ระบุ

  5. การบันทึกการตรวจสอบสำหรับเมธอดการค้นหาต้องใช้หมวดหมู่การอ่านข้อมูล วิธีเปิดใช้การบันทึกสำหรับ query.sources.list, query.suggest และ query.search

    1. ดึงข้อมูลชื่อของแอปพลิเคชันการค้นหาแต่ละรายการในรูปแบบ searchapplications/<search_application_id>
    2. เรียก settings.searchapplications.update โดยตั้งค่า enableAuditLog เป็น true
  6. หากต้องการเปิดใช้การบันทึกการตรวจสอบสำหรับการเรียกจาก cloudsearch.google.com ให้ตรวจสอบว่าได้เปิดใช้หมวดหมู่การอ่านข้อมูลแล้วและอัปเดต searchapplications/default

ดูบันทึกใน Logs Explorer ของคอนโซล Google Cloud ใช้ตัวกรองนี้สำหรับบันทึกการตรวจสอบของ Cloud Search

protoPayload.serviceName="cloudsearch.googleapis.com"

ดูข้อมูลเพิ่มเติมได้ที่ ภาพรวมของ Logs Explorer

สิทธิ์บันทึกการตรวจสอบ

สิทธิ์ Identity and Access Management (IAM) จะกำหนดบันทึกที่คุณดูหรือส่งออกได้ ดูข้อมูลเพิ่มเติมได้ที่ ทำความเข้าใจบทบาท

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

  • เจ้าของ ผู้แก้ไข หรือผู้ดูโปรเจ็กต์
  • บทบาทผู้ดูบันทึกของ Logging
  • บทบาท IAM ที่กำหนดเอง ซึ่งมีสิทธิ์ logging.logEntries.list

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

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

ดูบันทึก

หากต้องการดูบันทึก คุณต้องมีตัวระบุของโปรเจ็กต์ที่อยู่ในระบบคลาวด์ โฟลเดอร์ หรือองค์กร นอกจากนี้ คุณยังระบุช่อง LogEntry อื่นๆ ได้ เช่น resource.type. ดู สร้างการค้นหาใน Logs Explorer

ชื่อบันทึกการตรวจสอบจะเป็นไปตามรูปแบบต่อไปนี้

   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

คุณมีตัวเลือกมากมายในการดูรายการบันทึกการตรวจสอบ

คอนโซล

  1. ไปที่หน้า Logging > Logs Explorer ในคอนโซล Google Cloud ไปที่ Logs Explorer
  2. เลือกโปรเจ็กต์
  3. ในบานหน้าต่างเครื่องมือสร้างการค้นหา ให้เลือกทรัพยากรและประเภทบันทึก ดูรายละเอียดเพิ่มเติมเกี่ยวกับการค้นหาโดยใช้ Logs Explorer ใหม่ได้ที่ สร้างการค้นหาใน Logs Explorer

gcloud

เรียกใช้คำสั่งนี้สำหรับบันทึกระดับโปรเจ็กต์

gcloud logging read "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com" 
--project=PROJECT_ID

API

  1. ไปที่ส่วน ลองใช้ API นี้ สำหรับเมธอด entries.list
  2. ใช้เนื้อหาคำขอต่อไปนี้ โดยแทนที่ PROJECT_ID ด้วยรหัสโปรเจ็กต์ที่เลือก
    {
    "resourceNames": ["projects/PROJECT_ID"],
    "pageSize": 5,
    "filter": "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com"
    }
  3. คลิกเรียกใช้

ดูรายละเอียดเพิ่มเติมเกี่ยวกับการค้นหาได้ที่ ภาษาในการค้นหาการบันทึก

ดูรายการบันทึกการตรวจสอบตัวอย่างและวิธีค้นหาข้อมูลที่สำคัญที่สุด ในรายการได้ที่ ทำความเข้าใจบันทึกการตรวจสอบ

ส่งออกบันทึกการตรวจสอบ

คุณสามารถส่งออกบันทึกการตรวจสอบได้เช่นเดียวกับบันทึกอื่นๆ ดู การส่งออกบันทึก

  • ส่งออกไปยัง Cloud Storage, BigQuery หรือ Pub/Sub เพื่อการเก็บรักษานานขึ้นหรือการค้นหาขั้นสูง
  • ใช้ Sink แบบรวม เพื่อจัดการบันทึกทั่วทั้งองค์กร
  • ยกเว้นบันทึกการเข้าถึงข้อมูลเพื่อจัดการการจัดสรรบันทึก ดู การยกเว้นบันทึก

การกำหนดราคาและการเก็บรักษา

Cloud Logging จะไม่คิดค่าบริการสำหรับบันทึกการตรวจสอบกิจกรรมของผู้ดูแลระบบ แต่จะคิดค่าบริการสำหรับบันทึกการตรวจสอบการเข้าถึงข้อมูล ดูราคาของชุดเครื่องมือการดำเนินการของ Google Cloud

ระยะเวลาการเก็บรักษาบันทึกการตรวจสอบของ Cloud Search

  • บันทึกกิจกรรมของผู้ดูแลระบบ: 400 วัน
  • บันทึกการเข้าถึงข้อมูล: 30 วัน

ข้อจำกัดปัจจุบัน

ข้อจำกัดของการบันทึกการตรวจสอบของ Cloud Search

  • รายการบันทึกต้องมีขนาดไม่เกิน 512 KB หากรายการมีขนาดเกิน 512 KB ระบบจะนำช่อง response ออก หากรายการยังมีขนาดเกิน 512 KB ระบบจะนำช่อง request ออก หากรายการยังมีขนาดเกิน 512 KB ระบบจะทิ้งรายการทั้งหมด
  • ระบบจะไม่บันทึกเนื้อหาการตอบกลับสำหรับเมธอด list(), get() และ suggest()
  • ระบบจะบันทึกเฉพาะการเรียกการค้นหาจาก cloudsearch.google.com และแอปพลิเคชันการค้นหาของลูกค้า
  • สำหรับการเรียก search() ระบบจะบันทึกเฉพาะ Query, RequestOptions และ DataSourceRestriction ในคำขอ ส่วนการตอบกลับจะตรวจสอบเฉพาะ URL และข้อมูลเมตา
  • ระบบจะไม่ตรวจสอบการเรียก Backend สำหรับการส่งออกข้อมูล