5 quyền quản trị chính trong hệ thống oracle database
Oracle Database bao gồm năm quyền quản trị được cung cấp để tạo điều kiện cho việc phân tách trách nhiệm. Các quyền quản trị SYSDBA và SYSOPER được sử dụng để thực hiện nhiều hoạt động cơ bản trên cơ sở dữ liệu bao gồm khởi động và tắt cơ sở dữ liệu.
Hãy tham khảo Hướng dẫn Quản trị Oracle Database để biết danh sách đầy đủ các hoạt động được ủy quyền cho các quyền quản trị SYSDBA và SYSOPER.
SYSBACKUP, SYSDG và SYSKM là các quyền mới được giới thiệu từ Oracle Database 12c và được tùy chỉnh cho các nhiệm vụ quản trị cụ thể như sao lưu và khôi phục, Oracle Data Guard và quản lý khóa mã hóa dữ liệu trong suốt.
Trong các phiên bản trước đó, quyền quản trị SYSDBA là bắt buộc cho các nhiệm vụ kể trên. Những quyền này cho phép bạn kết nối với cơ sở dữ liệu ngay cả khi cơ sở dữ liệu không mở.
Bạn có thể tham khảo các hướng dẫn Bảo mật Oracle Database để biết danh sách các hoạt động được hỗ trợ cho các quyền quản trị SYSBACKUP, SYSDG và SYSKM
Người dùng có các quyền SYSDBA hoặc SYSOPER luôn được xác thực khi thực hiện các kết nối đến từ các máy cục bộ, người dùng được xác thực bằng hệ điều hành cục bộ(OS Localy) thông qua việc user đó là thành viên của một nhóm OS có quyền quản trị trong oracle database.
Nếu là kết nối từ xa, một file mật khẩu được sử dụng để xác thực quyền người dùng. Nếu file mật khẩu được cấu hình, nó sẽ được kiểm tra trước. Trong Oracle Database, các mật khẩu này phân biệt chữ hoa-chữ thường.
Oracle Database cung cấp các phương pháp khác giúp việc xác thực quản trị từ xa an toàn hơn và tập trung quản lý các quyền người dùng này. Khi tạo cơ sở dữ liệu bằng Database Configuration Assistant, file mật khẩu sẽ phân biệt chữ hoa-chữ thường.
Nếu bạn nâng cấp từ các phiên bản cơ sở dữ liệu trước, hãy đảm bảo file mật khẩu phân biệt chữ hoa-chữ thường cho các kết nối từ xa:
orapwd file = orapworcl entries = 5 ignorecase = N.
Xác thực người dùng trong Oracle Database(Authenticating Users - Oracle Database)
Authentication
có nghĩa là xác thực danh tính của một người hoặc một thứ gì đó (người dùng, thiết bị hoặc thực thể khác) muốn sử dụng dữ liệu, tài nguyên hoặc ứng dụng. Xác thực danh tính này thiết lập một mối quan hệ tin cậy cho các tương tác tiếp theo.
Authentication cũng cho phép xác định trách nhiệm bằng cách liên kết quyền truy cập và hành động với các danh tính cụ thể. Sau khi xác thực, quá trình cấp phép có thể cho phép hoặc giới hạn các mức độ truy cập và hành động được phép cho thực thể đó.
Khi tạo một người dùng, bạn phải quyết định kỹ thuật xác thực nào sẽ được sử dụng, tuy nhiên điều này cũng có thể được sửa đổi sau này
Password
Đây còn được gọi là xác thực bởi máy chủ Oracle Database. Tạo mỗi người dùng với mật khẩu liên quan và phải được cung cấp khi người dùng cố gắng thiết lập kết nối.
Khi thiết lập mật khẩu, bạn có thể hết hạn mật khẩu ngay lập tức, điều này buộc người dùng phải thay đổi mật khẩu sau khi đăng nhập lần đầu tiên. Nếu hết hạn mật khẩu của người dùng, hãy đảm bảo rằng người dùng có khả năng thay đổi mật khẩu.
Một số ứng dụng không có tính năng này. Tất cả các mật khẩu được tạo ra trong Oracle Database đều phân biệt chữ hoa chữ thường theo mặc định. Những mật khẩu này cũng có thể chứa ký tự đa byte và giới hạn đến 30 byte.
Mật khẩu luôn được mã hóa tự động và trong suốt bằng thuật toán Advanced Encryption Standard (AES) trong quá trình kết nối mạng (client/server và server/server) trước khi gửi chúng qua mạng
External
Đây là phương thức xác thực bên ngoài cơ sở dữ liệu (hệ điều hành, Kerberos hoặc Radius). Tùy chọn Advanced Security (Bảo mật Nâng cao) được yêu cầu cho Kerberos hoặc Radius.
Người dùng có thể kết nối với cơ sở dữ liệu Oracle mà không cần chỉ định tên người dùng hoặc mật khẩu. Tùy chọn Bảo mật Nâng cao (là một phương thức xác thực mạnh) cho phép người dùng được xác định bằng cách sử dụng sinh trắc học, chứng chỉ x509 và các thiết bị mã thông báo.
Với xác thực bên ngoài, cơ sở dữ liệu của bạn phụ thuộc vào hệ điều hành, dịch vụ xác thực mạng hoặc dịch vụ xác thực bên ngoài để hạn chế truy cập vào tài khoản cơ sở dữ liệu. Không sử dụng mật khẩu cơ sở dữ liệu cho loại đăng nhập này.
Nếu hệ điều hành hoặc dịch vụ mạng cho phép, bạn có thể sử dụng nó để xác thực người dùng. Nếu bạn sử dụng xác thực hệ điều hành, hãy đặt tham số khởi tạo OS_AUTHENT_PREFIX và sử dụng tiền tố này trong tên người dùng Oracle.
Tham số khởi tạo OS_AUTHENT_PREFIX xác định một tiền tố mà cơ sở dữ liệu Oracle thêm vào đầu của tên tài khoản hệ thống điều khiển cho mỗi người dùng. Giá trị mặc định của tham số này là OPS$ cho tính tương thích ngược với các phiên bản trước của phần mềm Oracle.
Cơ sở dữ liệu Oracle so sánh tên người dùng đã được thêm tiền tố với các tên người dùng Oracle trong cơ sở dữ liệu khi một người dùng cố gắng kết nối.
Ví dụ, giả sử OS_AUTHENT_PREFIX được đặt như sau: OS_AUTHENT_PREFIX = OPS$ nếu một người dùng có tên tài khoản hệ thống là tsmith cần kết nối đến cơ sở dữ liệu Oracle và được xác thực bởi hệ thống, cơ sở dữ liệu Oracle sẽ kiểm tra xem có tồn tại người dùng tương ứng OPS$tsmith trong cơ sở dữ liệu và nếu có, cho phép người dùng kết nối.
Tất cả các tham chiếu đến người dùng được xác thực bởi hệ thống điều hành phải bao gồm tiền tố, như thấy ở OPS$ tsmith.
Lưu ý: value của tham số khởi tạo OS_AUTHENT_PREFIX phân biệt chữ hoa, chữ thường trên một số hệ điều hành
Global
Với tùy chọn Bảo mật nâng cao của Oracle, xác thực Global cho phép người dùng được xác định bằng cách sử dụng dịch vụ thư mục LDAP.
BÀI VIẾT LIÊN QUAN
Xác thực quyền quản trị viên
Operating system security: Trong UNIX và Linux, các DBA mặc định thuộc nhóm oinstall OS, có quyền cần thiết để tạo và xóa các tệp cơ sở dữ liệu.
Administrator security: Kết nối người dùng có quyền SYSDBA, SYSOPER và SYSASM chỉ được ủy quyền sau khi xác thực với tệp mật khẩu hoặc với quyền và quyền của OS. Nếu sử dụng xác thực OS, cơ sở dữ liệu sẽ không sử dụng tên người dùng và mật khẩu được cung cấp.
Xác thực OS được sử dụng nếu không có tệp mật khẩu, nếu tên người dùng hoặc mật khẩu được cung cấp không có trong tệp đó, hoặc nếu không có tên người dùng và mật khẩu nào được cung cấp.
Tuy nhiên, nếu xác thực thành công thông qua tệp mật khẩu, kết nối sẽ được ghi lại với tên người dùng. Nếu xác thực thành công thông qua hệ thống điều hành, đó là một kết nối /connection không ghi lại người dùng cụ thể.
Lưu ý: Nếu bạn là thành viên của nhóm OSDBA hoặc OSOPER cho hệ điều hành và bạn kết nối với SYSDBA hoặc SYSOPER, bạn sẽ được kết nối với các quyền quản trị liên quan bất kể tên người dùng và mật khẩu mà bạn chỉ định là gì.
Trong Oracle Database 12c, một người dùng có thể sử dụng các phương pháp xác thực mạnh: Kerberos, SSL hoặc xác thực thư mục nếu Advanced Security Option được kích hoạt
OS Authentication(xác thực theo hệ điều hành) và OS Group(nhóm hệ điều hành)
Trong xác thực hệ thống (OS authentication), các nhóm được tạo và gán tên cụ thể trong quá trình cài đặt cơ sở dữ liệu, miễn là các nhóm hệ thống OS UNIX hoặc WINDOWS được tạo và các tài khoản được gán cho các nhóm được định nghĩa bởi hệ điều hành. Các thành viên trong một nhóm UNIX hoặc WINDOWS sẽ ảnh hưởng đến kết nối của bạn đến cơ sở dữ liệu như sau:
- Nếu bạn là thành viên của nhóm OSBACKUP và bạn chỉ định AS SYSBACKUP khi kết nối đến cơ sở dữ liệu, bạn sẽ kết nối đến cơ sở dữ liệu với quyền quản trị SYSBACKUP dưới người dùng SYSBACKUP
- Nếu bạn là thành viên của nhóm OSDG và bạn chỉ định AS SYSDG khi kết nối đến cơ sở dữ liệu, bạn sẽ kết nối đến cơ sở dữ liệu với quyền quản trị SYSDG dưới người dùng SYSDG
- Nếu bạn là thành viên của nhóm OSKM và bạn chỉ định AS SYSKM khi kết nối đến cơ sở dữ liệu, bạn sẽ kết nối đến cơ sở dữ liệu với quyền quản trị SYSKM dưới người dùng SYSKM
Nếu họ không phải là thành viên của các nhóm OS này, người dùng sẽ không thể kết nối dưới dạng người dùng quản trị với xác thực hệ thống OS. Tức là, "CONNECT / AS SYSDBA" sẽ không thành công.
Tuy nhiên, người dùng vẫn có thể kết nối bằng cách sử dụng các cơ chế xác thực khác (ví dụ: xác thực mạng, mật khẩu hoặc dựa trên thư mục).
Để thay đổi tên nhóm OS bạn có thể thực hiện như bước 1 và 2 trong hình trên, đảm bảo rằng bạn đang sử dụng các nhóm được xác định trong tệp $ORACLE_HOME/rdbms/lib/config.[cs]. Sau đó, tắt tất cả cơ sở dữ liệu và sau đó liên kết lại các file thực thi Oracle như được hiển thị trong bước 3 trên slide.
Các nhóm người dùng Windows là ORA_%HOMENAME%SYSBACKUP, ORA%HOMENAME%SYSDG và ORA%HOMENAME%_SYSKM. Những nhóm người dùng này không thể thay đổi.
Quản lý người dùng bằng Oracle Enterprise Manager Tool
Trên trang Người dùng của Enterprise Manager Database Express, bạn quản lý các người dùng cơ sở dữ liệu được phép truy cập vào cơ sở dữ liệu hiện tại. Bạn sử dụng trang này để tạo, xóa và sửa đổi các thiết lập của một người dùng.
Để truy cập trang Người dùng, expand menu Security và chọn.
Để tạo một người dùng cơ sở dữ liệu bằng cách sử dụng Enterprise Manager Database Express, chọn Tạo người dùng trên trang Người dùng. Cung cấp thông tin yêu cầu. Các mục bắt buộc (như Tên) được đánh dấu bằng một dấu sao (*). Tên được chỉ định phải tuân theo các quy tắc giống như khi tạo các đối tượng cơ sở dữ liệu.
Gán một tablespace mặc định và một tablespace tạm thời cho mỗi người dùng. Nếu người dùng không chỉ định tablespace khi tạo đối tượng, đối tượng sẽ được tạo trong tablespace mặc định được gán cho chủ sở hữu đối tượng.
Điều này cho phép bạn kiểm soát nơi các đối tượng của họ được tạo ra.
Nếu bạn không chọn một tablespace mặc định, tablespace mặc định vĩnh viễn được xác định bởi hệ thống sẽ được sử dụng. Tương tự, nếu bạn không chỉ định tablespace tạm thời, tablespace tạm thời được xác định bởi hệ thống sẽ được sử dụng
Trong quá trình cài đặt và tạo cơ sở dữ liệu, bạn có thể mở khóa và đặt lại nhiều tài khoản người dùng cung cấp bởi Oracle. Nếu bạn không chọn mở khóa các tài khoản người dùng tại thời điểm đó, bạn có thể mở khóa người dùng bằng cách chọn người dùng trên Users Page, chọn Alter User từ menu Actions và bỏ chọn Account Locked. Nếu mật khẩu đã hết hạn, hãy nhập mật khẩu mới vào các trường Password và Confirm Password.