Trong công ty tôi làm việc, các kỹ sư sùng đạo (hiện chỉ có 2 thành viên, là tôi và một đồng nghiệp khác) là những người duy nhất có quyền truy cập vào cơ sở dữ liệu sản xuất.
Vì vậy, khi bất kỳ nhà phát triển khác cần thực hiện một truy vấn MySQL trên cơ sở dữ liệu sản xuất. Họ sẽ gửi truy vấn đến 2 kỹ sư để cho họ thực hiện nó.
Dưới đây là các tình huống khi chúng ta cần thực thi các lệnh đến cơ sở dữ liệu sản xuất:
Cơ sở dữ liệu chứa dữ liệu bị hỏng, tạo ra lỗi. Họ thực hiện các lệnh để sửa lỗi.
Một lỗi được báo cáo. Và họ muốn xem các giá trị hiện tại bên trong cơ sở dữ liệu.
Một trong những khách hàng của chúng tôi muốn sửa đổi dữ liệu của anh ấy / cô ấy. Nhưng ứng dụng web của chúng tôi không có khả năng sửa đổi. Vì vậy, chúng tôi phải gửi các lệnh MySQL trực tiếp đến cơ sở dữ liệu để hoàn thành yêu cầu của khách hàng.
Nhóm QA đã tạo các tài khoản thử nghiệm trên môi trường sản xuất. Và họ muốn thay đổi trạng thái của tài khoản để họ có thể thực hiện các thử nghiệm khác.
Điều này tạo ra rất nhiều gián đoạn cho tôi các đồng nghiệp khác. Khi chúng tôi phát triển các chương trình vào ban ngày, chúng tôi thường phải chuyển ngữ cảnh chỉ để thực hiện một số truy vấn.
Tôi không nghĩ rằng đây là một kiến trúc tốt cho công ty. Làm thế nào để bạn kiểm soát các quyền đối với môi trường sản xuất trong công ty của bạn?
Cơ sở dữ liệu sản xuất của chúng tôi bao gồm thông tin khách hàng nhạy cảm. Nếu dữ liệu bị rò rỉ ra ngoài, công ty chúng tôi có thể bị phạt hàng triệu đô la.
how do I get devs to stop bugging me to run arbitrary SQL commands
. Tôi nghĩ rằng tôi có thể sử dụng ProxyQuery để che giấu dữ liệu khách hàng nhạy cảm để các nhà phát triển khác có thể đọc cơ sở dữ liệu sản xuất.