1. Trang chủ
  2. » Giáo Dục - Đào Tạo

BÀI tập lớn môn cơ sở dữ liệu II đề tài quản lý người dùng trong oracle

26 5 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 26
Dung lượng 764,25 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Các nội dung trong quản lý người dùng - Tạo và quản lý tài khoản người dùng CSDL  Xác thực người dùng  Gán vùng dữ liệu mặc định cho người dùng - Gán và phân quyền cho người dùng - Tạo

Trang 1

HỌC VIỆN NGÂN HÀNG KHOA HỆ THỐNG THÔNG TIN QUẢN LÝ

BÀI TẬP LỚN MÔN Cơ sở dữ liệu II

ĐỀ TÀI: Quản lý người dùng trong Oracle

Giảng viên hướng dẫn: Giang Thị Thu Huyền

Hà Nội – 03/2021

Trang 2

Danh sách thành viên nhóm 11

ST

Ghi chú

1 Trần Thị Hải Yến (Nhóm

2 Nguyễn Thị Minh Nguyệt 22A4040031

6 Nguyễn Vũ Hoàng Long 22A4040109

Trang 3

Mục lục

Lời mở đầu 1

I Giới thiệu về quản lý người dùng 2

1 Quản lý người dùng là gì? 2

2 Các nội dung trong quản lý người dùng 2

II Tablespace 2

III Schema 3

IV Account (tài khoản) 4

1 Tạo tài khoản người dùng 4

2 Xác thực tài khoản người dùng(Authenticating Users) 6

3 Sửa đổi Tài khoản Người dùng 6

4 Khóa và mở khóa tài khoản người dùng 7

5 Hết hạn mật khẩu người dùng 8

6 Xóa tài khoản người dùng 8

V Privilege (quyền) 9

VI Role 12

VII Profile 14

1 Giới thiệu profile 14

1.1 Khái niệm 14

1.2 Các loại tài nguyên 14

1.3 Sử dụng profile 14

2 Quản lý profile 15

2.1 Tạo profile 15

2.2 Thiết lập các giới hạn về tài nguyên 15

2.3 Gán profile cho user 16

2.4 Thay đổi thông tin trong profile 17

2.5 Huỷ profile 18

VIII Bảo mật mật khẩu 18

1 Tạo profile quản lý mật khẩu 19

Trang 4

2 Các tham số điều chỉnh mật khẩu 20

3 Hàm kiểm tra mật khẩu 20

IX Hạn mức 20

X Kết luận 21

XI Tài liệu tham khảo 22

Trang 5

Lời mở đầu

Mỗi cơ sở dữ liệu (CSDL) có một danh sách những người dùng (user) cơ sở

dữ liệu Tuy nhiên không phải người dùng nào cũng có quyền truy cập toàn bộ cơ

sở dữ liệu mà chỉ được xem, thao tác với một phần trong đó Vì vậy, quản trị viên

cơ sở dữ liệu (gọi tắt là DBA) cần nhằm ngăn chặn các truy cập không được phép,

đảm bảo dữ liệu được toàn vẹn và không bị thất thoát – bằng cách quản lý người dùng

Trang 6

I Giới thiệu về quản lý người dùng

1 Quản lý người dùng là gì?

- Quản lý người dùng (user management) là tạo và quản lý thông tin đăng nhập

đồng thời giới hạn truy cập cho từng người dùng

2 Các nội dung trong quản lý người dùng

- Tạo và quản lý tài khoản người dùng CSDL

 Xác thực người dùng

 Gán vùng dữ liệu mặc định cho người dùng

- Gán và phân quyền cho người dùng

- Tạo và quản lý các role

- Tạo và quản lý các profile

 Thực thi các tính năng an toàn mật khẩu

 Quản lý tài nguyên của người dùng

Trước khi đi vào các nội dung của quản lý người dùng trong Oracle, ta cần nắmđược một số nội dung sau:

II Tablespace

- Một CSDL Oracle được chia thành những đơn vị lưu trữ luận lý được gọi là các

tablespace, nhằm mục đích gom nhóm các cấu trúc luận lý có liên quan với

nhau

- Mỗi CSDL có 1 hoặc nhiều các tablespace Mỗi tablespace chứa 1 hoặc nhiều các datafile Datafile là các cấu trúc vật lý tương thích với hệ điều hành bên dưới, dùng để lưu trữ dữ liệu của các cấu trúc luận lý trong tablespace chứa nó Kích thước tổng cộng của các datafile chính là dung tích lưu trữ tổng cộng của

tablespace đó.

Một CSDL có 2 tablespace SYSTEM và USERS.

Tablespace SYSTEM chứa 2 datafile là DATA1.ORA và DATA2.ORA

Trang 7

Một tablespace chứa 2 datafile.

Bên trong các datafile là các đối tượng, như là table và index.

Các đối tượng trong tablespace có thể nằm trên vài datafile.

- Một tablespace có thể không chứa hoặc chứa nhiều segment (Segment: các đối

tượng lưu trữ bên ngoài data dictionary, ví dụ: table, index…)

- Có 2 loại tablespace:

System tablespace:

 Mọi CSDL Oracle đều có 2 system tablespace là SYSTEM và SYSAUX,được tạo ra một cách tự động

Chứa thông tin về các data dictionary views, các định nghĩa của stored

procedures, packages, và các database triggers dưới dạng PL/SQL program units, SYSTEM rollback segment,…

 Không nên chứa dữ liệu người dùng trong tablespace này mặc dù có thể

 Non-system tablespace:

 Dùng để chứa các loại dữ liệu còn lại, đặc biệt là các dữ liệu của ngườidùng

- Một cách phân loại khác của tablespace:

Temporary tablespace: được sử dụng để dành riêng cho các thao tác sắp

xếp dữ liệu

Permanent tablespace: Các tablespaces không phải là temporary

tablespaces được gọi là các permanent tablespaces Các permanenttablespace được sử dụng để lưu trữ dữ liệu trong database

III Schema

Trang 8

- Schema là một tập hợp các đối tượng cơ sở dữ liệu (vd: table, view, index,…).

Mỗi schema được sở hữu bởi một user và có cùng tên với user

Không có mối quan hệ nào giữa schema và tablespace Các đối tượng thuộc

1 schema có thể nằm trên các tablespace khác nhau và 1 tablespace có thểchứa các đối tượng thuộc nhiều schema khác nhau

IV Account (tài khoản)

Để người dùng truy cập cơ sở dữ liệu của bạn, bạn phải tạo tài khoản người dùng

và cấp đặc quyền truy cập cơ sở dữ liệu thích hợp cho các tài khoản đó Tài khoản người dùng được xác định bằng tên người dùng và xác định các thuộc tính của người dùng, bao gồm các thuộc tính sau:

1 Tạo tài khoản người dùng

Đi tới trang Users

Trên trang Users, nhấp vào Create

 Trang Create Users xuất hiện, hiển thị trang con General

Trang 9

Trong trường Name , hãy nhập Nick.

Trong danh sách Profile, chấp nhận giá trị DEFAULT Cài đặt này chỉ định

chính sách mật khẩu mặc định cho user.

 Chấp nhận giá trị mặc định Password trong danh sách Authentication (Xácthực)

Ở các trường Enter password và Confirm Password, hãy nhập mật khẩu.

Không chọn Expire password now (Hết hạn mật khẩu ngay bây giờ) Nếu

trạng thái tài khoản được đặt thành hết hạn, thì người dùng hoặc người quản trị

cơ sở dữ liệu phải thay đổi mật khẩu trước khi người dùng có thể đăng nhập vào

(Tùy chọn) Bên cạnh trường Temporary Tablespace, nhấp vào biểu tượng đèn pin, chọn không gian bảng TEMP , sau đó nhấp vào SELECT.

Nếu bạn để trống trường Temporary Tablespace, thì Nick sẽ được gán khônggian bảng tạm thời mặc định cho cơ sở dữ liệu, vùng này nằm TEMP trong cơ

sở dữ liệu mới được cài đặt

Đối với tùy chọn Status, hãy chấp nhận lựa chọn mặc định là Unlocked (Đã mở

khóa).

Sau đó, bạn có thể khóa tài khoản người dùng để ngăn người dùng đăng nhậpbằng tài khoản đó Để tạm thời từ chối quyền truy cập vào tài khoản ngườidùng, việc khóa tài khoản người dùng tốt hơn là xóa tài khoản, vì xóa tài khoảncũng xóa tất cả các đối tượng lược đồ do người dùng sở hữu

 Cấp vai trò, đặc quyền hệ thống và đặc quyền đối tượng cho người dùng

 Gán hạn mức 10 MB trên vùng tablespace USERS

 Nếu bạn không bấm OK trong khi gán hạn mức vùng bảng (bước trước), thì

bấm OK ngay để tạo người dùng.

Ví dụ

Trang 10

CREATE USER "LINHNT" PROFILE "DEFAULT" IDENTIFIED BY

"*******"

DEFAULT TABLESPACE "LINHNT" TEMPORARY TABLESPACE "TEMP"

ACCOUNT UNLOCK GRANT "CONNECT" TO "LINHNT"

2 Xác thực tài khoản người dùng(Authenticating Users)

- Password: đây còn được gọi là việc xác thực bằng Oracle database Mỗingười dùng liên kết với một mật khẩu và người dùng phải cung cấp mật khẩukhi đăng nhập

CREATE USER rajesh IDENTIFIED BY welcome;

- External: là việc xác thực bởi Hệ điều hành User có thể kết nối với Oracledatabase mà không cần username hay password

CREATE USER ops$oracle IDENTIFIED BY EXTERNALLY;

- Global: với việc sử dụng Oracle Advance Security option (tuỳ chọn bảo mật

nâng cao Oracle), Global authentication xác nhận người dùng bằng sinh trắc

học, chứng thực x509, chữ ký số và dịch vụ thư mục Internet Oracle

CREATE USER spy_master IDENTIFIED GLOBALLY AS

'CN=spy_master, OU=tier2, O=security, C=US' ;

3 Sửa đổi Tài khoản Người dùng

Giả sử muốn loại bỏ các giới hạn Hạn mức cho người dùng User trên defaulttablespace – USERS => phải sửa đổi tài khoản người dùng

Trang 11

Để sửa đổi user:

 Đi tới trang Users

Trong cột Select , chọn tài khoản Nick, sau đó nhấp vào Edit.

Nếu bạn không thấy Nick, thì có thể nó đang ở một trang khác Trong trườnghợp này, hãy thực hiện một trong các thao tác sau:

Ngay phía trên danh sách user accounts, nhấp vào Next để xem trang tiếp theo Tiếp tục nhấp vào Next cho đến khi bạn thấy tài khoản Nick

 Sử dụng Search area of the page để tìm kiếm tài khoản Trong

trường Object Name, nhập các chữ cái NI , rồi bấm Go.

Sau đó, bạn có thể chọn tài khoản Nick và nhấp vào Edit.

Trang Edit User xuất hiện và hiển thị các thuộc tính chung cho Nick

Ở đầu trang, hãy chọn trang con Quota (Hạn mức)

Trong cột Quota cho vùng bảng USERS, hãy chọn Unlimited từ danh sách, sau đó bấm Apply.

Một thông báo xuất hiện, cho biết rằng Nick người dùng đã được sửa đổithành công

4 Khóa và mở khóa tài khoản người dùng

Để tạm thời từ chối quyền truy cập vào cơ sở dữ liệu cho một tài khoản người dùng

cụ thể, bạn có thể khóa tài khoản người dùng Nếu người dùng sau đó cố gắng kếtnối, thì cơ sở dữ liệu sẽ hiển thị thông báo lỗi và không cho phép kết nối Bạn có thể

mở khóa tài khoản người dùng khi bạn muốn cho phép truy cập lại cơ sở dữ liệucho người dùng đó

Để khóa hoặc mở khóa tài khoản người dùng:

 Đi tới trang Users

Trong cột Select, bấm vào tài khoản người dùng mong muốn.

 Nếu bạn không thấy tài khoản người dùng mong muốn, thì tài khoản đó có thể

nằm trên một trang khác Trong trường hợp này, hãy sử dụng nút Next để xem

các trang bổ sung hoặc sử dụng Search area of the page để tìm kiếm

 Làm một điều trong số sau đây:

Để khóa tài khoản, hãy chọn Lock User từ danh sách Actions, sau đó bấm Go.

Trang 12

Để mở khóa tài khoản, hãy chọn Unlock User từ danh sách Actions, sau đó bấm Go.

Một thông báo xác nhận xuất hiện

Nhấp vào Yes.

5 Hết hạn mật khẩu người dùng

Khi bạn hết hạn mật khẩu người dùng, người dùng được nhắc thay đổi mật khẩu củamình vào lần tiếp theo người dùng đó đăng nhập Các lý do khiến mật khẩu hết hạnbao gồm những điều sau:

 Mật khẩu người dùng bị xâm phạm

 Bạn có một chính sách bảo mật yêu cầu người dùng thay đổi mật khẩu của họthường xuyên

Ghi chú: Bạn có thể tự động hóa việc tự động hết hạn mật khẩu của người

dùng sau một khoảng thời gian nhất định

 Người dùng đã quên mật khẩu của mình

Trong trường hợp thứ ba này, bạn sửa đổi tài khoản người dùng, gán mật khẩu tạmthời mới và hết hạn sử dụng Sau đó, người dùng đăng nhập bằng mật khẩu tạm thời

và được nhắc chọn mật khẩu mới

Để hết hạn mật khẩu người dùng:

 Đi tới trang Users

Trong cột Select, bấm vào tài khoản người dùng mong muốn.

Nếu bạn không thấy tài khoản người dùng mong muốn, thì tài khoản đó cóthể nằm trên một trang khác Trong trường hợp này, hãy sử dụng nút Next đểxem các trang bổ sung hoặc sử dụng Search area of the page để tìm kiếm

Để hết hạn mật khẩu cho tất cả người dùng, hãy chọn tùy chọn Multiple, sau

đó nhấp vào Select All.

Chọn Expire Password từ danh sách Actions, sau đó bấm Go.

 Một thông báo xác nhận xuất hiện

Nhấp vào Yes để hoàn thành.

6 Xóa tài khoản người dùng

Bạn phải thận trọng khi quyết định xóa tài khoản người dùng, vì hành động nàycũng xóa tất cả các đối tượng lược đồ do người dùng sở hữu Để ngăn người dùng

Trang 13

đăng nhập vào cơ sở dữ liệu trong khi vẫn giữ nguyên các đối tượng lược đồ, hãykhóa tài khoản người dùng thay thế

Để xóa tài khoản của người dùng:

 Đi tới trang Users

Trong cột Select, chọn tài khoản người dùng, sau đó bấm Delete.

Nếu bạn không thấy tài khoản người dùng mong muốn, thì tài khoản đó cóthể nằm trên một trang khác Trong trường hợp này, hãy sử dụng nút Next đểxem các trang bổ sung hoặc sử dụng Search area of the page để tìm kiếm.Một trang xác nhận xuất hiện

Nhấp vào Yes để xác nhận việc xóa tài khoản người dùng.

7 Account mặc định

SYS

Có role DBA

Có toàn quyềnĐược phép tắt/bật dịch vụQuản lý data dictionaryQuản lý Automatic Workload Repository (AWR)

V Privilege (quyền)

- Quyền là 1 sự cho phép thực hiện 1 câu lệnh SQL nào đó hoặc được phép truy cập đến vào đối tượng của người dùng khác (vd: quyền tạo bảng CREATE TABLE, quyền connect đến cơ sở dữ liệu CREATE SESSION, quyền

SELECT trên một bảng cụ thể nào đó,…)

- Lưu ý:

Chỉ cấp cho user chính xác những quyền mà user cần đến

Việc cấp dư thừa những quyền không cần thiết có thể gây nguy hại cho việc bảo mật hệ thống

- Có 2 loại quyền:

 Quyền hệ thống (System Privilege): cho phép người dùng thực hiện một số

thao tác đối với cơ sở dữ liệu Ví dụ: quyền ALTER SYSTEM, quyền

CREATE TABLE, quyền DELETE ANY TABLE (xóa các hàng của bất

kỳ bảng nào trong CSDL),…

Trang 14

SESSION CREATE SESSION

Cho phép người được cấp kết nối với cơ

sở dữ liệu Đặc quyền này là bắt buộc đối với tài khoản người dùng, nhưng có thể

Trang 15

không mong muốn cho chủ sở hữu ứng dụng các tài khoản.

ALTER SESSION

Cho phép người được cấp thực hiện ALTER SESSION các câu lệnh

ALTER RESOURCE COST Cho phép người được cấp quyền thay đổi

cách Oracle tính toán chi phí tài nguyên cho các hạn chế tài nguyên trong hồ sơ

RESTRICTED SESSION Giới hạn session

 User có thể cấp 1 quyền hệ thống nếu có một trong các điều kiện sau:

 User đã được cấp quyền hệ thống đó với tùy chọn WITH ADMIN OPTION

 User có quyền GRANT ANY PRIVILEGE

Quyền đối tượng (Object Privilege): cho phép người dùng truy cập và thực hiện một số thao tác đối với đối tượng trong cơ sở dữ liệu Ví dụ: Quyền xóa các hàng dữliệu khỏi bảng Department

 Có nhiều quyền đối tượng khác nhau dành cho các loại đối tượng schema khác nhau

 Dùng để quản lý việc truy xuất đến các đối tượng cụ thể nào đó User có thểcấp 1 quyền đối tượng nếu có một trong các điều kiện sau:

 User có tất cả mọi quyền đối tượng trên tất cả các đối tượng thuộc

schema của mình Vì vậy user có quyền cấp bất kỳ quyền đối tượng trên bất kỳ đối tượng nào thuộc sở hữu của mình cho bất cứ user nào khác

 User có quyền GRANT ANY OBJECT PRIVILEGE

 Sử dụng lệnh Grant

Trang 16

GRANT SELECT,INSERT,UPDATE,DELETE ON customers TO

sales_manager;

 Public: là một user đặc biệt

GRANT SELECT ON customers TO public;

 With Grant Option: cho phép người được gán quyền có thể gán các quyền đó cho user khác

GRANT SELECT ON sales.customers TO sales admin

WITH GRANT OPTION;

REVOKE DELETE OH STUDENT FROM HR;

REVOKE DELETE, INSERT, UPDATE OH STUDENT FROM HR;

REVOKE ALL OH STUDENT FROM HR;

VI Role

- Role là một nhóm quyền

Trang 17

- Role được gán cho các user hoặc các role khác

- Role giúp cho việc quản trị người dùng dễ dàng và tiết kiệm công sức hơn

- User có thể cấp 1 role nếu có một trong các điều kiện sau:

 User đã tạo ra role đó

 User đã được cấp role đó với tùy chọn WITH ADMIN OPTION

 User có quyền GRANT ANY ROLE

I.1.Quản lý role

 Tạo và gắn quyền cho role

CREATE ROLE Manager;

GRANT CREATE SESSION, CREATE TABLE TO Manager WITH ADMIN OPTION;

 Gỡ quyền của role

REVOKE CREATE SESSION FROM Manager;

 Bật, tắt role

SET ROLE Manager;

SET ROLE ALL EXCEPT Manager;

SET ROLE NONE ;

Trang 18

 Gắn role cho user

GRANT Manager to NhamCT;

- Tại một thời điểm, mỗi user chỉ được gán DUY NHẤT một profile

- Trong một CSDL có thể tạo nhiều profile Một profile mặc định sẽ đượcdùng để gán cho những user không được gán profile một cách tường minh.(Lưu ý rằng các giá trị mặc định đều được thiết lập là “unlimited”)

1.2 Các loại tài nguyên

Một profile có thể mô tả các loại giới hạn tài nguyên sau:

- Số lượng các session đồng thời mà user có thể thực hiện

- Thời gian xử lý CPU cho một session của user đó hoặc cho một cuộc gọi(call) tới Oracle bởi 1 câu lệnh SQL

- Số lần đọc luận lý I/O cho một session của user đó hoặc cho một cuộc gọi(call) tới Oracle bởi 1 câu lệnh SQL

- Lượng thời gian nhàn rỗi cho session của user

- Lượng thời gian connect cho một session

- Các quy định về password (số lần cố gắng login thất bại, thời gian hiệu lựccủa 1 password,…)

1.3 Sử dụng profile

Ngày đăng: 18/10/2022, 04:51

HÌNH ẢNH LIÊN QUAN

 Nếu bạn không bấm OK trong khi gán hạn mức vùng bảng (bước trước), thì bấm OK ngay để tạo người dùng. - BÀI tập lớn môn cơ sở dữ liệu II đề tài quản lý người dùng trong oracle
u bạn không bấm OK trong khi gán hạn mức vùng bảng (bước trước), thì bấm OK ngay để tạo người dùng (Trang 10)
kỳ bảng nào trong CSDL),… - BÀI tập lớn môn cơ sở dữ liệu II đề tài quản lý người dùng trong oracle
k ỳ bảng nào trong CSDL),… (Trang 14)
w