HiPortfolio Email notify Service when Privilege User Access
พอดี เป็น Project ที่เพิ่ง ทำเสร็จ ครับ เขียนด้วย C# โดยการทำงาน Run เป็น
Windows Service จะเล่า User Requirement ให้ ฟังก่อน ครับ
ความเป็นมาเริ่มจาก ที่มี IT-Auditor จากภายนอก(กลต.) ได้ส่งเอกสารเกี่ยวกับ
มาตรฐาน ของระบบงาน IT เพื่อให้เป็นไปตามกฎเกณฑ์ มี ข้อหนึ่งที่บอกว่า
- ให้ระบบงานมีการบันทึก Log การใช้งานของ Privilege User (Has Log Privilege Access)
- และมีการตรวจสอบ Log เป็นประจำ (Review Log regularly)
ก็เลยเกิด Project นี้ขึ้นมา ระบบที่ ผมดูแลอยู่ ในที่นี้ คือ ระบบ HiPortfolio
ซึ่งโดยระบบแล้วสามารถเข้าไป อ่าน Activity Log ได้อยู่แล้ว แต่ปัญหา คือ
ต้องการให้ระบบ HiPortfolio ส่ง Email ไปให้ผู้เกี่ยวข้อง เมื่อ มีการใช้งาน
Privilege User ซึ่ง ระบบ HiPortfilio ไม่สามารถ ทำได้อยู่แล้ว
สิ่ง ที่ Project นี้ ทำ คือ
1. สร้าง Job Schedule (Console Job) ให้ Hiportfolio Run
Report Activity log โดย Slave Engine จะได้ File Report Activities ออกมา
โดยระบุ ตำแหน่ง Folder ที่ชัดเจน
2. สร้าง Windows Service ที่ไป monitor folder นั้น ด้วย C# และใช้
fileSystemWatcher Object เมื่อพบการเปลี่ยนแปลง ของ ไฟล์
ซึ่งจะเปลี่ยนเมื่อ Slave Engine Run Report นั่นเอง
3. เมื่อพบ การเปลี่ยนแปลง ก็ทำการ อ่าน Report Activity log แล้ว
เลือก เอาเฉพาะส่่วน Privilege User ออกมา แล้วทำการส่ง email
ไปยังผู้เกี่ยวข้อง
นี่คือภาพรวมของ Project ครับ
ซึ่ง ผมใช้เวลาในการสร้าง Program ประมาณ 1 วัน
ทำการทดสอบโปรแกรม อีก 1 วัน ครับ
และ Configuration ทั้งหมด จะเก็บใน file app.config ซึ่ง เป็น xml ไฟล์
ใน config นี้ ก็ จะสามารถกำหนด เป็น parameter ของ service คือ
- path ที่ monitor
- Privilege User monitor
- email address ของผู้เกี่ยวข้อง
- Subject ของ email
- ip ของ mail server
- port ที่ใช้ส่ง mail
ครั้ง นี้พอเท่านี้ก่อนครับ
ครั้งหน้ามาว่ากัน เรื่องการ Coding ครับ
Windows Service จะเล่า User Requirement ให้ ฟังก่อน ครับ
ความเป็นมาเริ่มจาก ที่มี IT-Auditor จากภายนอก(กลต.) ได้ส่งเอกสารเกี่ยวกับ
มาตรฐาน ของระบบงาน IT เพื่อให้เป็นไปตามกฎเกณฑ์ มี ข้อหนึ่งที่บอกว่า
- ให้ระบบงานมีการบันทึก Log การใช้งานของ Privilege User (Has Log Privilege Access)
- และมีการตรวจสอบ Log เป็นประจำ (Review Log regularly)
ก็เลยเกิด Project นี้ขึ้นมา ระบบที่ ผมดูแลอยู่ ในที่นี้ คือ ระบบ HiPortfolio
ซึ่งโดยระบบแล้วสามารถเข้าไป อ่าน Activity Log ได้อยู่แล้ว แต่ปัญหา คือ
ต้องการให้ระบบ HiPortfolio ส่ง Email ไปให้ผู้เกี่ยวข้อง เมื่อ มีการใช้งาน
Privilege User ซึ่ง ระบบ HiPortfilio ไม่สามารถ ทำได้อยู่แล้ว
สิ่ง ที่ Project นี้ ทำ คือ
1. สร้าง Job Schedule (Console Job) ให้ Hiportfolio Run
Report Activity log โดย Slave Engine จะได้ File Report Activities ออกมา
โดยระบุ ตำแหน่ง Folder ที่ชัดเจน
2. สร้าง Windows Service ที่ไป monitor folder นั้น ด้วย C# และใช้
fileSystemWatcher Object เมื่อพบการเปลี่ยนแปลง ของ ไฟล์
ซึ่งจะเปลี่ยนเมื่อ Slave Engine Run Report นั่นเอง
3. เมื่อพบ การเปลี่ยนแปลง ก็ทำการ อ่าน Report Activity log แล้ว
เลือก เอาเฉพาะส่่วน Privilege User ออกมา แล้วทำการส่ง email
ไปยังผู้เกี่ยวข้อง
นี่คือภาพรวมของ Project ครับ
ซึ่ง ผมใช้เวลาในการสร้าง Program ประมาณ 1 วัน
ทำการทดสอบโปรแกรม อีก 1 วัน ครับ
และ Configuration ทั้งหมด จะเก็บใน file app.config ซึ่ง เป็น xml ไฟล์
ใน config นี้ ก็ จะสามารถกำหนด เป็น parameter ของ service คือ
- path ที่ monitor
- Privilege User monitor
- email address ของผู้เกี่ยวข้อง
- Subject ของ email
- ip ของ mail server
- port ที่ใช้ส่ง mail
ครั้ง นี้พอเท่านี้ก่อนครับ
ครั้งหน้ามาว่ากัน เรื่องการ Coding ครับ
ความคิดเห็น
แสดงความคิดเห็น