Chương 7 TẠO VÀ QUẢN LÝ NGƯỜI DÙNG
- Lý thuyết: 2 tiết
7 - 1/19
Chương 7. Quản lý người dùng
- Thực hành: 2 tiết
Quản lý người dùng
7.1 Quyền/Nhóm quyền
7.2 Tạo và quản lý người dùng
7.3 Cấp và thu hồi quyền
7 - 2/19
Chương 7. Quản lý người dùng
7.4 Liên kết cơ sở dữ liệu
7.1 Quyền/Nhóm quyền
7.1.1 Quyền (Privileges)
mức hệ thống
mức đối tượng
quyền hạn được thực hiện các thao tác hoặc truy cập đến các đối tượng trong cơ sở dữ liệu.
SYS: Mk là change_on_install.
SYSTEM: Mk là MANAGER.
Hình 7.1. Quyền người dùng
7 - 3/19
Chương 7. Quản lý người dùng
Oracle mặc định có 2 user:
7.1 Quyền/Nhóm quyền
quyền quản trị (DBA) là lớn nhất:
CREATE USER: Tạo người dùng mới.
DROP USER: Xóa người dùng đang tồn tại.
CREATE TABLE: Tạo bảng.
DROP ANY TABLE: Xoá bảng.
CREATE VIEW: Tạo view.
CREATE PROCEDURE: Tạo procedure.
BACKUP ANY TABLE: Tạo các bảng dự phòng.
7 - 4/19
Chương 7. Quản lý người dùng
7.1.1 Quyền (Privileges) Mức hệ thống
7.1 Quyền/Nhóm quyền
ALTER: Thay đổi đối tượng.
DELETE: Xóa đối tượng.
EXECUTE: Thực thi lệnh.
REFERENCES: Tham chiếu đến đối tượng.
INDEX: Tạo chỉ mục.
INSERT: Chèn dư˜ liệu.
SELECT: Truy vấn dư˜ liệu.
UPDATE: Cập nhật dư˜ liệu
7 - 5/19
Chương 7. Quản lý người dùng
7.1.1 Quyền (Privileges) Mức đối tượng:
7.1 Quyền/Nhóm quyền
7.1.2 Nhóm quyền (Role)
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ị, dễ dàng thay đổi
7 - 6/19
Chương 7. Quản lý người dùng
Tên một nhóm các quyền hạn có liên quan với nhau
7.1 Quyền/Nhóm quyền
7.1.2 Nhóm quyền (Role) Tạo nhóm quyền:
role
Tên nhóm quyền.
password
Mật khẩu.
CREATE ROLE role [IDENTIFY BY password];
Ví dụ: Tạo nhóm quyền có tên là manager.
7 - 7/19
Chương 7. Quản lý người dùng
CREATE ROLE manager
7.2 Tạo và quản lý người dùng
Tạo người dùng:
user
Tên người dùng sẽ tạo ra.
password
Mật khẩu của người dùng sẽ tạo ra.
Ví dụ: Tạo người dùng user_db vơi mật khẩu là 123456 trong cơ sở dư˜ liệu.
CREATE USER user_db
IDENTIFIED BY 123456;
7 - 8/19
Chương 7. Quản lý người dùng
CREATE USER user IDENTIFIED BY password;
7.2 Tạo và quản lý người dùng
Thay đổi mật khẩu
ALTER USER user
Ví dụ: Thay đổi mật khẩu của user_db thành pwuser.
ALTER USER user_db
IDENTIFIED BY pwuser
7 - 9/19
Chương 7. Quản lý người dùng
IDENTIFIED BY password
7.3 Cấp và thu hồi quyền
Cấp quyền hệ thống
7.3.1 Cấp quyền
GRANT privilege [, privilege...]
privilege quyền hệ thống cấp cho người dùng.
user
tên người dùng được cấp quyền.
role
nhóm quyền cấp cho người dùng.
PUBLIC nhóm quyền chung.
7 - 10/19
Chương 7. Quản lý người dùng
TO user [, user| role, PUBLIC...]
7.3 Cấp và thu hồi quyền
Cấp quyền hệ thống
Ví du: Cấp quyền tạo bảng và view cho người dùng user_db.
GRANT create table, create view
TO user_db;
Ví dụ: Cấp quyền tạo bảng, view và sequence cho nhóm quyền manager.
GRANT create table, create view, create sequence
TO manager;
7 - 11/19
Chương 7. Quản lý người dùng
7.3.1 Cấp quyền
7.3 Cấp và thu hồi quyền
Cấp quyền đối tượng
7.3.1 Cấp quyền
object_priv [(columns)] object {user|role|PUBLIC}
object_priv
là quyền đối tượng được cấp.
object
là đối tượng được cấp quyền.
PUBLIC
cấp quyền đối tượng dùng chung.
WITH GRANT OPTION người được cấp quyền có thể cấp quyền đối tượng cho những người dùng, nhóm quyền khác. 7 - 12/19
Chương 7. Quản lý người dùng
GRANT ON TO [WITH GRANT OPTION];
7.3 Cấp và thu hồi quyền
Cấp quyền đối tượng
Ví dụ: Cấp quyền cập nhật trên các cột deptname và location cho người dùng Scott và nhóm quyền manager.
GRANT update (dname, loc)
ON Dept
TO
scott, manager
7 - 13/19
Chương 7. Quản lý người dùng
7.3.1 Cấp quyền
7.3 Cấp và thu hồi quyền
Một số nguyên tắc khi cấp quyền
đối tượng được cấp quyền phải nằm trong schema của người dùng hoặc người được cấp quyền phải có quyền đối tượng WITH GRANT OPTION.
Một đối tượng owner có thể cấp bất kỳ quyền đối tượng nào lên đối tượng của những người dùng hay nhóm quyền bất kỳ trong cơ sở dữ liệu.
7 - 14/19
Chương 7. Quản lý người dùng
7.3.1 Cấp quyền
7.3 Cấp và thu hồi quyền
7.3.2 Thu hồi quyền
{privilege [, privilege...]|ALL} object {user[, user...]|role|PUBLIC}
privilege quyền đã cấp
object
là đối tượng bị thu hồi quyền.
user
người dùng bị thu hồi quyền.
CASCADE CONSTRAINTS là yêu cầu bắt buộc để xóa tất cả các ràng buộc toàn vẹn dữ liệu trên các đối tượng.
7 - 15/19
Chương 7. Quản lý người dùng
REVOKE ON FROM [CASCADE CONSTRAINTS]
7.3 Cấp và thu hồi quyền
Một số nguyên tắc khi cấp quyền
Ví dụ: Thu hồi quyền select và insert đã cấp cho scott trên bảng Dept.
REVOKE
select, insert
ON
dept
FROM
scott
7 - 16/19
Chương 7. Quản lý người dùng
7.3.2 Thu hồi quyền
7.4 Liên kết cơ sở dữ liệu
- là một con trỏ xác định một đường dẫn giao tiếp giữa csdl Oracle server với csdl server khác.
7 - 17/19
Chương 7. Quản lý người dùng
- cho phép người dùng cục bộ có thể truy cập đến cơ sở dữ liệu từ xa
7.4 Liên kết cơ sở dữ liệu
Tạo liên kết cơ sở dữ liệu
CREATE PUBLIC DATABASE LINK Server
Ví dụ tạo liên kết đến csdl sales tại server hq.acme.com.
USING Database
7 - 18/19
Chương 7. Quản lý người dùng
CREATE PUBLIC DATABASE LINK hq.acme.com USING 'sales'
7.4 Liên kết cơ sở dữ liệu
Sau khi một liên kết cơ sở dư˜ liệu được tạo, chúng ta có thể viết câu lệnh SQL sử dụng cơ sở dữ liệu liên kết đó.
Ví dụ: Truy vấn dư˜ liệu bảng emp từ cơ sở dư˜ liệu fred tại server hq.acme.com.
SELECT * FROM fred.emp@HQ.ACME.COM
7 - 19/19
Chương 7. Quản lý người dùng
Sử dụng cơ sở dữ liệu liên kết