Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Cách tạo người dùng và cấp quyền trong Oracle

Như thường lệ, hãy bắt đầu bằng cách kết nối với máy chủ của bạn nơi lưu trữ Oracle, sau đó kết nối với chính Oracle dưới dạng SYSTEM tài khoản.

SYSTEM tài khoản là một trong số ít các tài khoản quản trị được xác định trước được tạo tự động khi cài đặt Oracle. SYSTEM có khả năng thực hiện hầu hết các tác vụ quản trị, nhưng nhiệm vụ chúng tôi đặc biệt quan tâm là quản lý tài khoản.

Tạo người dùng

Sau khi được kết nối dưới dạng SYSTEM , chỉ cần phát hành CREATE USER lệnh tạo tài khoản mới.

CREATE USER books_admin IDENTIFIED BY MyPassword;

Ở đây, chúng tôi chỉ tạo một books_admin tài khoản IDENTIFIED hoặc được xác thực bằng password được chỉ định .

Tuyên bố Tài trợ

Với books_admin mới của chúng tôi đã tạo tài khoản, bây giờ chúng tôi có thể bắt đầu thêm các đặc quyền vào tài khoản bằng cách sử dụng GRANT tuyên bố. GRANT là một tuyên bố rất mạnh mẽ với nhiều tùy chọn khả thi, nhưng chức năng cốt lõi là quản lý các đặc quyền của cả người dùng usersroles trong toàn bộ cơ sở dữ liệu.

Cung cấp vai trò

Thông thường, trước tiên bạn sẽ muốn chỉ định các đặc quyền cho người dùng thông qua việc gắn tài khoản với các vai trò khác nhau, bắt đầu bằng CONNECT vai trò:

GRANT CONNECT TO books_admin;

Trong một số trường hợp để tạo người dùng mạnh mẽ hơn, bạn cũng có thể cân nhắc thêm RESOURCE vai trò (cho phép người dùng tạo các loại được đặt tên cho các lược đồ tùy chỉnh) hoặc thậm chí là DBA , cho phép người dùng không chỉ tạo các loại được đặt tên tùy chỉnh mà còn thay đổi và phá hủy chúng.

GRANT CONNECT, RESOURCE, DBA TO books_admin;

Chỉ định các đặc quyền

Tiếp theo, bạn sẽ muốn đảm bảo người dùng có đặc quyền thực sự kết nối với cơ sở dữ liệu và tạo phiên bằng cách sử dụng GRANT CREATE SESSION . Chúng tôi cũng sẽ kết hợp điều đó với tất cả các đặc quyền bằng cách sử dụng GRANT ANY PRIVILEGE .

GRANT CREATE SESSION GRANT ANY PRIVILEGE TO books_admin;

Chúng tôi cũng cần đảm bảo người dùng mới của mình có dung lượng đĩa được phân bổ trong hệ thống để thực sự tạo hoặc sửa đổi các bảng và dữ liệu, vì vậy chúng tôi sẽ GRANT TABLESPACE như vậy:

GRANT UNLIMITED TABLESPACE TO books_admin;

Table Privileges

Mặc dù thường không cần thiết trong các phiên bản Oracle mới hơn, nhưng một số bản cài đặt cũ hơn có thể yêu cầu bạn chỉ định thủ công các quyền truy cập mà người dùng mới có đối với một lược đồ và bảng cơ sở dữ liệu cụ thể.

Ví dụ:nếu chúng ta muốn books_admin người dùng có khả năng thực hiện SELECT , UPDATE , INSERTDELETE khả năng trên books bảng, chúng tôi có thể thực thi GRANT sau tuyên bố:

GRANT
  SELECT,
  INSERT,
  UPDATE,
  DELETE
ON
  schema.books
TO
  books_admin;

Điều này đảm bảo rằng books_admin có thể thực hiện bốn câu lệnh cơ bản cho books bảng là một phần của schema lược đồ.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dấu hai chấm:làm gì trong một truy vấn SQL?

  2. Đang thoát các ký tự đại diện trong LIKE

  3. Hàm COALESCE () trong Oracle

  4. Làm thế nào để lưu BLOB dưới dạng tệp trong PL / SQL?

  5. Làm thế nào để tạo hàm trong PL / SQL?