ข้ามไปยังเนื้อหาหลัก
เวอร์ชัน: ล่าสุด

Audits API

ภาพรวม

Audits API ให้การเข้าถึงบันทึก audit ที่ครอบคลุมซึ่งติดตามการดำเนินการทั้งหมดที่ทำบนบัญชี Omise ของคุณ ใช้บันทึก audit เพื่อตรวจสอบกิจกรรมผู้ใช้ ติดตามการเปลี่ยนแปลงการกำหนดค่า สืบสวนปัญหา และรักษาบันทึกสำหรับการปฏิบัติตามข้อกำหนด

Endpoints ที่ใช้ได้

สิ่งที่คุณสามารถทำได้

  • ติดตามการดำเนินการของผู้ใช้ - ตรวจสอบการดำเนินการทั้งหมดที่ผู้ใช้ทำบนบัญชีของคุณ
  • การเปลี่ยนแปลงการกำหนดค่า - ติดตามการเปลี่ยนแปลง routing groups กฎ และการตั้งค่า
  • ไทม์ไลน์กิจกรรม - ดูประวัติกิจกรรมบัญชีตามลำดับเวลา
  • การตรวจสอบการปฏิบัติตามข้อกำหนด - รักษาบันทึกสำหรับการปฏิบัติตามกฎระเบียบ
  • การตรวจสอบความปลอดภัย - ตรวจจับและสืบสวนกิจกรรมที่น่าสงสัย
  • กรองตามผู้ดำเนินการ - ค้นหาการดำเนินการที่ทำโดยผู้ใช้เฉพาะ

โครงสร้างบันทึก Audit

แต่ละรายการบันทึก audit ประกอบด้วย:

ข้อมูลผู้ดำเนินการ

  • actor_email - ที่อยู่อีเมลของผู้ใช้ที่ทำการดำเนินการ
  • actor_type - ประเภทของผู้ดำเนินการ (เช่น user)

รายละเอียดการดำเนินการ

  • verb - การดำเนินการที่ทำ (เช่น rules_switched)
  • created_at - Timestamp เมื่อการดำเนินการเกิดขึ้น

ข้อมูลทรัพยากร

  • auditable_type - ประเภทของทรัพยากรที่ได้รับผลกระทบ (เช่น routing_group)
  • auditable_uid - ตัวระบุเฉพาะของทรัพยากรที่ได้รับผลกระทบ

ฟิลด์ที่ค้นหาได้

ตัวกรองผู้ดำเนินการ

กรองตามใครที่ทำการดำเนินการ:

  • ที่อยู่อีเมลของผู้ดำเนินการ
  • ประเภทของผู้ดำเนินการ

ตัวกรองการดำเนินการ

กรองตามการดำเนินการที่ทำ:

  • Action verb (เช่น rules_switched)
  • ช่วงวันที่/เวลา

ตัวกรองทรัพยากร

กรองตามสิ่งที่ได้รับผลกระทบ:

  • ประเภททรัพยากร
  • ตัวระบุเฉพาะของทรัพยากร

Use Cases

ค้นหาการดำเนินการทั้งหมดของผู้ใช้

GET /audits/search?scope=audit&filters[actor_email][]=admin@example.com

ค้นหาการเปลี่ยนแปลงการกำหนดค่า

GET /audits/search?scope=audit&filters[auditable_type]=routing_group

ค้นหาการเปลี่ยนแปลงกฎล่าสุด

GET /audits/search?scope=audit&filters[verb]=rules_switched&filters[created]=2024/01/01..2024/12/31

ค้นหาการดำเนินการบนทรัพยากรเฉพาะ

GET /audits/search?scope=audit&filters[auditable_uid]=rgrp_test_5xuy4w91xqz7d1w9u0t

ตัวอย่างการใช้งาน

ค้นหาบันทึก Audit พร้อมตัวกรอง

const omise = require('omise')({
secretKey: 'skey_test_...'
});

// Search for routing group changes by a specific user
const results = await omise.search.list({
scope: 'audit',
filters: {
actor_email: ['admin@example.com'],
auditable_type: 'routing_group',
created: '2024/01/01..2024/12/31'
}
});

console.log(`Found ${results.total} audit entries`);
results.data.forEach(audit => {
console.log(`${audit.created_at}: ${audit.actor_email} - ${audit.verb}`);
});

ตัวอย่าง Python

import omise

omise.api_secret = 'skey_test_...'

# Search for all rule switch actions
results = omise.Search.execute(
scope='audit',
filters={
'verb': 'rules_switched',
'created': '2024/01/01..2024/12/31'
}
)

print(f'Found {results["total"]} audit entries')
for audit in results['data']:
print(f'{audit["created_at"]}: {audit["actor_email"]} - {audit["verb"]}')

รูปแบบ Response

{
"object": "search",
"data": [
{
"object": "audit",
"id": "audt_test_5xuy4w91xqz7d1w9u0t",
"actor_email": "admin@example.com",
"actor_type": "user",
"auditable_type": "routing_group",
"auditable_uid": "rgrp_test_5xuy4w91xqz7d1w9u0t",
"verb": "rules_switched",
"created_at": "2024-06-15T10:30:00Z"
}
],
"total": 1,
"page": 1,
"per_page": 30,
"total_pages": 1,
"scope": "audit",
"filters": {
"actor_email": ["admin@example.com"]
}
}

การแบ่งหน้า

ผลลัพธ์การค้นหา audit มีการแบ่งหน้า:

# First page
GET /audits/search?scope=audit&page=1&per_page=30

# Second page
GET /audits/search?scope=audit&page=2&per_page=30

สูงสุด 100 รายการต่อหน้า

แนวทางปฏิบัติที่ดี

ควรทำ

  • ใช้ตัวกรองวันที่ - จำกัดผลลัพธ์ด้วยช่วงวันที่สร้างเพื่อประสิทธิภาพที่ดีขึ้น
  • กรองตามผู้ดำเนินการ - ค้นหาการดำเนินการของผู้ใช้เฉพาะเมื่อสืบสวนปัญหา
  • ใช้การแบ่งหน้า - จัดการผลลัพธ์เป็นส่วนๆ ที่จัดการได้
  • ตรวจสอบเป็นประจำ - ตรวจสอบบันทึก audit เป็นระยะสำหรับการตรวจสอบความปลอดภัย
  • ส่งออกบันทึกสำคัญ - บันทึกบันทึก audit สำหรับการปฏิบัติตามข้อกำหนดระยะยาว

ไม่ควรทำ

  • อย่าข้ามการกรอง - ใช้ตัวกรองเสมอเพื่อจำกัดผลลัพธ์
  • อย่าเพิกเฉยต่อข้อผิดพลาด - บันทึกและจัดการข้อผิดพลาด API อย่างเหมาะสม
  • อย่า poll บ่อยเกินไป - เคารพ rate limits เมื่อตรวจสอบ

ข้อกำหนดการเข้าถึง

บันทึก audit ต้องการสิทธิ์บัญชีที่เหมาะสม ติดต่อฝ่ายสนับสนุนหากคุณต้องการเข้าถึงฟังก์ชัน audit

แหล่งข้อมูลที่เกี่ยวข้อง


ต้องการความช่วยเหลือ? ติดต่อ support@omise.co