Bảng kiểm toán là gì?


24

Bảng kiểm toán là gì?

Chúng hữu ích như thế nào?

Tôi tình cờ thấy họ đọc bài viết này .


2
Chúng chỉ là những cái bàn thông thường. Đó là cách bạn sử dụng chúng và những gì bạn đưa vào chúng khiến chúng trở thành "bảng kiểm toán".
Nick Chammas

1
Họ không giống nhau. Bạn có một bảng kiểm toán, tách biệt với bảng bạn đang kiểm toán. Vì vậy, bạn có hai bảng, NormalTableAuditNormalTable.
Thomas Stringer

1
Matt, Shark đã có câu trả lời của bạn về điều đó. @Shark, tôi đã nhấn mạnh rằng một bảng kiểm toán không phải là một cấu trúc cơ sở dữ liệu đặc biệt (vì tôi có ấn tượng rằng OP có thể tin điều đó). Đó chỉ là một bảng khác mà nhà phát triển xây dựng và sử dụng để theo dõi một số thông tin nhất định.
Nick Chammas

@NickChammas Oh hoàn toàn, tôi hoàn toàn hiểu ý của bạn. Nhưng theo nhận xét của OP, tôi không nghĩ anh ấy đã làm thế.
Thomas Stringer

Nếu bạn xem xét ý nghĩa từ điển của kiểm toán, có lẽ bạn sẽ đi đến kết luận rằng "bảng kiểm toán" là một cách viết sai. Một cuộc kiểm toán phải ở bên ngoài cơ sở dữ liệu: nếu nó được mã hóa bởi chính doanh nghiệp ứng dụng, làm thế nào nó có thể là một cuộc kiểm toán?
ngày

Câu trả lời:


22

Bảng kiểm toán được sử dụng để theo dõi các giao dịch đối với một bảng hoặc bảng cụ thể. Chúng cho phép bạn xem một "nhật ký" đang diễn ra (vì không có từ nào tốt hơn). Chẳng hạn, giả sử bạn có một bảng như thế này:

create table SensitiveInformation
(
    SensitiveNumber int not null,
    SensitiveData varchar(100) not null
)
go

Có thể có người dùng và / hoặc ứng dụng có quyền truy cập để chèn, cập nhật và xóa khỏi bảng đó. Nhưng do tính chất nhạy cảm của dữ liệu đó, bạn có thể muốn có một cách nhanh chóng và dễ dàng để theo dõi ai đang làm gì trên bảng đó.

Vì vậy, bạn có Bảng kiểm toán để theo dõi những gì đang được thực hiện trên bảng đó. Thông thường sẽ bao gồm cơ bản Ai , Cái gì , Khi nào .

Một bảng kiểm toán có thể trông như thế này:

create table SensitiveInformationAudit
(
    SensitiveNumberNew int null,
    SensitiveNumberOld int null,
    SensitiveDataNew varchar(100) null,
    SensitiveDataOld varchar(100) null,
    Action varchar(50) not null,
    AuditDate datetime not null,
    LastUpdatedUser varchar(100) not null
)
go

Các bảng kiểm toán thường được lấp đầy thông qua việc sử dụng Cơ sở dữ liệu kích hoạt. Nói cách khác, khi Xhành động xảy ra SensitiveInformation, hãy chèn các chi tiết của nó vào SensitiveInformationAudit.


Actionlĩnh vực UPDATEhay INSERThay DELETE?
leeand00

24

Một khía cạnh quan trọng khác của các bảng kiểm toán chưa được làm nổi bật cho đến nay, đó là ngoài việc theo dõi xem ai đã làm gì để ghi lại (thường bao gồm trước và sau ảnh chụp nhanh) các bảng kiểm toán được ghi một lần .

Các bản ghi trong bảng kiểm toán có thể không được cập nhật hoặc xóa (xem ghi chú), chỉ được chèn . Điều này đôi khi được áp dụng bằng cách sử dụng kích hoạt hoặc có thể chỉ là logic ứng dụng, nhưng thực tế nó quan trọng vì nó cung cấp cho bạn "bằng chứng" rằng không có gì bị giả mạo theo cách khó phát hiện.

Lưu ý: Việc dọn dẹp các hồ sơ cũ khỏi bảng kiểm toán đòi hỏi các quy trình đặc biệt thường phải được quản lý hoặc kiểm toán viên phê duyệt.


4

Các bảng kiểm toán thường được sử dụng khi bạn muốn theo dõi các thay đổi trong các bảng nhạy cảm / bí mật. Nếu có một bảng được sử dụng cho tỷ lệ chi trả và tỷ lệ phần thưởng và ứng dụng nhân sự trả tiền lương dựa trên dữ liệu này, thì người dùng có quyền truy cập ghi vào bảng này có thể thực hiện sửa đổi thanh toán trái phép.

Đồng thời, một số người dùng nên được phép làm việc trên các bảng này. Đây là nơi các bảng kiểm toán xuất hiện. Các bảng kiểm toán có thể được sử dụng để theo dõi giá trị trước và sau của dữ liệu đã thay đổi. Thông thường họ cũng lưu thông tin bổ sung như người thực hiện thay đổi và thời gian thực hiện thay đổi.

Do đó, các bảng kiểm toán này ngăn cản người dùng thực hiện các hoạt động trái phép. Họ cũng cung cấp một phương tiện để trở lại các giá trị chính xác.

SQL 2008 trở lên có một tính năng tích hợp có tên Change Data Capture có thể được sử dụng cho việc này.


2
Đáng buồn thay đổi dữ liệu chụp là rất tệ cho kiểm toán vì bạn không thể bắt người dùng đã thực hiện thay đổi (trừ khi bạn đã lưu trữ dữ liệu đó trong db).
HLGEM

0

Các bảng kiểm toán được sử dụng bởi các công cụ kiểm toán gốc hoặc bên thứ 3 nắm bắt các thay đổi dữ liệu đã xảy ra trên cơ sở dữ liệu, thường bao gồm thông tin về người thực hiện thay đổi, đối tượng nào bị ảnh hưởng bởi nó, khi nó được thực hiện cũng như thông tin trên Đăng nhập SQL, ứng dụng và máy chủ được sử dụng để thực hiện thay đổi. Tất cả thông tin thu được được lưu trữ trong các bảng kiểm toán và phải có sẵn ở các định dạng thân thiện với người dùng thông qua xuất hoặc truy vấn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.