Giao diện
An toàn: Safe Mode và Masking
Safe Mode
Mỗi kết nối có một mức, chọn trong form kết nối:
| Mức | Hành vi |
|---|---|
| Off | Hỏi trước DROP, TRUNCATE, và DELETE/UPDATE không có WHERE |
| Confirm Writes | Hỏi trước mọi lệnh ghi |
| Read-Only | Từ chối mọi lệnh ghi |
App phân loại câu lệnh theo từ khóa, bỏ qua nội dung trong chuỗi và chú thích. Với Oracle, kết nối Read-Only chạy mỗi câu lệnh trong một giao dịch chỉ đọc.
Kết nối tới máy chủ ở mức Off có nhãn đỏ Safe Mode Off ở dải kết nối phía trên cửa sổ.
Ở Read-Only, các nút ghi cũng bị ẩn: không sửa được ô, không có Restore, không có mục tạo đối tượng. Dashboard không cho kết thúc phiên.
Safe Mode không thay thế phân quyền database
Đây là lớp bảo vệ của app. Hãy dùng tài khoản database có đúng quyền cần thiết.
Những thao tác không đi qua Safe Mode
Một số thao tác có hộp thoại riêng thay vì bước hỏi của Safe Mode:
- Copy to Another Connection ghi vào kết nối đích. App không cho chọn đích Read-Only.
- Restore chạy nội dung file bằng công cụ của engine. App không đọc được file đó, nên yêu cầu bạn xác nhận.
Các lệnh trong menu bảng như Empty the Table, Maintenance, Generate Test Rows thì chỉ viết SQL vào tab query, để bạn xem trước và Safe Mode xét khi chạy.
Che dữ liệu (Masking)
Mỗi kết nối có các luật theo tên cột, ví dụ *email* hoặc users.ssn:
| Kiểu che | Kết quả |
|---|---|
| Full | Che toàn bộ |
| Last 4 Characters | Chỉ hiện 4 ký tự cuối |
| Giữ dạng email | |
| Stable Hash | Băm ổn định, cùng giá trị cho ra cùng kết quả trong một lần chạy |
| NULL | Trả về NULL |
Luật áp dụng cho lưới, sao chép, xuất file và máy chủ MCP. Cột bị che có dấu • ở tiêu đề, và bảng có cột bị che thì chỉ đọc.
Các tính năng khác cũng tôn trọng luật này:
- Search Data bỏ qua cột bị che.
- Luật tô màu bỏ qua cột bị che.
- Copy to Another Connection từ chối chép bảng có cột bị che.
Giới hạn của Masking
- Luật dựa vào tên cột mà kết quả trả về, nên
SELECT email AS contactkhông bị che. DBMS_OUTPUTvà các thông báo in ra từ máy chủ không bị che.- Không thể hiện lại giá trị bị che ngay trên màn hình. Muốn xem phải bỏ luật và kết nối lại.
Masking giúp tránh lộ dữ liệu khi chia sẻ màn hình, không phải là biện pháp kiểm soát truy cập.
Mật khẩu và khóa
Mật khẩu kết nối, mật khẩu SSH, mật khẩu proxy và khóa API của AI đều nằm trong kho bảo mật của hệ điều hành (myzig.secrets), không nằm trong mydatabase.json.
Xem lại trước khi ghi
Khi sửa dữ liệu trong lưới, thay đổi nằm ở trạng thái chờ và được tô màu. Khi bấm Save, tất cả chạy trong một giao dịch: lỗi ở bất kỳ đâu thì không có gì được ghi. Có bước xem lại SQL khi kết nối ở mức Confirm Writes hoặc khi xóa từ 10 dòng trở lên.
Mọi thay đổi cấu trúc bảng đều hiển thị SQL để xem lại trước khi chạy.
