Fine grained auditing kiểm toán dữ liệu dựa trên nội dung. FGA cung cấp điều khiển tốt hơn và là một phương pháp chi tiết hơn của kiểm toán.
Phương pháp này tạo ra các bản ghi kiểm toán dựa trên các điều kiện, truy vấn chính xác,và lấy dữ liệu hoặc điều chỉnh bằng các statement. Nó cung cấp một cơ sở để kiểm toán những statement tham chiếu đến một cột cụ thể. Phương pháp FGA được giới thiệu trong Oracle9ị Tuy nhiên, Oracle Database 10g tăng cường năng lực cho FGA bằng cách mở rộng SQL Support để hỗ trợ các kiểm toán của các truy vấn, cũng như các hoạt động UPDATE, INSERT và DELETE .
Hình 2.8: Ví vụ về chính sách kiểm toán
Được giới thiệu vào Oracle 9i, hạt mịn kiểm toán (FGA) thực hiện khả năng kiểm toán thông qua một gói phần mềm mới có tên DBMS_FGẠ Gói này cho phép thực hiện kiểm toán ở một mức độ rất chi tiết đối với bất kỳ bảng trong cơ sở dữ liệu thông qua một đối tượng cơ sở dữ liệu đặc biệt gọi là một chính sách FGẠ Có nhiều tiểu chương trình của gói DBMS_FGA . Gói DBMS_FGA cho phép thiết lập các điều kiện kiểm toán và xác định các cột kiểm toán để chỉ định cột trong một bảng hoặc xem yêu cầu monitoring. Khi điều kiện được đáp ứng vào cột cụ thể,kiểm toán FGA sẽ lưu lại một bản ghi kiểm toán cho thấy các truy vấn SQL text.
AĐ_POLICY Procedure Tạo ra một chính sách kiểm toán bằng cách sử dụng các thuộc tính được cung cấp như điều kiện kiểm toán
DISABLE_POLICY Procedure Vô hiệu hóa một chính sách kiểm toán DROP_POLICY Procedure Giảm (Xoá) một chính sách kiểm toán ENABLE_POLICY Procedure Cho phép một chính sách kiểm toán
Bảng 2.6: Các thủ tục của gói DBMS_FGA
Các bản ghi kiểm toán standard auditing chi tiết như chủ sở hữu, dấu thời gian, loại của statement vv, nhưng nó không cung cấp thông tin về sự thay đổi đã xảy ra trong dữ liệụ Thông tin này có thể rất hữu ích cho các DBA hoặc người dùng muốn phân tích các hoạt động diễn ra trên bảng. Đây là lý do tại sao nhà phát triển cần có sự giúp đỡ của triger và ghi lại các giá trị bảng trước và sau trong bảng người dùng định nghĩạ Nhưng trigger chỉ có thể được ghi lại bằng DML statements Insert, Update và Delete còn Select thì không được lưu lạị Vì vậy,nếu muốn ghi lại các statement Select đã fire vào một bảng hay cột cụ thể của bảng thì cần đến FGA để giải quyết. FGA cũng cho phép kiểm toán phải được tập trung hẹp hơn so với standard hay value- based database auditing.
Đến Oracle 9i, FGA chỉ được hỗ trợ Select, nhưng trong Oracle 10g FGA hỗ trợ tất cả statement DML. Vì vậy, tất cả các Insert, Update, Delete và Select statement có thể được chụp lại bằng cách sử dụng FGA và có thể được xem qua các từ điển dữ liệu DBA_FGA_AUDIT_TRAIL.
Tên cột Miêu tả
STATEMENT_TYPE Loại của statement – INSERT, UPDATE, DELETE, hay SELECT để kích hoạt kiểm toán.
EXTENDED_TIMESTAMP Timestamp mở rộng của the trail entrỵ
PROXY_SESSIONID Nếu người dùng là một người dùng doanh nghiệp và kết nối bằng cách sử dụng một người sử dụng proxy, các SID của các phiên kết nối người sử dụng proxy được hiển thị ở đâỵ
GLOBAL_UID Nếu người dùng là một người dùng doanh nghiệp,thì đây là các global user ID.
INSTANCE_NUMBER Số của instance nếu sử dụng RAC OS_PROCESS Operating System xử lý id.
TRANSACTIONID Các transaction nhận dạng, nếu statement là một phần của statement
TATEMENTID Statement id.
ENTRYID Các mục định danh trong các dấu vết.
Bảng 2.7: Các cột mới của dba_fga_audit_trail
Tùy chọn trong kiểm toán FGA có thể được tập trung bởi các cột riêng lẻ trong một bảng hoặc khung nhìn, và thậm chí có thể có điều kiện để kiểm toán được ghi lại chỉ khi một số chi tiết kỹ thuật quản trị được xác định là đáp ứng. Nhiều hơn một cột có liên quan được hỗ trợ cho một chính sách FGẠ Theo mặc định, nếu có một trong cột này hiện diện trong các câu lệnh SQL, nó được kiểm toán. DBMS_FGẠALL_COLUMNS và DBMS_FGẠANY_COLUMNS được cung cấp cho kiểm toán trên cơ sở có bất kỳ hoặc tất cả các cột có liên quan được sử dụng trong bản báo cáo (statement).
Sử dụng các gói DBMS_FGA PL / SQL để tạo ra một chính sách kiểm toán trên target table hay view. Nếu bất kỳ các hàng được trả lại từ một khối truy vấn kết hợp các cột được kiểm toán và kiểm toán quy định điều kiện, sau đó có một sự kiện kiểm toán thì bản ghi kiểm toán phải được tạo ra và lưu trữ trong các Audit Trail.
Các sự kiện kiểm toán cũng có thể thực hiện một thủ tục(procedure). FGA tự động tập trung kiểm toán từ các mức độ báo cáo(statement), và do đó một SELECT statement trả về hàng ngàn hàng chỉ tạo ra một bản ghi kiểm toán.
Kiểm toán FGA cung cấp một phương pháp tiếp cận linh hoạt,được kiểm soát để kiểm toán các hoạt động cơ sở dữ liệụ Các tính năng nổi bật như xử lý sự kiện, kiểm toán, điều kiện, và cột tham chiếu cho các FGA một kĩ thuật tốt hơn các kỹ thuật kiểm toán khác của Oraclẹ FGA là dễ dàng để quản lý và không tạo thêm chi phí cho quản trị cơ sở dữ liệu.