Tải bản đầy đủ (.pdf) (9 trang)

CÁC QUYỀN HỆ THỐNG

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (246.07 KB, 9 trang )

CÁC QUYỀN HỆ THỐNG
1.1.PHÂN LOẠI QUYỀN
Oracle database có khoảng 80 quyền hệ thống và con số này đang tiếp tục tăng lên.
Các quyền hệ thống có thể chia ra như sau:
 Các quyền cho phép thực hiện các thao tác mức độ rộng trên hệ thống ví dụ như:
CREATE SESSION, CREATE TABLESPACE.
 Các quyền cho phép quản lý các đối tượng thuộc về một user ví dụ: CREATE
TABLE
 Các quyền cho phép quản lý các đối tượng trong bất cứ một schema nào ví dụ
câu lệnh: CREATE ANY TABLE.
Có th
ể điều khiển các quyền bằng cách câu lệnh GRAND hay REVOKE.
Chú ý:
Các users có quyền ANY đều có thể truy xuất các bảng thuộc data dictionary ngoại trừ
các tiền tố USER_ALL và bất cứ views nào trên đó các quyền được gán cho PUBLIC.
1.1.1.
Các quyền hệ thống
Phân loại Ví dụ
INDEX
CREATE ANY INDEX
ALTER ANY INDEX
DROP ANY INDEX
TABLE
CREATE TABLE
CREATE ANY TABLE
ALTER ANY TABLE
DROP ANY TABLE
SELECT ANY TABLE
UPDATE ANY TABLE
DELETE ANY TABLE
SESSION


CREATE SESSION
ALTER SESSION
RESTRICTED SESSION
TABLESPACE
CREATE TABLESPACE
ALTER TABLESPACE
DROP TABLESPACE
UNLIMITED TABLESPACE
 Không có quyền CREATE INDEX
 Các quyền như CREATE TABLE, CREATE PROCEDURE, CREATE CLUSTER bao
g
ồm cả các quyền xoá các đối tượng đó.
 CREATE TABLE bao gồm các quyền CREATE INDEX và ANALYZE, Các user cần
có đủ quota trên tablespace hay phải được gán UNLIMITED TABLESPACE .
 Để truncate các bảng thì quyền DROP ANY TABLE được sử dụng.
1.1.2.
Gán các quyền hệ thống
Sử dụng cú pháp sau đây để gán quyền hệ thống cho user
Cú pháp:
GRANT {system_priv|role}
[, {system_priv|role} ]...
TO {user|role|PUBLIC}
[, {user|role|PUBLIC} ]...
[WITH ADMIN OPTION]
Với:
system_priv chỉ định quyền hệ thống sử dụng
role ch
ỉ định tên chức danh được gán
PUBLIC gán quy
ền hệ thống cho tất cả các user

WITH ADMIN OPTION
cho phép user được gán quyền có thể gán
quy
ền hay chức danh đó cho user khác.
Ví dụ:
GRANT CREATE SESSION, CREATE TABLE
TO user1;
Ho
ặc
GRANT CREATE SESSION TO scott
WITH ADMIN OPTION;
Một số hướng dẫn
 Để có quyền hệ thống, user cần được gán quyền có kèm thêm tuỳ chọn WITH
ADMIN OPTION
.
 Người được gán với tuỳ chọn WITH ADMIN OPTION có thể tiếp tục gán cho một
user khác quy
ền hệ thống với WITH ADMIN OPTION.
 Bất cứ một user nào có quyền GRANT ANY ROLE có thể gán bất kì quyền nào
trong database.
 Người được gán với tuỳ chọn WITH ADMIN OPTION có thể gán quyền hay lấy lại
các quy
ền từ bất cứ user hay role nào trong database.
1.1.3.
Xác nhận user bằng password file
Trong chương quản lý database, ta đã biết đến hai quyền hệ thống là SYSDBA và
SYSOPER. Các quyền này được sử dụng chỉ định rằng việc xác lập user thông qua
password file.
Chỉ có người quản trị hệ thống mới có thể có khả năng connect vào database với quyền
qu

ản trị. Kết nối với quyền SYSDBA sẽ cho phép user có quyền thực thi không giới hạn
đối với các hoạt động trên database hay đối tượng trong database.
Bảng sau đây phân biệt giữa hai loại quyền SYSDBA và SYSOPER
Phân loại Ví dụ
SYSOPER
STARTUP
SHUTDOWN
ALTER DATABASE OPEN | MOUNT
ALTER DATABASE BACKUP CONTROLFILE
ALTER TABLESPACE BEGIN/END BACKUP
RECOVER DATABASE,
ALTER DATABASE ARCHIVELOG
RESTRICTED SESSION
SYSDBA
SYSOPER privileges WITH ADMIN OPTION
CREATE DATABASE
RECOVER DATABASE UNTIL
Sau khi tạo password file bằng công cụ password và khởi tạo tham số trong initialization
file:
REMOTE_LOGIN_PASSWORD_FILE=EXCLUSIVE
Người quản trị hệ thống có thể thêm các user vào trong password file bằng cách gán
các quy
ền SYSDBA và SYSOPER cho user.
Tu
ỳ chọn WITH ADMIN OPTION không được sử dụng cho việc gán các quyền này. Chỉ
có user hiện đang được nối đến database với quyền SYSDBA mới có thể gán và lấy lại
SYSDBA hay SYSOPER cho các user khác. Các quyền này không thể được gán cho một
role b
ởi vì các role không tồn tại khi database startup.
View

V$PWFILE_USERS chứa thông tin về các user được gán quyền SYSDBA và
SYSOPER.
SVRMGR> SELECT * FROM v$pwfile_users;
USERNAME SYSDB SYSOP
----------------- --------- -----------
INTERNAL TRUE TRUE
SYS TRUE TRUE
2 rows selected.
1.1.4.
Thông tin về các quyền
Thông tin về các quyền được lấy từ các view data dictionary: DBA_SYS_PRIVS và
SESSION_PRIVS.
Các thông tin bao g
ồm:
 DBA_SYS_PRIVS: GRANTEE, PRIVILEGE, ADMIN OPTION
 SESSION_PRIVS: PRIVILEGE
Ví dụ:
L
ịêt kê các quyền hệ thống được gán cho user và role:
SVRMGR>SELECT * FROM DBA_SYS_PRIVS;
GRANTEE PRIVILEGE ADM
---------- --------------- -----
...
SCOTT SELECT ANY TABLE NO
SYS DELETE ANY TABLE NO
SYS EXECUTE ANY TYPE NO
SYS INSERT ANY TABLE NO
SYS SELECT ANY SEQUENCE NO
SYS SELECT ANY TABLE YES
SYS UPDATE ANY TABLE NO

SYSTEM UNLIMITED TABLESPAC YES
...
View SESSION_PRIVS liệt kê các quyền có sẵn cho session hiện tại cho một user.
SVRMGR> SELECT * FROM session_privs;
PRIVILEGE
----------------------------------------
CREATE SESSION
ALTER SESSION
CREATE TABLE
SELECT ANY TABLE
CREATE CLUSTER
CREATE SYNONYM
CREATE VIEW
CREATE SEQUENCE
CREATE DATABASE LINK
CREATE PROCEDURE
CREATE TRIGGER
CREATE TYPE
12 rows selected.
1.2.QUẢN LÝ QUYỀN
1.2.1.
Thu hồi các quyền hệ thống
Sử dụng cú pháp sau đây để lấy lại các quyền hệ thống.
Cú pháp:
REVOKE {system_priv|role}
[, {system_priv|role} ]...
FROM {user|role|PUBLIC}
[, {user|role|PUBLIC} ]...
Ví dụ:
REVOKE CREATE TABLE FROM user1;

Ho
ặc:
REVOKE CREATE SESSION FROM scott;
Chú ý:
 Câu lệnh REVOKE chỉ có thể lấy lại quyền của mà đã được gán trực tiếp bằng
câu l
ệnh GRANT.
 Thu hồi các quyền hệ thống có thể ảnh hưởng đến một số các đối tượng phụ
thuộc. Ví dụ: nếu quyền SELECT ANY TABLE được gán cho user và user đó
đượ
c gán các thủ tục hay view mà sử dụng các bảng thuộc về các user khác thì
vi
ệc lấy lại các quyền sẽ làm cho các thủ tục hay view đó trở nên không hợp lệ.
Thu hồi các quyền sử dụng có WITH ADMIN OPTION
Hai hình dưới đây sử minh hoạ việc thu hồi các quyền hệ thống sử dụng WITH ADMIN
OPTION
.
Hình vẽ 1.
Thu hồi quyền – trước khi thu hồi

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×