Skip to content

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ứcHành vi
OffHỏi trước DROP, TRUNCATE, và DELETE/UPDATE không có WHERE
Confirm WritesHỏi trước mọi lệnh ghi
Read-OnlyTừ 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 cheKết quả
FullChe toàn bộ
Last 4 CharactersChỉ hiện 4 ký tự cuối
EmailGiữ dạng email
Stable HashBăm ổn định, cùng giá trị cho ra cùng kết quả trong một lần chạy
NULLTrả 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 contact không bị che.
  • DBMS_OUTPUT và 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.