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à
Trang 1HỌ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 22 Nguyễn Thị Minh Nguyệt 22A4040031
3 Mai Thị Huyền 22A4040008
4 Nguyễn Tân Thanh 22A4040037
6 Nguyễn Vũ Hoàng Long 22A4040109
Trang 3Mục lục
Lời mở đầu
I Giới thiệu về quản lý người dùng
1 Quản lý người dùng là gì?
2 Các nội dung trong quản lý người dùng
II Tablespace
III Schema
IV Account (tài khoản)
1 Tạo tài khoản người dùng
2 Xác thực tài khoản người dùng(Authenticating Users)
3 Sửa đổi Tài khoản Người dùng
4 Khóa và mở khóa tài khoản người dùng
5 Hết hạn mật khẩu người dùng
6 Xóa tài khoản người dùng
V Privilege (quyền)
VI Role
VII Profile
1 Giới thiệu profile
1.1 Khái niệm
1.2 Các loại tài nguyên
1.3 Sử dụng profile
2 Quản lý profile
2.1 Tạo profile
2.2 Thiết lập các giới hạn về tài nguyên
2.3 Gán profile cho user
2.4 Thay đổi thông tin trong profile
2.5 Huỷ profile
VIII Bảo mật mật khẩu
Trang 42 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 5Lờ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 6I 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:
- 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 7Mộ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…)
Không nên chứa dữ liệu người dùng trong tablespace này mặc dù có thể system tablespace:
Non- 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ười dù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 permanent tablespace được sử dụng để lưu trữ dữ liệu trongdatabase
Trang 8III Schema
- 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:
Tên duy nhấtDùng phương thức xác thực nhất định Có một tablespace mặc định
Có một tablespace tạm
Có danh sách các tài nguyên mà user được sử dụng Có trạng thái
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ác thự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ậtkhẩu trước khi người dùng có thể đăng nhập vào cơ sở dữ liệu
(Tùy chọn) Bên cạnh trường Default Tablespace, hãy nhấp vào biểu tượng đèn pin, chọn tablespace USERS, sau đó nhấp vào SELECT.
Tất cả các đối tượng mà user tạo sau đó sẽ được tạo trong tablespace USERStrừ khi có chỉ định khác Nếu để trống trường Default Tablespace, thì Nick sẽđược gán không gian bảng mặc định cho cơ sở dữ liệu, tablespace USERS nằmtrong cơ sở dữ liệu mới được cài đặt
(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 10CREATE 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ỗi ngườidù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ẩu khi đă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 Oracle
database 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 default tablespace – 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ường hợ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 đổi thà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ệu chongườ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
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ãy khó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.
Không có toàn quyền như SYS
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 14sở dữ liệu Đặc quyền này là bắt buộc đốivới tài khoản người dùng, nhưng có thể
Trang 15không mong muốn cho chủ sở hữu ứngdụng các tài khoả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êncho các hạn chế tài nguyên trong hồ sơ
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ỳ đốitượng nào thuộc sở hữu của mình cho bất cứ user nào khác
Trang 16 Sử dụng lệnh Grant
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;
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ẽ được dù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ênMộ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ực của
1 password,…)
1.3 Sử dụng profile
Trang 19- Hạn chế users thực hiện các thao tác đòi hỏi sử dụng nhiều tài nguyên hệ thống.
- Đảm bảo cắt kết nối của users với database mỗi khi session của user đó không hoạt động nữa
- Cho phép các users như nhau trong một nhóm sử dụng tài nguyên như nhau
- Quản lý việc sử dụng tài nguyên dạng dữ liệu lớn và phức tạp trong hệ thống database có nhiều người dùng
- Điều chỉnh việc sử dụng mật khẩu của user
2.1 Tạo profile
Lưu ý, để tạo PROFILE, cần có quyền CREATE PROFILE
Tạo profile lưu trữ các giới hạn tài nguyên sử dụng thông qua câu lệnh: CREATE PROFILE profile LIMIT