An toàn DB2 UDB, Phn 2: Hiểu các trình cắm thêm an
toàn của DB2 cho Linux, UNIX và Windows
Các trình cm thêm an toàn DB2 — Bức tranh tổng thể
Các trình cm thêm an toàn là các thư viện có thể tải một cách động mà DB2 gi ra khi thực hiện
c thực hoặc tra tìm thành viên nhóm cho người dùng. Trước phiên bản 8.2, mt phương tin
bên ngoài thay cho DB2 đã quản lý các hoạt động này, ví dụ như hệ điều hành, mt bộ điều
khiển min, hoặc mt hệ thống an toàn Kerberos. Hình 1 cung cấp các kịch bản minh họa cách
an toàn DB2 đã làm việc trước phiên bản 8.2. Các phần tiếp theo mô tả nhng gì đã thay đổi với
phiên bản 8.2.
Hình 1. Các kịch bản an toàn
Hình 1 minh họa bốn kch bản an toàn:
1. Các cân nhắc về an toàn khi kết nối với một cơ sở dữ liệu từ một hệ thống máy
khách đến một hệ thống máy chủ
Ở phía bên trái của Hình 1, một người dùng đã ban hành câu lệnh connect to mydb
user raul using raulpsw (kết nối với người dùng mydb là raul bằng cách sử dụng
raulpsw) từ cửa sổ Bộ xử lý dòng lệnh (CLP) của mt hệ thống máy khách DB2 để kết
ni với cơ sở dữ liệu mydb, lưu trú trên máy chủ DB2 Aries. Máy khách DB2 giao tiếp
với máy chủ và thỏa thuận sử dụng phương thức xác thực nào. Để đơn gin, chúng ta hãy
giả sử máy khách sử dụng phương thức xác thực do máy chủ trả về. Trong hình này,
AUTHENTICATION được thiết lập cho SERVER. Điều này có nghĩa là hệ điều hành
máy chủ (I) sẽ thực hin xác thực bằng cách kim tra xem ID và mật khẩu người dùng đã
cấp có phù hp theo các giá tr được lưu trữ trong cơ sở dữ liệu an toàn của hệ điều hành
không. Một khi ngườing được xác thực, DB2 sẽ lấy thông tin thành viên nhóm thệ
điều hành. Từ thời điểm tiếp theo, DB2 sẽ không còn sử dụng ID hoặc mật khẩu người
dùng cho bất kỳ việc kiểm tra nào nữa, thay vào đó, DB2 sẽ sử dụng ID ủy quyền
(authID). Nói chung, mt authID là phiên bản chữ hoa của một ID người dùng.
2. Các cân nhắc về an toàn khi thực hiện các câu lệnh SQL sau khi kết nối vào cơ sở
dữ liệu
Phần dưới cùng bên trái của Hình 1 cho thấy một câu lnh SELECT được ban hành trong
lúc đã kết nối với sở dữ liệu mydb bng authID là RAUL. Trong trường hợp này,
phương tin chức năng an toàn DB2 bên trong thực hin kim tra ủy quyền bằng cách
xem lạic bảng Catalog của DB2 để xác nhận rằng authID RAUL đã được cấp đặc quyn
SELECT từ bng KEVIN.TABLE1. Nếu authID RAUL và PUBLIC (công khai) vẫn chưa
được cấp đặc quyn này, DB2 sẽ kiểm tra xem nời dùng này có là một phần của mt
trong các nm đặc biệt như SYSADM, SYSCTRL, SYSMAINT hoặc SYSMON không.
các tham s(dbm cfg) cấu hình của trình quản lý cơ sở dữ liệu cho mỗi nhóm, và bạn
có ththiết lập các tham số này ti giá trị của một nhóm hệ điều hành. Vào lúc kết nối,
thông tin nhóm vngườing được ly ra thệ điều hành và lưu trữ trong bộ nhớ nhanh.
Sau đó DB2 sẽ kiểm tra xem authID RAUL có là mt phần của mt trong các nhóm này
không bằng cách xem lại dữ liệu (II) đã lưu trong bộ nhớ nhanh này. Ví dụ, nếu authID là
mt phần của nhóm SYSADM, câu lệnh SELECT có thể tiếp tục, ngược li sẽ trả về một
thông báo lỗi (SQLCODE -551).
3. Các cân nhắc về an toàn khi thực hiện an toàn tại máy khách
Nếu AUTHENTICATION đã được thiết lập ti CLIENT trong Hình 1, h điều hành
máy tính khách này sẽ thực hiện xác thực (III). Việc kiểm tra ủy quyền với câu lnh
SELECT sẽ được thực hin như trước: DB2 sẽ xác minh xem authID RAUL có đặc quyn
SELECT với bảng KEVIN.TABLE1 trong các bng cơ sở dữ liệu DB2 Catalog không. Nếu
authID RAUL và PUBLIC không có đặc quyền này, thì thực hiện kiểm tra thành viên
nhóm. Vào lúc kết ni, thông tin thành viên nhóm từ máy khách được chuyển đến và lưu
trtrong bộ nhnhanh tại máy chủ.
4. Các cân nhắc về an toàn khi ban hành các lệnh mức cá thể
Tại máy chủ trong Hình 1, chủ sở hữu cá thể DB2 là db2inst1 đưa ra lnh db2stop. DB2
kiểm tra xem ngườing đã đăng nhập hiện tại có thuộc nhóm được định nghĩa trong
SYSADM_GROUP, SYSCTRL_GROUP, hoặc SYSMAINT_GROUP (IV) không. Nếu
ID người dùng thuộc về bất kỳ một trong các nhóm này, lnh db2stop sẽ thực hin thành
công. Nếu không, sẽ trả về một thông báo li. Tùy thuộc vào hoạt động mức cá thể, người
dùng có th là mt phần của các nhóm SYSADM, SYSCTRL, SYSMAINT hoặc
SYSMON.
Trong mi kịch bản, hệ điều hành được gọi để thực hiện các việc kim tra an toàn. Bắt đầu vi
phiên bản 8.2, thể sử dụng các trình cm thêm an toàn trong mi tình hung này. Thay luôn
gọi hệ điều hành, có th gọi một trình cm thêm máy chủ và nhóm trong kịch bn 1, có thể gọi
mt trình cm thêm nhóm trong kch bản 2, và có thể gọi các trình cm thêm máy khách
nhóm trong kch bn 3 và 4.
Ví dụ này giới thiệu ba thể loi trình cắm thêm an toàn:
Trình cm thêm an toàn xác thực phía máy chủ (trình cắm thêm c thực phía máy chủ).
Trình cm thêm an toàn xác thực phía máy khách (trình cắm thêm xác thực phía máy
khách).
Trình cm thêm an toàn tra tìm thành viên nhóm (trình cắm thêm nhóm).
Trình cắm thêm xác thực máy chủ thực hiện xác thực trên máy chủ cơ sở dữ liệu. cũng được
sử dụng để kiểm tra xem trình cắm thêm có biết authID không. Ví dụ, hãy xem t câu lệnh SQL
grant select on table user1.t1 to FOO, (cấp chn trên bng user1.t1 cho FOO), ở đây
DB2 không biết liệu FOO có là mt người dùng hoặc nhóm không. Trong trường hợp này, DB2
tra cứu tất cả các trình cắm thêm phía máy chủ và các tnh cắm thêm thành viên nhóm để kiểm
tra xem FOO có một người dùng, một nhóm, không rõ, hoặc cả hai không, để nó có thể đáp
ứng cho phù hợp với câu lnh SQL.
Trình cắm thêm xác thực máy khách thực hiện xác thực trên máy khách. Nó cũng được dùng để
thc hiện xác thực cục bộ mức cá thể trên máy ch cơ sở dữ liu khi thực hiện các lệnh mức
thể (chng hn như db2start, db2stop, db2trc, update dbm cfg, và v.v..) vậy, phổ biến là
xem cả hai trình cắm thêm xác thực máy khách và trình cm thêm xác thực máy chủ được chỉ rõ
trên mt máy chủ cơ sở dữ liệu.
Trình cắm thêm nhóm thực hiện tra tìm thành viên nhóm trên cmáy khách lẫn máy chcơ sở
dữ liu. Nó cũng được dùng để kim tra xem trình cm thêm biết authID không.
Mỗi trình cắm thêm an toàn có chứa mt tập các API mà bạn cần thực hin. DB2 cung cấp cơ sở
h tầng của trình cắm thêm an toàn và mt số trình cắm thêm an toàn mặc định. Để dành việc
thực hiện trình cắm thêm an toàn tùy chỉnh cho bạn tự quyết định.
Về đầu trang
Các ưu điểm của việc sử dụng trình cm thêm an toàn
Các ưu điểm chính của việc sử dụng cơ chế an toàn mới của DB2 là tính linh hoạt và tính m
rộng mà các trình cắm thêm an toàn có thcung cấp. Bạn có thể tùy chỉnh các cơ chế an toàn để
đáp ứng các nhu cầu cá nhân của bạn, thay vì da vào một phương tin chức năng tiêu chuẩn như
h điều hành. Ví dụ, trước phiên bản 8.2, bất kỳ người dùng hệ điều hành nào đã đăng nhập vào
h thống đều có thể ban hành mt câu lệnh kết ni mà không cần vượt qua kiểm tra ID và mật
khu người dùng (được gọi là mt kết nối ngầm định), và giả sử ID người ng đặc quyền
CONNECT của DB2, thì anh ta có thể kết nối thành công. Vi các trình cm thêm, bạn có thể
thay đổi hành vi này sao cho không cho phép kết nối ngầm định.
LDAP là một dụ khác. LDAP hiện không được h trợ như là mt phương thức xác thực trong
DB2; tuy nhiên, bạn luôn có thể thực hin bằng cách sử dụng một trình cm thêm an toàn.
Một dụ đơn giản được trình y sau trong bài viết này, khi sử dụng Microsoft Active
Directory (Thư mục tích cực của Microsoft) để thực hiện xác thực dựa trên LDAP.
Các trình cm thêm an toàn được thực hin cho mỗi cá thể, do đó bạn thể tạo ra các cá th
khác nhau, và có các công cụ trình cắm thêm an toàn khác nhau. Hình 2 cho thy tính linh hoạt
tính mở rộng được cung cấp bằng cách sử dụng các trình cắm thêm an toàn.
Hình 2. Các trình cắm thêm an toàn DB2: Tính linh hoạt và tính mở rộng
Về đầu trang
Các trình cm thêm an toàn mặc định
Sau khii đặt hoặc chuyển đổi sang phiên bản 8.2 của DB2, bạn không cần viết mã của trình
cắm thêm an toàn riêng của bạn hoặc thực hiện bất kỳ thiết lập nào. Theo mc định, DB2 được
cấu hình để sử dụng các trình cắm thêm an toàn mặc định kèm theo. Các trình cm thêm an toàn
mặc định này gi các API an toàn của hệ điều hành, do đó, hoạt động an toàn mc định ging hệt
như trong các phiên bản DB2 trước đó.
Hình 3 cho thấy các trình cắm thêm mặc định đi kèm vi DB2, và vị trí của chúng trên hệ thống
Windows.
Hình 3. Cấu trúc thư mục với các thư viện của trình cắm thêm an toàn mặc định trên
Windows
Ô bên phải trong mi cửa sổ của Hình 3 cho thấy các trình cm thêm mặc định khác nhau. Bảng
1 dưới đây mô tả từng trình cắm thêm này.