Bỏ qua để đến nội dung

Triển khai

Mô hình triển khai riêng cho từng khách hàng và các hạng mục khách hàng cần chuẩn bị để kết nối an toàn.

4 phút đọc

Trang này dành cho người phụ trách hạ tầng và cơ sở dữ liệu phía khách hàng. Nội dung gồm cách Admin as a Service được triển khai và các hạng mục khách hàng cần chuẩn bị. Khách hàng không phải cài đặt hay vận hành nền tảng.

Mỗi khách hàng được triển khai thành một môi trường tách biệt, gồm:

  • Dữ liệu riêng: tài khoản, project, action, view và nhật ký không nằm chung kho với khách hàng khác.
  • Khoá mã hoá riêng: thông tin kết nối và secret được mã hoá bằng khoá chỉ dùng cho bản triển khai của khách hàng đó.
  • Tên miền riêng cho giao diện.
  • IP ra ngoài cố định và riêng: mọi kết nối từ nền tảng tới cơ sở dữ liệu hay API của khách hàng đi ra từ một địa chỉ IP tĩnh, giữ nguyên suốt thời gian sử dụng. Firewall chỉ cần mở cho đúng địa chỉ này.

Tài khoản Owner đầu tiên được tạo trong quá trình khởi tạo. Sau đó, owner tạo tài khoản cho đồng nghiệp và tạo project. Xem Tổ chức và người dùng.

  1. Mở đường mạng tới cơ sở dữ liệu hoặc API. Cho phép IP ra ngoài của bản triển khai (do chúng tôi cung cấp) đi vào cơ sở dữ liệu hoặc API cần kết nối, ví dụ trong security group hay firewall. Không mở cho dải IP rộng hơn mức cần.

  2. Tạo tài khoản cơ sở dữ liệu ít quyền nhất. Không dùng superuser hay tài khoản của ứng dụng. Tạo tài khoản riêng cho Admin as a Service, chỉ đủ quyền cho các action định xây.

  3. Chuẩn bị TLS. Với cơ sở dữ liệu trên cloud hoặc dùng CA nội bộ, chuẩn bị file CA dạng PEM (ví dụ bundle của nhà cung cấp) để dùng chế độ Bật, kiểm tra chứng chỉ. Nếu cơ sở dữ liệu yêu cầu client certificate, chuẩn bị thêm certificate và private key không có passphrase.

  4. Với HTTP API, chuẩn bị danh sách host được gọi và token đặt trong header (không đặt username/mật khẩu trong URL). Data source HTTP hiện chỉ lưu cấu hình và thử kết nối; action gọi HTTP API chưa có.

  5. Chuẩn bị IP của người dùng (tuỳ chọn). Để chỉ cho phép chạy action từ mạng văn phòng hoặc VPN, chuẩn bị danh sách IP/CIDR để đặt vào IP allowlist của từng môi trường. Xem Môi trường.

Khuyến nghị về tài khoản cơ sở dữ liệu

Phần tiêu đề “Khuyến nghị về tài khoản cơ sở dữ liệu”

Tách tài khoản đọc và tài khoản ghi:

  • Tài khoản chỉ đọc cho các action đọc. Nếu có bản sao chỉ đọc (read replica), trỏ tài khoản này vào đó để truy vấn không ảnh hưởng cơ sở dữ liệu chính.
  • Tài khoản ghi riêng, chỉ cấp quyền ghi trên đúng bảng và đúng cột cần sửa.
  • Cột nhạy cảm: không cấp quyền trên bảng gốc; cấp một view đã che dữ liệu (ví dụ chỉ hiện vài số đầu của số điện thoại).

Ví dụ với PostgreSQL:

-- Tài khoản chỉ đọc
CREATE ROLE tool_ro LOGIN PASSWORD '...';
GRANT CONNECT ON DATABASE appdb TO tool_ro;
GRANT USAGE ON SCHEMA public TO tool_ro;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO tool_ro;
-- Tài khoản ghi: chỉ sửa được cột status và updated_at của bảng orders
CREATE ROLE tool_rw LOGIN PASSWORD '...';
GRANT SELECT, UPDATE (status, updated_at) ON orders TO tool_rw;

Trong Admin as a Service, khai báo hai tài khoản này thành hai data source (ví dụ orders_ro và orders_rw). Đặt các action dùng orders_rw ở chế độ quyền restricted và chỉ cấp cho người cần. Xem Data source và Phân quyền.

Các hạng mục sau chưa có trong phiên bản hiện tại:

  • Bridge: cổng kết nối do khách hàng chạy trong mạng riêng (VPC). Nền tảng tới được cơ sở dữ liệu nằm trong subnet riêng mà không phải mở cơ sở dữ liệu ra ngoài, và thông tin đăng nhập cơ sở dữ liệu không cần lưu trên nền tảng.
  • SSO/SAML: đăng nhập bằng hệ thống định danh của công ty.
  • Execution review: duyệt từng lần chạy với tham số cụ thể trước khi thực thi.
  • Audit streaming: đẩy nhật ký sang hệ thống lưu trữ hoặc giám sát của khách hàng.

Hiện tại, cơ sở dữ liệu phải truy cập được từ IP ra ngoài của bản triển khai, và người dùng đăng nhập bằng email và mật khẩu.