Làm thế nào để bạn xử lý việc thiếu các đặc quyền cấp Schema trong Oracle? Kiến trúc bảo mật của Oracle hoạt động tốt cho các ứng dụng chỉ cần đặc quyền cấp đối tượng và nó hoạt động tốt cho các DBA cần ít hạn chế. Tuy nhiên, dường như có một lỗ hổng lớn trong kiến trúc dành cho các lập trình viên đang phát triển với ứng dụng giao diện người dùng và PL / SQL trong nhiều lược đồ. Dưới đây là một số lựa chọn của tôi với nhược điểm của họ:
Làm cho mỗi lập trình viên phát triển trong lược đồ riêng của họ. DBA sẽ cấp các đặc quyền cấp đối tượng cho các lập trình viên cần chúng. Bất kỳ sự phát triển gói phải được thực hiện bởi một DBA. Nhược điểm chính là các lập trình viên sẽ sử dụng cơ sở dữ liệu như một thùng bit để làm giảm hiệu suất của cơ sở dữ liệu. Tôi muốn các lập trình viên phát triển trong cơ sở dữ liệu, nhưng phương pháp này sẽ làm nản lòng nó rất nhiều.
Cung cấp cho mỗi lập trình viên tên người dùng / mật khẩu cho hàng tá lược đồ họ cần để phát triển. Cấp quyền cho lược đồ ứng dụng này để tạo quy trình, bảng, v.v. Một số nhược điểm của phương pháp này là lập trình viên phải duy trì nhiều lần đăng nhập và hiếm khi đăng nhập như chính họ. Phát triển lược đồ chéo cũng khó khăn.
Cấp cho các lập trình viên đặc quyền xác thực proxy trên mỗi lược đồ mà họ cần để phát triển. Điều này giữ cho họ đăng nhập như chính họ mà không phải cấp cho họ các đặc quyền khác ngoài đặc quyền proxy. Nhược điểm bao gồm các lập trình viên phải duy trì các kết nối riêng cho từng lược đồ mà họ ủy quyền, việc phát triển lược đồ chéo trở nên cồng kềnh hơn vì các kết nối phải liên tục thay đổi và các gói sử dụng liên kết cơ sở dữ liệu công cộng với xác thực được thông qua sẽ không được biên dịch trong các kết nối proxy.
Cung cấp cho mỗi đặc quyền DBA lập trình viên. - Nhược điểm ở đây là bảo mật. Không có lập trình viên lược đồ nào có thể được giữ ngoài bất kỳ lược đồ nào và bất kỳ lập trình viên nào cũng có thể mạo danh bất kỳ lập trình viên nào khác (DBA).
Dường như có một tùy chọn còn thiếu để cấp cho mỗi lập trình viên CHỌN / CHERTN / TẠO / v.v. đặc quyền trên lược đồ mà họ cần để phát triển. Họ đăng nhập như chính họ để thực hiện công việc của họ bằng một kết nối. Các đối tượng mới trong lược đồ mà chúng có quyền truy cập ngay lập tức có sẵn.
Tui bỏ lỡ điều gì vậy? Làm thế nào để bạn xử lý các lập trình viên ứng dụng phát triển PL / SQL?