Fine-Grained Auditing (FGA) trong Oracle Database cho phép bạn theo dõi các hoạt động truy cập dữ liệu chi tiết hơn so với Standard Auditing. FGA cho phép bạn cấu hình các chính sách audit tùy chỉnh dựa trên các điều kiện cụ thể và các cột cụ thể trong bảng. Điều này giúp bạn giám sát truy cập dữ liệu ở mức độ chi tiết cao hơn và phù hợp với các yêu cầu bảo mật và tuân thủ phức tạp.
Dưới đây là các bước cấu hình và quản trị Fine-Grained Auditing (FGA) trong Oracle Database:
1. Kích hoạt FGA
Không cần cấu hình đặc biệt nào để kích hoạt FGA vì nó được hỗ trợ tự động nếu Oracle Database đã được cài đặt và cấu hình đúng.
2. Tạo Chính sách FGA
Sử dụng thủ tục DBMS_FGA.ADD_POLICY để thêm chính sách FGA. Bạn cần chỉ định bảng, cột và điều kiện để audit.
Ví dụ:
Giả sử bạn có một bảng HR.EMPLOYEES và bạn muốn audit mọi truy vấn SELECT vào bảng này mà truy cập vào cột SALARY khi SALARY lớn hơn 10000.
BEGIN
DBMS_FGA.ADD_POLICY(
object_schema => ‘HR’,
object_name => ‘EMPLOYEES’,
policy_name => ‘SALARY_AUDIT_POLICY’,
audit_condition => ‘SALARY > 10000’,
audit_column => ‘SALARY’,
handler_schema => NULL,
handler_module => NULL,
enable => TRUE,
statement_types => ‘SELECT’
);
END;
/
3. Xem các Chính sách FGA Hiện có
Để xem các chính sách FGA đã được cấu hình, bạn có thể truy vấn từ view DBA_AUDIT_POLICIES và DBA_AUDIT_POLICY_COLUMNS.
SELECT * FROM dba_audit_policies; SELECT * FROM dba_audit_policy_columns;
4. Xem Bản ghi Audit FGA
Bản ghi audit FGA được lưu trữ trong bảng DBA_FGA_AUDIT_TRAIL. Bạn có thể truy vấn bảng này để xem các bản ghi audit.
SELECT * FROM DBA_FGA_AUDIT_TRAIL;
5. Quản lý Chính sách FGA
- Bật/Tắt Chính sách:
Để bật hoặc tắt một chính sách FGA, bạn có thể sử dụng thủ tục DBMS_FGA.ENABLE_POLICY hoặc DBMS_FGA.DISABLE_POLICY.
— Bật chính sách
BEGIN DBMS_FGA.ENABLE_POLICY( object_schema => 'HR', object_name => 'EMPLOYEES', policy_name => 'SALARY_AUDIT_POLICY' ); END; /
— Tắt chính sách
BEGIN DBMS_FGA.DISABLE_POLICY( object_schema => 'HR', object_name => 'EMPLOYEES', policy_name => 'SALARY_AUDIT_POLICY' ); END; /
Xóa Chính sách:
Để xóa một chính sách FGA, bạn có thể sử dụng thủ tục DBMS_FGA.DROP_POLICY.
BEGIN DBMS_FGA.DROP_POLICY( object_schema => 'HR', object_name => 'EMPLOYEES', policy_name => 'SALARY_AUDIT_POLICY' ); END; /
Ví dụ Thực tế Khác
Audit truy vấn SELECT vào bảng HR.EMPLOYEES khi cột DEPARTMENT_ID là 10.
BEGIN DBMS_FGA.ADD_POLICY( object_schema => 'HR', object_name => 'EMPLOYEES', policy_name => 'DEPT_AUDIT_POLICY', audit_condition => 'DEPARTMENT_ID = 10', audit_column => 'DEPARTMENT_ID', handler_schema => NULL, handler_module => NULL, enable => TRUE, statement_types => 'SELECT' ); END; /
Fine-Grained Auditing (FGA) cung cấp khả năng giám sát chi tiết hơn các hoạt động truy cập dữ liệu trong Oracle Database. Bằng cách cấu hình các chính sách FGA, bạn có thể audit các truy cập cụ thể vào các cột và hàng dữ liệu dựa trên các điều kiện tùy chỉnh. Điều này giúp cải thiện bảo mật và tuân thủ các yêu cầu pháp lý và quản lý dữ liệu trong tổ chức.