Bỏ qua đến nội dung
AI Portal Docs
Trên trang này Điều gì xảy ra ở mỗi yêu cầu 1/11

Phòng banPhòng banDepartmentĐơn vị chi trả: sở hữu ngân sách, hạn mức và các mô hình mà thành viên được dùng. Mỗi người thuộc đúng một phòng ban.Mở trong Thuật ngữ là đơn vị chi phí và chính sách mà mọi yêu cầu được tính vào. Ngân sách và giới hạn của phòng ban áp dụng cho mọi người được tính phí ở đó, trừ những người có hạn mức riêng — xem Ngân sách và chính sách.

Quy tắc chính

  1. Mỗi người thuộc đúng một phòng ban. Không có trạng thái “không phòng ban”: người chưa được xếp nằm trong GeneralGeneralGeneralPhòng ban có sẵn cho mọi người chưa được phân vào phòng ban khác, để mọi yêu cầu luôn có phòng ban để tính phí.Mở trong Thuật ngữ.
  2. Phòng ban được đọc ở mỗi yêu cầu, từ bản ghi thư mục của người đó — không bao giờ từ token đăng nhập. Việc chuyển phòng ban có hiệu lực ngay yêu cầu kế tiếp, không cần đăng nhập lại.
  3. Nhóm không bao giờ là thành viên phòng ban. Gán từ một nhómNhómGroupTập hợp người dùng để cấp vai trò và nêu tên trong quy tắc chia sẻ. Một người có thể thuộc nhiều nhóm; nhóm không bao giờ giữ tiền.Mở trong Thuật ngữ chỉ sao chép danh sách người một lần; sửa nhóm sau đó không chuyển ai cả.
  4. Chế độ thư mục quyết định ai ghi thành viên: portal (PORTAL) hoặc nhà cung cấp danh tính (IDP).
  5. Chuyển người là chuyển chi phí của họ, và có thể mở rộng hoặc thu hẹp các mô hình họ được dùng.

Điều gì xảy ra ở mỗi yêu cầu

  1. Portal đọc bản ghi thư mục của người dùng. Không có bản ghi thì không có quyền truy cập.
  2. Portal lấy phòng ban của họ — General nếu chưa từng được xếp.
  3. Nếu phòng ban đó chặn mô hình đã chọn, lượt bị từ chối.
  4. Nếu không, lời gọi chạy trên khoá của phòng ban, hoặc khoá riêng nếu người đó có hạn mức riêng.
  5. Ngân sách lấy từ cấp chính sách thắng, và chi phí được tính vào phòng ban.

Các cách vào một phòng ban

CáchDiễn ra thế nào
Được cấp tài khoản mà chưa có phòng banVào phòng ban hệ thống General
Chuyển từng ngườiQuản trị viên chuyển một người (PATCH /users/:id)
Gán hàng loạt từ một nhómQuản trị viên gán các thành viên của nhóm (POST /groups/:id/assign-department)
Nhóm của nhà cung cấp được gắn vào, chỉ ở chế độ IDPPhân giải phòng ban, bên dưới

Mọi cách đều ghi vào bản ghi của chính người đó; không có gì đọc nhóm lúc xử lý yêu cầu. Chỉ nhóm được gắn ở chế độ IDP mới chuyển người khi thành viên của nó thay đổi phía nhà cung cấp.

Gán hàng loạt và rà soát xung đột

Gán hàng loạt mở rộng nhóm một lần và tính phí mọi người chưa thuộc phòng ban đích vào phòng ban đó. Không lưu quan hệ thành viên, nên sửa nhóm sau này không chuyển ai. Kết quả liệt kê từng người đã chuyển và phòng ban cũ của họ.

Hộp thoại gán hàng loạt liệt kê những người đang thuộc phòng ban khác
Phần rà soát xung đột nêu tên mọi người sẽ rời phòng ban khác.
Phần rà soát xung đột nêu tên mọi người sẽ rời phòng ban khác.

Phòng ban General và phòng ban đã lưu trữ

  • General là một phòng ban thật. Ai ở trong đó đều được báo là General. Trang của nó trong Admin console (bảng điều khiển quản trị) liệt kê và nhận thành viên như mọi phòng ban khác, nhưng không có nút gỡ — gỡ ai khỏi một phòng ban nghĩa là đưa họ về General.
  • Phòng ban đã lưu trữ không bao giờ nhận thêm ai. Không bộ chọn nào hiển thị nó, và lời mời chỉ định nó sẽ bị từ chối khi được chấp nhận.

Ai sở hữu trường nào

Quyền truy cập bị chặn bởi hai trường do hai bên sở hữu, và cả hai đều phải cho phép.

TrườngBên sở hữuĐược ghi bởi
email, displayName, status, external_idNhà cung cấp danh tínhSCIM
Tên, external id và thành viên của nhóm đồng bộNhà cung cấp danh tínhSCIM Groups
suspended_atPortalTạm ngưng / bỏ tạm ngưng
department_id, org_role, thành viên nhóm thủ côngPortalThao tác quản trị ở chế độ PORTAL; phân giải phòng ban ở chế độ IDP
Vai trò mà nhóm cấp và quy tắc phạm vi hiển thịPortalThao tác quản trị, cả hai chế độ
Tên, mô tả, trung tâm chi phí và ngân sách của phòng banPortalThao tác quản trị, cả hai chế độ

Bản thân phòng ban luôn do portal sở hữu: không nhà cung cấp danh tính nào mang ngân sách hay trung tâm chi phí, và schema Group lõi của SCIM không có trường mô tả.

Portal không ghi ngược về Keycloak hay Entra ID; SCIM chỉ chạy một chiều. Vì vậy quản trị viên không đặt được status; để cắt quyền ngay, hãy tạm ngưng người đó. Tạm ngưng cũng vô hiệu hoá tài khoản Keycloak, chặn đăng nhập mới và gia hạn phiên. Bản ghi portal được ghi trước, nên nếu nhà cung cấp không phản hồi, quyền truy cập vẫn bị từ chối. Bỏ tạm ngưng chỉ bật lại tài khoản khi nhà cung cấp vẫn báo đang hoạt động — đây không phải cách kích hoạt lại người mà nhà cung cấp đã vô hiệu hoá.

Chế độ thư mục

Mỗi tổ chức chọn chế độ thư mục một lần, khi tạo.

Chế độAi sở hữu thư mục
PORTAL (mặc định)Portal sở hữu ai tồn tại, nhóm của họ và phòng ban của họ
IDPNhà cung cấp bên ngoài sở hữu; thư mục đến qua SCIMCấp tài khoản qua SCIMSCIM provisioningChuẩn mà nhà cung cấp danh tính dùng để tự động tạo, cập nhật và xoá tài khoản portal, để người nghỉ việc mất quyền truy cập.Mở trong Thuật ngữ và portal từ chối ghi. Quyền tính năng AI vẫn do portal quản lý
Ở chế độ IDPThao tác ghi
Bị từ chối (409 directory_frozen)Tạo người dùng, đặt phòng ban cho người dùng, tạo nhóm, thêm hoặc gỡ thành viên, gán hàng loạt từ nhóm, gửi hoặc gửi lại lời mời
Mở ở cả hai chế độVòng đời phòng ban (tạo, đổi tên, lưu trữ, đặt mặc định), những gì nhóm cấp, vai trò và quyền hạn, quy tắc phạm vi hiển thị, mô hình bị chặn, chính sách, ngân sách, tạm ngưng, phòng ban tính phí những nhóm nào và độ ưu tiên, rút lời mời đang mở, danh sách chờ

Lỗi trả về là xung đột (409) chứ không phải lỗi quyền, vì trạng thái của tổ chức quyết định — kể cả Org Owner cũng bị từ chối. Rút lời mời vẫn mở vì một quyền không nên tồn tại phải luôn thu hồi được.

Chỉ “đặt phòng ban cho người dùng” bị khoá, nên mỗi chế độ có đúng một bên ghi phòng ban của một người. Lưu trữ phòng ban còn thành viên vẫn được, vì tác vụ lưu trữ chuyển người trực tiếp.

Phòng ban từ nhóm

Ở chế độ IDP bạn không chuyển người thủ công được, nên bạn gắn phòng ban với một danh sách nhóm của nhà cung cấp. Phòng Sales thường là Sales-VN + Sales-KH + một nhóm trưởng nhóm. Một nhóm chỉ tính phí cho tối đa một phòng ban.

Lưu một lựa chọn sẽ thay toàn bộ danh sách, nên không ai bị tính phí hai nơi giữa chừng. Danh sách rỗng nghĩa là gỡ gắn. Ở chế độ PORTAL thao tác này bị từ chối (409 directory_portal_owned), vì lần phân giải kế tiếp sẽ đảo ngược việc quản trị viên đã chuyển.

Lựa chọn bị chặn nếu nó khiến một người nằm trong nhóm của hai phòng ban đang hoạt động; thông báo nêu số người. Nhóm không được gắn và phòng ban đã lưu trữ không tính phí ai. Trùng lặp trong cùng một lựa chọn thì không sao — người thuộc cả Sales-VN và Sales-Leads vẫn tính vào Sales.

Phân giải

Phân giải chỉ chạy ở chế độ IDP. Trong các phòng ban đang tính phí một nhóm mà người đó thuộc về:

  1. Số ưu tiên thấp nhất thắng; hoà thì xét theo id phòng ban. Chỉ cần khớp một nhóm bất kỳ của phòng ban.
  2. Phòng ban đã lưu trữ không bao giờ nhận ai.
  3. Người không thuộc nhóm nào được gắn sẽ về General.

Phân giải chỉ ghi khi kết quả thay đổi, và chạy khi nhóm được cấp, cập nhật hoặc xoá, khi người dùng được cấp, và khi lựa chọn thay đổi — không chạy khi bạn sửa độ ưu tiên. Tổ chức đã gỡ gắn phòng ban cuối cùng vẫn đưa thành viên về mặc định.

Khi nhà cung cấp xoá một nhóm đang được gắn, liên kết mất theo; phòng ban giữ nguyên tên, ngân sách, trung tâm chi phí và lịch sử kiểm tra. Khi nhóm cuối cùng mất, thành viên về General ở lần phân giải kế tiếp. Danh sách hiển thị mỗi phòng ban đang tính phí những nhóm nào.

Vì sao lại như vậy

Vì sao đọc phòng ban từ thư mục mà không từ token?

Token tồn tại đến khi hết hạn. Đọc bản ghi ở mỗi yêu cầu giúp việc chuyển phòng ban có hiệu lực ngay yêu cầu kế tiếp, không bắt ai đăng nhập lại.

Vì sao portal không ghi ngược về Entra ID?

Kênh ghi ngược cần quyền ghi thư mục trên toàn tenant, và đồng bộ từ hệ thống nhân sự cũng sẽ ghi đè lên. SCIM giữ một chiều; tạm ngưng là đòn bẩy riêng của portal.

Vì sao nhóm bị xoá phía nhà cung cấp không lưu trữ phòng ban?

Phòng ban do quản trị viên tạo, mang ngân sách và lịch sử. Từ chối việc xoá sẽ khiến nhà cung cấp thử lại mãi, nên portal bỏ liên kết và giữ phòng ban.

Bên dưới

Route nhóm nguồn và các lỗi
RouteTừ chối với
PUT /departments/:id/source-groups409 directory_portal_owned, source_group_taken, source_group_overlaps; 404 nhóm không tồn tại
PATCH /departments/{id}Độ ưu tiên âm

Mỗi liên kết là một dòng trong bảng riêng, được giải phóng bởi khoá ngoại khi nhóm bị xoá phía nhà cung cấp, với chỉ mục duy nhất để một nhóm tính phí tối đa một phòng ban. Body mang id nhóm của portal. Tên và mô tả được sửa qua PATCH /departments/{id}.

Nơi đặt chốt kiểm tra thư mục

Chốt directory_frozen nằm trong các use case, nên CLI harness cũng gặp nó dù không qua HTTP. SCIM ghi qua repository riêng và không cần ngoại lệ. Chế độ được kiểm tra ở mỗi lần gọi, không dùng cache, và các trigger SCIM ghi log lỗi mà không ném lại — lỗi 500 trên một thao tác đã được chấp nhận sẽ khiến nhà cung cấp thử lại mãi.

Liên quan

AI Portal Docs
EN VI