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