DB2 - Bảo mật cơ sở dữ liệu
Chương này mô tả bảo mật cơ sở dữ liệu.
Giới thiệu
Cơ sở dữ liệu và các chức năng của DB2 có thể được quản lý bằng hai chế độ kiểm soát bảo mật khác nhau:
- Authentication
- Authorization
Xác thực
Xác thực là quá trình xác nhận rằng người dùng chỉ đăng nhập theo quyền để thực hiện các hoạt động mà anh ta được phép thực hiện. Xác thực người dùng có thể được thực hiện ở cấp hệ điều hành hoặc cấp cơ sở dữ liệu. Bằng cách sử dụng các công cụ xác thực cho sinh trắc học như võng mạc và bản in hình đang được sử dụng để giữ cơ sở dữ liệu khỏi tin tặc hoặc người dùng độc hại.
Bảo mật cơ sở dữ liệu có thể được quản lý từ bên ngoài hệ thống cơ sở dữ liệu db2. Dưới đây là một số loại quy trình xác thực bảo mật:
- Dựa trên xác thực Hệ điều hành.
- Giao thức truy cập thư mục nhẹ (LDAP)
Đối với DB2, dịch vụ bảo mật là một phần của hệ điều hành như một sản phẩm riêng biệt. Đối với Xác thực, nó yêu cầu hai thông tin đăng nhập khác nhau, đó là userid hoặc tên người dùng và mật khẩu.
Ủy quyền
Bạn có thể truy cập Cơ sở dữ liệu DB2 và chức năng của nó trong hệ thống cơ sở dữ liệu DB2, được quản lý bởi người quản lý Cơ sở dữ liệu DB2. Ủy quyền là một quá trình được quản lý bởi trình quản lý Cơ sở dữ liệu DB2. Người quản lý nhận được thông tin về người dùng được xác thực hiện tại, cho biết người dùng có thể thực hiện hoặc truy cập thao tác cơ sở dữ liệu nào.
Dưới đây là các cách cấp phép khác nhau có sẵn để ủy quyền:
Primary permission: Cấp trực tiếp ID ủy quyền.
Secondary permission: Cấp cho các nhóm và vai trò nếu người dùng là thành viên
Public permission: Cấp công khai cho tất cả người dùng.
Context-sensitive permission: Cấp cho vai trò ngữ cảnh đáng tin cậy.
Người dùng có thể cấp quyền dựa trên các danh mục bên dưới:
- Ủy quyền cấp hệ thống
- Quản trị viên hệ thống [SYSADM]
- Kiểm soát hệ thống [SYSCTRL]
- Bảo trì hệ thống [SYSMAINT]
- Giám sát hệ thống [SYSMON]
Các nhà chức trách cung cấp quyền kiểm soát đối với chức năng cấp phiên bản. Quyền hạn cung cấp cho nhóm các đặc quyền, để kiểm soát hoạt động bảo trì và quyền hạn. Ví dụ, cơ sở dữ liệu và các đối tượng cơ sở dữ liệu.
- Ủy quyền cấp cơ sở dữ liệu
- Quản trị viên bảo mật [SECADM]
- Quản trị viên cơ sở dữ liệu [DBADM]
- Kiểm soát truy cập [ACCESSCTRL]
- Truy cập dữ liệu [DATAACCESS]
- Quản trị viên SQL. [SQLADM]
- Quản trị viên quản lý khối lượng công việc [WLMADM]
- Giải thích [GIẢI THÍCH]
Các nhà chức trách cung cấp các biện pháp kiểm soát trong cơ sở dữ liệu. Các thẩm quyền khác cho cơ sở dữ liệu bao gồm LDAD và CONNECT.
- Object-Level Authorization: Ủy quyền cấp đối tượng liên quan đến việc xác minh các đặc quyền khi một thao tác được thực hiện trên một đối tượng.
- Content-based Authorization: Người dùng có thể có quyền truy cập đọc và ghi vào các hàng và cột riêng lẻ trên một bảng cụ thể bằng cách sử dụng Điều khiển truy cập dựa trên nhãn [LBAC].
Các bảng và tệp cấu hình DB2 được sử dụng để ghi lại các quyền được liên kết với tên ủy quyền. Khi người dùng cố gắng truy cập dữ liệu, các quyền đã ghi sẽ xác minh các quyền sau:
- Tên ủy quyền của người dùng
- Người dùng thuộc về nhóm nào
- Những vai trò nào được cấp trực tiếp cho người dùng hoặc gián tiếp cho một nhóm
- Quyền có được thông qua ngữ cảnh đáng tin cậy.
Trong khi làm việc với các câu lệnh SQL, mô hình ủy quyền DB2 xem xét sự kết hợp của các quyền sau:
- Quyền được cấp cho ID ủy quyền chính được liên kết với các câu lệnh SQL.
- ID ủy quyền phụ được liên kết với các câu lệnh SQL.
- Cấp cho PUBLIC
- Được cấp cho vai trò ngữ cảnh đáng tin cậy.
Cơ quan cấp sơ thẩm
Hãy để chúng tôi thảo luận về một số cơ quan có liên quan.
Cơ quan quản trị hệ thống (SYSADM)
Đây là cơ quan hành chính cấp cao nhất ở cấp cá thể. Người dùng có quyền SYSADM có thể thực thi một số cơ sở dữ liệu và lệnh quản lý cơ sở dữ liệu trong phiên bản. Người dùng có quyền SYSADM có thể thực hiện các thao tác sau:
- Nâng cấp cơ sở dữ liệu
- Khôi phục cơ sở dữ liệu
- Cập nhật tệp cấu hình trình quản lý cơ sở dữ liệu.
Quyền điều khiển hệ thống (SYSCTRL)
Đây là cấp cao nhất trong quyền kiểm soát Hệ thống. Nó cung cấp để thực hiện các hoạt động bảo trì và tiện ích đối với phiên bản trình quản lý cơ sở dữ liệu và các cơ sở dữ liệu của nó. Các thao tác này có thể ảnh hưởng đến tài nguyên hệ thống, nhưng chúng không cho phép truy cập trực tiếp vào dữ liệu trong cơ sở dữ liệu.
Người dùng có quyền SYSCTRL có thể thực hiện các tác vụ sau:
- Cập nhật cơ sở dữ liệu, Node hoặc thư mục Dịch vụ Kết nối Phân tán (DCS)
- Buộc người dùng ra khỏi cấp hệ thống
- Tạo hoặc giảm cấp cơ sở dữ liệu
- Tạo, thay đổi hoặc loại bỏ một không gian bảng
- Sử dụng bất kỳ không gian bảng nào
- Khôi phục cơ sở dữ liệu
Cơ quan bảo trì hệ thống (SYSMAINT)
Đây là cấp thứ hai của quyền kiểm soát hệ thống. Nó cung cấp để thực hiện các hoạt động bảo trì và tiện ích đối với phiên bản trình quản lý cơ sở dữ liệu và các cơ sở dữ liệu của nó. Các thao tác này ảnh hưởng đến tài nguyên hệ thống mà không cho phép truy cập trực tiếp vào dữ liệu trong cơ sở dữ liệu. Quyền hạn này được thiết kế để người dùng duy trì cơ sở dữ liệu trong phiên bản trình quản lý cơ sở dữ liệu có chứa dữ liệu nhạy cảm.
Chỉ Người dùng có SYSMAINT hoặc cơ quan quản lý hệ thống cấp cao hơn mới có thể thực hiện các tác vụ sau:
- Sao lưu
- Khôi phục bản sao lưu
- Khôi phục về phía trước
- Bắt đầu hoặc dừng phiên bản
- Khôi phục không gian bảng
- Thực thi lệnh db2trc
- Chụp nhanh màn hình hệ thống trong trường hợp người dùng cấp Phiên bản hoặc người dùng cấp cơ sở dữ liệu.
Người dùng với SYSMAINT có thể thực hiện các tác vụ sau:
- Truy vấn trạng thái của một vùng bảng
- Cập nhật tệp lịch sử nhật ký
- Sắp xếp lại bảng
- Sử dụng RUNSTATS (Thống kê danh mục bộ sưu tập)
Cơ quan giám sát hệ thống (SYSMON)
Với quyền này, người dùng có thể giám sát hoặc chụp nhanh phiên bản trình quản lý cơ sở dữ liệu hoặc cơ sở dữ liệu của nó. Quyền SYSMON cho phép người dùng chạy các tác vụ sau:
- NHẬN CÔNG TẮC THEO DÕI QUẢN LÝ CƠ SỞ DỮ LIỆU
- NHẬN CÔNG TẮC MÀN HÌNH
- TẢI SNAPSHOT
- DANH SÁCH
- DANH SÁCH CÁC DỮ LIỆU HOẠT ĐỘNG
- DANH SÁCH ỨNG DỤNG
- DANH SÁCH CÁC NHÓM PHẦN CƠ SỞ DỮ LIỆU
- DANH SÁCH ỨNG DỤNG DCS
- DANH SÁCH GÓI
- DANH SÁCH BẢNG
- DANH SÁCH CÁC BẢNG BIỂU
- DANH SÁCH CÁC BẢNG BIỂU
- DANH MỤC TIỆN ÍCH
- ĐẶT LẠI THEO DÕI
- CẬP NHẬT CÔNG TẮC THEO DÕI
Cơ quan quản lý cơ sở dữ liệu
Mỗi cơ quan cơ sở dữ liệu giữ ID ủy quyền để thực hiện một số hành động trên cơ sở dữ liệu. Các cơ quan quản lý cơ sở dữ liệu này khác với các đặc quyền. Đây là danh sách một số cơ quan quản lý cơ sở dữ liệu:
ACCESSCTRL: cho phép cấp và thu hồi tất cả các đặc quyền của đối tượng và cơ sở dữ liệu.
BINDADD: Cho phép tạo một gói mới trong cơ sở dữ liệu.
CONNECT: Cho phép kết nối với cơ sở dữ liệu.
CREATETAB: Cho phép tạo bảng mới trong cơ sở dữ liệu.
CREATE_EXTERNAL_ROUTINE: Cho phép tạo một thủ tục để ứng dụng và người dùng cơ sở dữ liệu sử dụng.
DATAACCESS: Cho phép truy cập dữ liệu được lưu trữ trong các bảng cơ sở dữ liệu.
DBADM: Đóng vai trò là người quản trị cơ sở dữ liệu. Nó cung cấp cho tất cả các cơ quan quản lý cơ sở dữ liệu khác ngoại trừ ACCESSCTRL, DATAACCESS và SECADM.
EXPLAIN: Cho phép giải thích các kế hoạch truy vấn mà không yêu cầu chúng giữ các đặc quyền để truy cập dữ liệu trong bảng.
IMPLICIT_SCHEMA: Cho phép người dùng tạo một lược đồ ngầm bằng cách tạo một đối tượng bằng câu lệnh CREATE.
LOAD: Cho phép tải dữ liệu vào bảng.
QUIESCE_CONNECT: Cho phép truy cập cơ sở dữ liệu trong khi nó ở trạng thái tĩnh (tạm thời bị vô hiệu hóa).
SECADM: Cho phép hoạt động như một quản trị viên bảo mật cho cơ sở dữ liệu.
SQLADM: Cho phép theo dõi và điều chỉnh các câu lệnh SQL.
WLMADM: Cho phép hoạt động như một quản trị viên khối lượng công việc
Đặc quyền
THIẾT LẬP
Đặc quyền ID ủy quyền liên quan đến các hành động trên ID ủy quyền. Chỉ có một đặc quyền, được gọi là đặc quyền SETSESSIONUSER. Nó có thể được cấp cho người dùng hoặc một nhóm và nó cho phép người dùng phiên chuyển đổi danh tính sang bất kỳ ID ủy quyền nào mà các đặc quyền được cấp. Đặc quyền này được cấp bởi cơ quan SECADM của người dùng.
Đặc quyền của giản đồ
Đặc quyền này liên quan đến các hành động trên lược đồ trong cơ sở dữ liệu. Chủ sở hữu của lược đồ có tất cả các quyền để thao tác các đối tượng lược đồ như bảng, dạng xem, chỉ mục, gói, kiểu dữ liệu, hàm, trình kích hoạt, thủ tục và bí danh. Người dùng, một nhóm, một vai trò hoặc PUBLIC có thể được cấp cho bất kỳ người dùng nào các đặc quyền sau:
- CREATEIN: cho phép tạo các đối tượng trong lược đồ
- ALTERIN: cho phép sửa đổi các đối tượng trong lược đồ.
DROPIN
Điều này cho phép xóa các đối tượng trong lược đồ.
Đặc quyền vùng bảng
Các đặc quyền này liên quan đến các hành động trên không gian bảng trong cơ sở dữ liệu. Người dùng có thể được cấp quyền sử dụng cho các vùng bảng. Sau đó, các đặc quyền cho phép họ tạo bảng trong không gian bảng. Chủ sở hữu đặc quyền có thể cấp quyền sử dụng bằng lệnh VỚI LỰA CHỌN CẤP trên vùng bảng khi vùng bảng được tạo. Và các nhà chức trách SECADM hoặc ACCESSCTRL có quyền sử dụng các đặc quyền trên vùng bảng.
Đặc quyền bảng và xem
Người dùng phải có quyền CONNECT trên cơ sở dữ liệu để có thể sử dụng đặc quyền bảng và xem. Các đặc quyền cho bảng và chế độ xem như được cung cấp bên dưới:
ĐIỀU KHIỂN
Nó cung cấp tất cả các đặc quyền cho một bảng hoặc một chế độ xem bao gồm thả và cấp, thu hồi các đặc quyền bảng riêng lẻ cho người dùng.
ALTER
Nó cho phép người dùng sửa đổi một bảng.
XÓA BỎ
Nó cho phép người dùng xóa các hàng khỏi bảng hoặc chế độ xem.
MỤC LỤC
Nó cho phép người dùng chèn một hàng vào bảng hoặc dạng xem. Nó cũng có thể chạy tiện ích nhập khẩu.
NGƯỜI GIỚI THIỆU
Nó cho phép người dùng tạo và thả khóa ngoại.
LỰA CHỌN
Nó cho phép người dùng truy xuất các hàng từ một bảng hoặc dạng xem.
CẬP NHẬT
Nó cho phép người dùng thay đổi các mục nhập trong một bảng, dạng xem.
Đặc quyền gói
Người dùng phải có quyền KẾT NỐI với cơ sở dữ liệu. Gói là một đối tượng cơ sở dữ liệu có chứa thông tin của trình quản lý cơ sở dữ liệu để truy cập dữ liệu theo cách hiệu quả nhất cho một ứng dụng cụ thể.
ĐIỀU KHIỂN
Nó cung cấp cho người dùng các đặc quyền về việc gắn lại, loại bỏ hoặc thực thi các gói. Người dùng có đặc quyền này được cấp cho đặc quyền BIND và THỰC HIỆN.
TRÓI BUỘC
Nó cho phép người dùng ràng buộc hoặc liên kết lại gói đó.
HÀNH HÌNH
Cho phép thực thi một gói.
Đặc quyền lập chỉ mục
Đặc quyền này tự động nhận được đặc quyền CONTROL trên chỉ mục.
Đặc quyền trình tự
Chuỗi tự động nhận các đặc quyền USAGE và ALTER trên chuỗi.
Đặc quyền thông thường
Nó liên quan đến hành động của các thói quen như hàm, thủ tục và phương thức trong cơ sở dữ liệu.