7.1.1 Quyền Privileges 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.. 7.1.2 Nhóm quyền RoleTên một nhóm các quyền hạn có liên quan với nhau
Trang 1TẠO VÀ QUẢN LÝ NGƯỜI
DÙNG
- Lý thuyết: 2 tiết
- Thực hành: 2 tiết
Trang 27.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.4 Liên kết cơ sở dữ liệu
Quản lý người dùng
Trang 37.1.1 Quyền (Privileges)
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
mức hệ thống
mức đối tượng
Oracle mặc định có 2 user:
SYS: Mk là change_on_install
SYSTEM: Mk là MANAGER
7.1 Quyền/Nhóm quyền
Trang 47.1.1 Quyền (Privileges)
Mức hệ thống
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.1 Quyền/Nhóm quyền
Trang 57.1.1 Quyền (Privileges)
Mức đối tượng:
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.1 Quyền/Nhóm quyền
Trang 67.1.2 Nhóm quyền (Role)
Tên một nhóm các quyền hạn có liên quan với nhau
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.1 Quyền/Nhóm quyền
Trang 77.1.2 Nhóm quyền (Role)
Tạo nhóm quyền:
CREATE ROLE role [IDENTIFY BY password];
role Tên nhóm quyền
password Mật khẩu
Ví dụ: Tạo nhóm quyền có tên là manager.
CREATE ROLE manager
7.1 Quyền/Nhóm quyền
Trang 8 Tạo người dùng:
CREATE USER user IDENTIFIED BY password;
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.2 Tạo và quản lý người dùng
Trang 9 Thay đổi mật khẩu
ALTER USER user IDENTIFIED BY password
Ví dụ: Thay đổi mật khẩu của user_db thành pwuser
ALTER USER user_db IDENTIFIED BY pwuser
7.2 Tạo và quản lý người dùng
Trang 107.3.1 Cấp quyền
Cấp quyền hệ thống
GRANT privilege [, privilege ]
TO user [, user| role, PUBLIC ]
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.3 Cấp và thu hồi quyền
Trang 117.3.1 Cấp 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.3 Cấp và thu hồi quyền
Trang 127.3.1 Cấp quyền
Cấp quyền đối tượng
GRANT object_priv [(columns)]
ON object
TO {user|role|PUBLIC}
[WITH GRANT OPTION];
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
7.3 Cấp và thu hồi quyền
Trang 137.3.1 Cấp 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.3 Cấp và thu hồi quyền
Trang 147.3.1 Cấp 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.3 Cấp và thu hồi quyền
Trang 157.3.2 Thu hồi quyền
REVOKE {privilege [, privilege ]|ALL}
ON object FROM {user[, user ]|role|PUBLIC}
[CASCADE CONSTRAINTS]
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.3 Cấp và thu hồi quyền
Trang 167.3.2 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.3 Cấp và thu hồi quyền
Trang 17- 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.
- 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
Trang 18Tạo liên kết cơ sở dữ liệu
CREATE PUBLIC DATABASE LINK Server
USING Database
Ví dụ tạo liên kết đến csdl sales tại server hq.acme.com
CREATE PUBLIC DATABASE LINK hq.acme.com
USING 'sales'
7.4 Liên kết cơ sở dữ liệu
Trang 19Sử dụng cơ sở dữ liệu liên kết
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.4 Liên kết cơ sở dữ liệu