Quản trị xác thực người dùng (Administering User Authentication Methods) Oracle Database

Quản trị các phương thức xác thực người dùng (Administering User Authentication Methods) trong Oracle Database là một nhiệm vụ quan trọng để đảm bảo rằng chỉ có những người dùng hợp lệ mới có thể truy cập vào cơ sở dữ liệu. Oracle Database hỗ trợ nhiều phương thức xác thực khác nhau, bao gồm xác thực bằng mật khẩu, xác thực hệ điều hành, xác thực qua mạng, và xác thực dựa trên chứng chỉ. Dưới đây là cách quản trị các phương thức này.

1. Xác Thực Bằng Mật Khẩu (Password Authentication)

Đây là phương thức xác thực cơ bản nhất trong Oracle Database. Mật khẩu của người dùng được lưu trữ trong cơ sở dữ liệu và được sử dụng để xác thực mỗi khi người dùng đăng nhập.

Tạo Người Dùng Với Mật Khẩu

CREATE USER username IDENTIFIED BY password;

Gán Quyền Cho Người Dùng

GRANT CONNECT, RESOURCE TO username;

Thay Đổi Mật Khẩu Người Dùng

ALTER USER username IDENTIFIED BY new_password;

2. Xác Thực Hệ Điều Hành (Operating System Authentication)

Trong phương thức này, Oracle Database sử dụng thông tin đăng nhập của hệ điều hành để xác thực người dùng. Người dùng hệ điều hành phải được đặt tên bắt đầu với OPS$ hoặc OS_AUTHENT_PREFIX nếu có thay đổi.

Nếu bạn không muốn sử dụng tiền tố mặc định của Oracle OPS => bạn có thể thay đổi trong tham số: OS_AUTHENT_PREFIX

show parameter os_authent_prefix

word image 3076 1

Đặt lại tham số bạn muốn:

ALTER SYSTEM SET os_authent_prefix='duong' SCOPE=SPFILE;

Tìm tệp sqlnet.ora, thường nằm trong thư mục $ORACLE_HOME/network/admin.

SQLNET.AUTHENTICATION_SERVICES = (NTS)

Tạo Người Dùng Với Xác Thực Hệ Điều Hành

Ví dụ, nếu bạn muốn người dùng hệ điều hành oracle_user có thể đăng nhập vào cơ sở dữ liệu mà không cần mật khẩu:

CREATE USER ops$oracle_user IDENTIFIED EXTERNALLY;

Gán Quyền Cho Người Dùng

GRANT CONNECT, RESOURCE TO ops$oracle_user;

3. Xác Thực Qua Mạng (Network Authentication)

Oracle có thể tích hợp với các dịch vụ xác thực mạng như Kerberos, RADIUS, hoặc sử dụng các dịch vụ thư mục như Oracle Internet Directory (OID) để xác thực người dùng.

Cấu Hình Xác Thực Kerberos

Cấu hình tệp sqlnet.ora: (tệp này nằm trong /network/admin)

SQLNET.AUTHENTICATION_SERVICES = (KERBEROS5)

SQLNET.KERBEROS5_CONF = /path/to/krb5.conf

SQLNET.KERBEROS5_KEYTAB = /path/to/krb5.keytab

Tạo Người Dùng Với Xác Thực Kerberos:

CREATE USER username IDENTIFIED GLOBALLY AS 'principal_name';

4. Xác Thực Dựa Trên Chứng Chỉ (Certificate Authentication)

Oracle Database có thể sử dụng chứng chỉ số để xác thực người dùng. Chứng chỉ này được cấp bởi một cơ quan chứng nhận (CA).

Cấu Hình Xác Thực Chứng Chỉ

Cấu hình tệp sqlnet.ora:

SQLNET.AUTHENTICATION_SERVICES = (TCPS)

SSL_CLIENT_AUTHENTICATION = TRUE

WALLET_LOCATION = (SOURCE = (METHOD = FILE) (METHOD_DATA = (DIRECTORY = /path/to/wallet)))

Tạo Người Dùng Với Xác Thực Chứng Chỉ:

CREATE USER username IDENTIFIED BY CERTIFICATE;

5. Kiểm Soát và Quản Lý

Kiểm Tra Phương Thức Xác Thực Hiện Tại

SELECT username, password, authentication_type
FROM dba_users
WHERE username = 'USERNAME';

Thu Hồi Quyền Truy Cập

ALTER USER username ACCOUNT LOCK;

Xóa Người Dùng

DROP USER username CASCADE;

Quản trị các phương thức xác thực người dùng trong Oracle Database là một phần quan trọng của bảo mật cơ sở dữ liệu. Việc hiểu và sử dụng đúng các phương thức xác thực sẽ giúp đảm bảo rằng chỉ những người dùng hợp lệ mới có thể truy cập và thực hiện các thao tác trên cơ sở dữ liệu. Điều này không chỉ bảo vệ dữ liệu mà còn giúp duy trì hiệu suất và ổn định của hệ thống.

 

Datalinks.vn

Hello các bạn, tôi là Dương Nguyễn (DuoDBA - https://www.youtube.com/@DuoDBA) tác giả của blog này. Mong muốn được chia sẻ kiến thức và kinh nghiệm về cơ sở dữ liệu với những người đam mê và quan tâm đến lĩnh vực này. Tôi có tổ chức các khoá Coaching về #OracleDatabase và luyện thi #OCP thường xuyên, các bạn muốn có người đồng hành thì alo tôi nhé. Call/Zalo: 0765 871 888. Thanks you !.....
0 0 đánh giá
Đánh giá bài viết
Theo dõi
Thông báo của
guest

0 Góp ý
Phản hồi nội tuyến
Xem tất cả bình luận