e. Mối quan hệ giữa người dùng và các đối tượng trên giao diện người dùng
TBL_ROLE_OBJECTS TBL_USER_ROLES
TBL_USERS
TBL_OBJECTS
Hình 4.11: Sơ đồ mối quan hệ giữa người dùng và các đối tượng trên giao diện người dùng
- Giao diện người dùng bao gồm một số các đối tượng, các đối tượng này là công cụ để giao tiếp với người dùng trong hệ thống. Người dùng sử dụng các đối tượng trên giao diện để thao tác trực tiếp với dữ liệu trong database. - Mỗi đối tượng trên giao diện được ánh xạ tương ứng với từng từng vai trò. Do đó, nếu một người dùng được cấp một vai trò thì sẽ được thao tác trên các đối tượng trên giao diện tương ứng với các vai trò được cấp.
- Mối qua hệ giữa bảng TBL_OBJECTS và TBL_ROLE_OBJECTS là quan hệ nhiều - nhiều, mỗi một vai trò sẽ được ánh xạ với một hoặc nhiều đối tượng trên giao diện, và ngược lại, mỗi đối tượng trên giao diện sẽ được ánh trên một hoặc nhiều vai trò của người dùng.
4.2.3 Các công cụ và chức năng của Oracle được sử dụng
- Để kết nối database giữa trung tâm thanh toán và các ngân hàng Chi nhánh cũng như các ngân hàng Chi nhánh với nhau, ta sử dụng cơ sở dữ liệu liên kết (Database Links)
- Để cập nhật dữ liệu được tức thì, nhanh chóng và hiệu quả giữa các database tại trung tâm Thanh toán và các ngân hàng Chi nhánh, ta sử dụng Snapshot với cơ chế cập nhật nhanh, nghĩa là chỉ cập nhật các dữ liệu được thay đổi hay thêm mới.
- Ngoài ra các công cụ và chức năng khác của Oracle được sử dụng để trong suốt vị trí như sử dụng thủ tục (Procedures), sử dụng bí danh (Synonyms), sử dụng khung nhìn (View)
4.2.4 Các công cụ và chức năng bảo mật, an toàn
Phân quyền và nhóm người dùng trong hệ thống
a. Phân quyền - Privilege
- Phân quyền là các quyền hạn được thực hiện các thao tác hoặc thực hiện việc truy nhập đến các đối tượng dữ liệu. Trong Oracle để thực hiện được các thao tác trên các đối tượng, người sử dụng phải được cấp các quyền tương ứng trong hệ thống.
- Các quyền hạn này được gán cho người dùng để có thể thực hiện các thao tác trên các đối tượng chỉ định.
- Việc gán quyền được thực hiện bởi người quản trị cơ sở dữ liệu.
o Gán quyền:
GRANT privilege[,privilege...] TO user [,user...] Trong đó:
GRANT: là từ khoá cấp quyền người dùng.
Privilege: quyền mà người dùng được cấp.
User: Tên người dùng được cấp quyền.
o Xoá quyền
REVOKE privilege[,privilege...] FROM user [,user...] Trong đó:
REVOKE: là từ khoá bỏ quyền người dùng.
Privilege: quyền mà người dùng bị bỏ.
User: Tên người dùng bị bỏ quyền. - Các quyền mặc định của hệ thống, bao gồm:
o Bảo mật cơ sở dữ liệu.
o Bảo mật hệ thống
o Bảo mật dữ liệu
o Quyền hệ thống: Quyền truy nhập vào cơ sở dữ liệu.
o Quyền trên đối tượng: Thao tác nội dung của các đối tượng cơ sở dữ liệu.
o Schema là tập hợp các đối tượng như bảng, khung nhìn, …
b. Vai trò của người dùng - ROLE
- Vai trò là tên của một nhóm các quyền hạn. Nó được tạo để quản lý quyền hạn cho các ứng dụng hoặc các người dùng.
- Việc dùng Vai trò cho phép quản lý thống nhất trên các đối tượng, tăng tính mềm dẻo trong quản trị người dùng, và dễ dàng thay đổi.
- Ví dụ: hai đối tượng X, Y có quyền trên Vai trò A tức là Vai trò A có quyền gì thì X, Y có các quyền tương ứng. Khi Vai trò A bị thay đổi quyền hạn thì X, Y cũng bị thay đổi quyền hạn theo.
o Để tạo Vai trò, ta sử dụng cú pháp:
CREATE ROLE role [IDENTIFY BY password];
o Gán Quyền cho một Vai trò, sử dụng cú pháp: GRANT privilege TO role;
o Lấy lại Quyền của một Vai trò, sử dụng cú pháp: REVOKE privilege FROM role;
o Gán Vai trò cho người dùng , sử dụng cú pháp: GRANT role TO user;
o Lấy lại Vai trò từ một người dùng , sử dụng cú pháp: REVOKE role FROM user;
- Một số Vai trò hay dùng trong hệ thống, bao gồm:
o CONNECT
o RESOURCE
c. Bí danh - SYNONYM
- Bí danh được dùng cho mọi đối tượng của Oracle. Các đối tượng của Oracle là table, view, snapshot, sequence, procedure, function, package và các synonym khác.
- Cú pháp để tạo Bí danh cho một đối tượng của Orace như sau: CREATE PUBLIC SYNONYM synonym_name FROM [OWNER.]object_name;
- Những ưu điểm khi sử dụng Bí danh:
o Không tốn thêm nơi lưu trữ khác bởi vì Bí danh đã được lưu trữ trên từ điển dữ liệu.
o Làm đơn giản đoạn chương trình SQL.
o Tăng tính bảo mật cho database. Tính bảo mật là vì là bí danh, nên người sử dụng dùng bí danh này sẽ không đoán được thêm thông tin gì về các đối tượng thực mà họ đang sử dụng.
Xác thực tài khoản người dùng
- Mỗi một người dùng trong database sẽ được cấp một số quyền truy nhập nhất định trên một số đối tượng trong database.
- Để truy xuất dữ liệu trong Oracle Database, người dùng phải đăng nhập vào ứng dụng với tài khoản được cấp, tài khoản này được lưu trữ và quản lý trong Database.
- Mỗi tài khoản người dùng đều có một mật khẩu (password) để xác thực người dùng trong hệ thống. Mật khẩu này được mã hoá, giải mã và quản lý bởi Oracle thông qua hàm mã hoá ENCRYPT và giải mã thông qua hàm DECRYPT của Oracle
Phân quyền truy xuất đối tượng(Object Privileges)
- Việc phân quyền truy xuất đối tượng (Objects) để hạn chế việc truy xuất trên các đối tượng trong cơ sở dữ liệu.
- Phân quyền truy xuất đối tượng bằng câu lệnh GRANT SELECT ON OBJECT TO PUBLIC;
- Phân loại người dùng trong hệ thống:
Nhóm người dùng thao tác dữ liệu: các quyền của nhóm này bao gồm:
o Quyền thao tác số liệu trên các bảng danh mục và các bảng lưu dữ liệu giao dịch.
o Quyền thực thi trên một số thủ tục, hàm, trigger có thao tác đến một số bảng dữ liệu mà nhóm này được truy xuất.
Nhóm người dùng quản trị hệ thống: nhóm này bao gồm một số quyền sau:
o Được cấp quyền để có thể thay đổi các tham số hệ thống, cấp quyền cho người dùng khác.
o Cập nhật danh sách bảng mã từ Trung tâm thanh toán.
o Đẩy số liệu từ ngân hàng Chi nhánh về Trung tâm thanh toán.
o Sao lưu và phục rồi dữ liệu tại ngân hàng Chi nhánh.
o Mở sổ đầu ngày và đóng sổ cuối ngày. Cấp vai trò và đặc quyền theo các mức
- Nhóm Giao dịch viên: Nhóm này thực hiện một số công việc sau: Tạo mới các giao dịch
Hoàn tất các giao dịch Xóa các giao dịch
Nhận điện về ngân hàng Chi nhánh - Nhóm Kiểm soát viên: có chức năng:
Duyệt điện. Chuyển điện.
Sinh bút toán hách toán theo các giao dịch và duyệt các bút toán hạch toán này.
- Nhóm quản trị hệ thống, các chức năng của quản trị hệ thống bao gồm: Cập nhật các danh mục hồ sơ từ database Trung tâm thanh toán về ngân
hàng Chi nhánh.
Đồng bộ hoá dữ liệu từ ngân hàng Chi nhánh về database Trung tâm thanh toán
b. Các vai trò trong hệ thống
- Mỗi nhóm người dùng, sẽ tác động đến một số đối tượng nhất định trong hệ thống. Mỗi nhóm này, sẽ được ánh xạ với một nhóm các quyền khác nhau (vai trò), tương ứng với mỗi nhóm. Các vai trò trong hệ thống bao gồm:
- Vai trò GDV: Vai trò này được cấp cho Giao dịch viên, bao gồm các quyền
Thêm mới, Cập nhật, Sửa đổi trên các bảng giao dịch:
o MSGTRAN
o GLTRANALL
o DDTRANALL
- Vai trò KSV: Vai trò này được cấp cho Kiểm soát viên, các quyền của vai trò KSV bao gồm:
o Quyền Cập nhật trên bảng MSGTRAN – khi Kiểm soát viên duyệt hoặc chuyển điện.
- Vai trò QT: Vai trò này được cấp cho người Quản trị hệ thống, vai trò này được cấp các quyền thao tác trên các đối tượng của hệ thống, bao gồm:
o Quyền Thêm mới, Cập nhật, Sửa đổi trên các bảng nhật ký của hệ thống, bảng người dùng và phân quyền người dùng.
o Quyền Thực thi Snapshot để trao đổi dữ liệu giữa Trung tâm và Ngân hàng chi nhánh.
o Quyền Sử dụng Cơ sở dữ liệu liên kết (Database Link) để kết nối giữa Trung tâm và Ngân hàng chi nhánh.
4.2.5 Một số bảng chính trong cơ sở dữ liệu
- Bảng Tài khoản tiền gửi của Khách hàng - DDMAST
Hình 4.12: Bảng Tài khoản tiền gửi của Khách hàng (DDMAST) - Bảng Tài khoản Kế toán GLMAST
- Bảng hồ sơ Khách hàng - CFMAST