Thực hànhNâng cao

Phân quyền tối thiểu cho agent: quyền nằm trong hệ thống thực thi

Giới hạn công cụ theo người dùng, tài nguyên, hành động và thời gian; kiểm tra quyền ngay trước tác dụng phụ.

Trong bài viết này

Từ được đánh dấu có giải thích. Di chuột hoặc chạm để xem, hay mở từ điển AI.

Một agent được giao đọc thư mục báo cáo không cần quyền xóa toàn bộ ổ đĩa. Tuy vậy, nếu công cụ duy nhất là shell chạy bằng tài khoản quản trị, prompt “chỉ đọc” không thay đổi quyền thực tế của tiến trình. Phân quyền bắt đầu từ năng lực công cụ có thể thực thi.

Tiên quyết: bạn hiểu xác thực, phân quyền và AI agent. Ví dụ trong bài là trợ lý tài liệu nội bộ, dùng dữ liệu giả và hai tổ chức thử nghiệm do bạn quản lý.

Viết quyền thành một bộ điều kiện

NIST định nghĩa least privilege là hạn chế quyền truy cập ở mức tối thiểu cần cho nhiệm vụ được giao. Với agent, áp dụng nguyên tắc này cho cả người sử dụng, tiến trình thực thi và tài khoản dịch vụ phía sau công cụ.

Thay vì quyền chung documents:*, mô tả điều kiện như sau:

subject: user_27
tenant: team_a
action: document.read
resource_prefix: reports/2026/
expires_at: thời điểm kết thúc phiên
delegation: không được cấp quyền cho tác nhân khác

Đây là hợp đồng minh họa, không phải cú pháp của một hệ thống IAM cụ thể. Bộ thực thi lấy danh tính từ phiên đã xác thực, không nhận subject do mô hình tự khai. Tài nguyên phải được chuẩn hóa trước khi đối chiếu để đường dẫn tương đương không vượt khỏi phạm vi.

Tách đọc, đề xuất và ghi

Một bộ công cụ dễ kiểm soát có thể gồm read_document, propose_patch và apply_approved_patch. Bước đề xuất tạo một bản thay đổi có thể xem trước. Bước ghi nhận mã phê duyệt gắn với chính nội dung và phiên bản tài liệu đã duyệt.

Nếu tài liệu thay đổi trong lúc người dùng đọc bản đề xuất, hash hoặc phiên bản không còn khớp; hệ thống cần tạo đề xuất mới. Phê duyệt một bản cũ không cho phép agent tùy ý áp dụng một bản khác. Quyền cần được kiểm tra lại ngay trước khi ghi, kể cả khi đã kiểm tra lúc lập kế hoạch.

Nhìn để hiểuAgent: hành động, quan sát, kiểm tra

Agent dùng trạng thái hiện tại để chọn công cụ, đọc kết quả thực thi và kiểm tra tiến độ. Vòng lặp tiếp tục trong giới hạn được đặt trước hoặc kết thúc với kết quả đã xác minh.

Vòng lặp có điều kiện dừng của agentAgent quan sát trạng thái, gọi công cụ, đọc kết quả thực thi rồi kiểm tra mục tiêu và giới hạn. Sơ đồ minh họa một tác vụ sắp xếp thư mục. Khi đã đạt mục tiêu hoặc chạm giới hạn, vòng lặp phải dừng; kết quả do công cụ xác nhận, không chỉ do mô hình tuyên bố.MỤC TIÊUSắp xếp thư mụcQuan sátGọi công cụĐọc danh sáchKết quả thậtKiểm traĐạt / giới hạn?Dừng

↔ Vuốt ngang để xem toàn bộ sơ đồ.

  1. 01 / Quan sát

    Agent nhận mục tiêu, trạng thái hiện tại và kết quả của các bước trước.

  2. 02 / Gọi công cụ

    Mô hình đề xuất công cụ và đầu vào; ứng dụng kiểm tra quyền trước khi thực thi.

  3. 03 / Đọc kết quả

    Agent nhận dữ liệu trả về, bao gồm thành công, dữ liệu rỗng hoặc lỗi.

  4. 04 / Kiểm tra và dừng

    Kiểm tra mục tiêu đã đạt chưa. Dừng khi hoàn thành, thiếu quyền hoặc chạm giới hạn; nếu cần thì tiếp tục.

Minh họa một vòng lặp agent đơn giản. Công cụ chỉ được thực hiện thao tác trong quyền đã cấp; lời mô hình nói không thay thế kết quả thực thi.

Sơ đồ chỉ minh họa vòng hành động. Ranh giới quyền trong ví dụ nằm ở bộ thực thi công cụ, bên ngoài phần quyết định của mô hình.

Giảm quyền mà vẫn giữ công việc trôi chảy

Quyền quá rộng làm tăng hậu quả khi mô hình hiểu sai hoặc bị dữ liệu ngoài dẫn hướng. Quyền quá hẹp lại khiến mọi bước nhỏ đều bị chặn. Giải pháp thực dụng là cấp một phạm vi công việc có thời hạn: đọc các tài liệu trong dự án đã chọn, tạo bản nháp tại thư mục riêng, rồi xin quyền cụ thể cho bước xuất bản.

Không cần hỏi người dùng lại cho mọi lần đọc nếu quyền phiên đã bao phủ hành động đó. Ngược lại, một câu cho phép đọc không tự mở rộng thành quyền gửi tài liệu sang dịch vụ bên ngoài. Hệ thống nên phân biệt quyền sử dụng dữ liệu với quyền chuyển dữ liệu.

Một lỗi dễ bỏ sót là tài khoản backend có quyền trên tất cả tenant. Nếu API chỉ lọc theo document_id do agent đưa vào, người dùng tổ chức A có thể nhận tài liệu B. Truy vấn cần đồng thời ràng buộc tenant và tài nguyên từ danh tính đã xác thực, trước khi nội dung được trả cho mô hình.

Kiểm thử bằng các yêu cầu phải thất bại

Bài tập: tạo hai tenant với cùng tên tệp nhưng nội dung đánh dấu khác nhau. Cho agent đọc, đề xuất sửa và áp dụng sửa trong tenant A. Sau đó thử tài nguyên tenant B, quyền hết hạn, phiên bản đã thay đổi và mã phê duyệt dùng lại.

Tiêu chí tự kiểm là dữ liệu B không xuất hiện ở đầu ra hoặc log; các yêu cầu ghi không hợp lệ bị từ chối trước tác dụng phụ; hành động hợp lệ trong A vẫn hoàn tất. Nhật ký chỉ cần định danh, quyết định quyền và mã lý do, không cần lưu toàn bộ tài liệu để chứng minh đã chặn đúng.

Đọc tiếp phòng vệ prompt injection để hiểu vì sao phân quyền vẫn cần thiết khi prompt đã được viết cẩn thận, và red team để kiểm tra các ranh giới này có hệ thống.

Bạn muốn hiểu điều gì?

Khám phá tất cả bài viết esc để đóng