Hướng dẫn AgentFlow

Đơn vị tổ chức

Dựng cây đơn vị của tổ chức, gán người dùng và chủ thể dịch vụ vào đơn vị, di chuyển đơn vị với bản xem trước ảnh hưởng quyền truy cập, và đọc báo cáo tình trạng phân quyền.

Đơn vị tổ chức là gì?

Đơn vị tổ chức (organizational unit) là một nút trong cây tổ chức của bạn — phòng, ban, chi nhánh, tổ công tác. Trong AgentFlow, đơn vị có đúng ba nhiệm vụ:

  • Làm dữ kiện cho quyền truy cập. Một quyền truy cập bản ghi có phạm vi Đơn vị (Unit) hoặc Cây con (Subtree) neo vào một đơn vị cụ thể — chính đơn vị neo ấy là thứ mà phạm vi đọc tới, không phải đơn vị mà chủ thể được cấp quyền đang thuộc về. Hai phạm vi theo lượt gán — Đơn vị của họ và Đơn vị của họ và mọi cấp bên dưới — thì không neo vào đâu cả: chúng đọc chính các lượt gán được quản lý trên trang này. Xem Quyền truy cập Thực thể & Bản ghi.
  • Làm chỗ xếp bản ghi. Trên một thực thể có phân loại theo đơn vị, mỗi bản ghi thuộc về đúng một đơn vị — xem Phân loại theo đơn vị.
  • Làm nơi định tuyến công việc. Một bước Công việc người dùng (Human task) có thể giao việc cho Người trong một đơn vị: những người dùng đang được gán vào đơn vị ấy thấy công việc trong hộp công việc của mình, ai nhận trước thì người đó làm. Tập người ấy được đọc lại ở mỗi lần đọc chứ không chốt cứng lúc mở việc, nên hàng chờ thuộc về đơn vị chứ không thuộc về người: chuyển một người sang đơn vị khác là họ thôi thấy hàng chờ của đơn vị cũ và nhận hàng chờ của đơn vị mới. (Còn tập đơn vị mà quy tắc trải ra thì được chốt lúc mở việc — xem trang bước Công việc người dùng.)

Gán một chủ thể vào đơn vị không cấp cho họ quyền truy cập bản ghi nào cả — quyền trên bản ghi chỉ đến từ một lượt cấp quyền trên thực thể. Nhưng lượt gán (placement) không còn chỉ là giá trị mặc định: một lượt cấp quyền dùng phạm vi theo lượt gán (Đơn vị của họ / Đơn vị của họ và mọi cấp bên dưới) lấy chính các lượt gán của chủ thể làm tham số, nên đổi lượt gán là đổi tầm với của lượt cấp quyền ấy — thêm một lượt gán là nới ra, gỡ một lượt gán là thu hẹp lại, không ai phải sửa chính sách. Bên cạnh đó, đơn vị chính vẫn cung cấp đơn vị mặc định cho bản ghi mới mà chủ thể đó tạo ra — với một lượt chạy quy trình thì đó chỉ là giá trị dự phòng, vì bước Bản ghi thực thể có thể tự nêu đơn vị đích của nó. Và còn việc thứ ba: khi một bước Công việc người dùng (Human task) được giao cho Người trong một đơn vị, chính lượt gán quyết định ai thấy và ai nhận được việc ấy — chỉ người dùng, vì việc của con người không giao cho chủ thể dịch vụ, và người dùng đã ngừng hoạt động cũng bị loại. Nếu quy tắc còn thu hẹp bằng một nhóm thì lượt gán là điều kiện cần chứ chưa đủ: phải vừa thuộc đơn vị, vừa là thành viên nhóm ấy. Việc đó vẫn không cấp thêm quyền truy cập bản ghi nào: nó quyết định ai được cầm việc, chứ không quyết định người ấy đọc được những bản ghi nào. Trình soạn quyền còn đọc lượt gán ở một chỗ nữa — một dòng nhắc khi điểm neo của một phạm vi có neo không nằm trên nhánh của chủ thể — nhưng đó thuần túy là lời gợi ý: nó không cấp và cũng không chặn gì.

Vào Quản trị → Đơn vị tổ chức.

Mọi người dùng đã đăng nhập đều đọc được danh sách đơn vị — bộ chọn điểm neo khi cấp quyền và bộ chọn đơn vị khi tạo bản ghi đều cần tới nó. Nhưng mọi thao tác ghi trên trang này, cùng với báo cáo Tình trạng phân quyền, đều yêu cầu quyền deployment.admin (xem Vai trò & quyền).

Cây đơn vị là một rừng, không phải một cây duy nhất: bạn được phép có nhiều đơn vị cấp cao nhất, và đưa một đơn vị lên cấp cao nhất luôn hợp lệ.

Màn hình

Trang Đơn vị tổ chức: cây đơn vị bên trái, danh sách lượt gán của đơn vị đang chọn bên phải

Trang chia hai cột. Cột trái là thẻ Cây đơn vị. Cột phải là thẻ Gán đơn vị của đơn vị đang chọn, mà phần đầu thẻ chính là danh tính đơn vị đó — đường dẫn, tên, trạng thái Đã lưu trữ nếu có, thời điểm cập nhật gần nhất, cùng menu ⋯ như trên cây. Hai nút ở đầu trang là Tình trạng phân quyền (kèm chấm số màu hổ phách khi có phát hiện) và Đơn vị mới.

Khi bạn chưa chọn gì, trang tự chọn đơn vị cấp cao nhất đầu tiên chưa lưu trữ, nên cột phải không bao giờ trống một cách vô ích.

Thành phầnÝ nghĩa
Tìm đơn vị…Lọc theo tên hoặc mã. Đơn vị khớp vẫn giữ nguyên các cấp trên để bạn thấy vị trí của nó, và cây tự bung hết trong khi tìm. Không có kết quả thì hiện "Không có đơn vị nào khớp.".
Mã đơn vịHiển thị nhỏ, chữ đơn cách, ngay sau tên.
Chấm số cấp dướiĐếm chỉ các đơn vị con đang hoạt động. Đơn vị đã lưu trữ hiện huy hiệu Đã lưu trữ thay cho chấm số này.
Dòng đã lưu trữLàm mờ và in nghiêng, kèm biểu tượng lưu trữ.
⋯ (Thao tác với đơn vị)Menu của từng dòng: Đổi tên…, Di chuyển…, Thêm lượt gán…, rồi Lưu trữ… hoặc Bỏ lưu trữ.
Hiện đơn vị đã lưu trữCông tắc ở chân thẻ, bật sẵn — đơn vị đã lưu trữ hiển thị ngay từ lần mở đầu tiên.
Độ sâu ≤ nSố cấp sâu nhất hiện có trong cây.

Trên một đơn vị đã lưu trữ, Đổi tên… và Di chuyển… vẫn nằm trong menu nhưng bị vô hiệu, còn Thêm lượt gán… chỉ xuất hiện trên đơn vị đang hoạt động.

Cây điều khiển được hoàn toàn bằng bàn phím: mũi tên lên/xuống di chuyển giữa các dòng, ← và → thu gọn hoặc bung, Enter hoặc Space chọn, F2 mở hộp thoại đổi tên, Shift+F10 (hoặc phím Menu, hoặc chuột phải) mở menu của dòng. Mở menu trên một dòng không làm đổi đơn vị đang chọn ở cột phải.

Nếu tổ chức chưa có đơn vị nào, thẻ hiện "Chưa có đơn vị nào." / "Tạo một đơn vị cấp cao nhất để bắt đầu." kèm nút Đơn vị mới. Nếu không tải được danh sách, trang hiện cảnh báo "Không tải được danh sách đơn vị." cùng nút Thử lại.

Tạo đơn vị mới

  1. Nhấn Đơn vị mới ở đầu trang.
  2. Điền các ô bên dưới.
  3. Nhấn Tạo đơn vị.
TrườngMô tả
TênTên hiển thị của đơn vị. Bắt buộc, tối đa 120 ký tự.
MãĐịnh danh ngắn, duy nhất trong tổ chức. Bắt buộc, tối đa 40 ký tự, chỉ gồm chữ, số, dấu chấm, gạch ngang và gạch dưới.
Đơn vị chaĐể trống nếu đây là đơn vị cấp cao nhất. Đơn vị đã lưu trữ không được đưa ra làm cha.

Mã là duy nhất trong tổ chức nhưng đổi được bất cứ lúc nào, và không có gì trong hệ thống phụ thuộc vào nó — ô nhắc ngay dưới trường ghi rõ: "Duy nhất trong tổ chức. Mã có thể đổi nên không có gì phụ thuộc vào mã." Vì vậy đừng dùng mã đơn vị làm khóa ổn định cho báo cáo hay hệ thống bên ngoài; thứ ổn định là bản thân đơn vị, không phải mã của nó.

Nếu mã đã có đơn vị khác dùng, lỗi hiện ngay dưới ô Mã ("Đã có đơn vị khác dùng mã này.") chứ không phải một dải báo lỗi ở đầu hộp thoại. Không thể tạo đơn vị bên dưới một đơn vị đã lưu trữ: hộp thoại không đưa các đơn vị đó ra làm cha, và máy chủ cũng từ chối với "Không thể tạo đơn vị bên dưới một đơn vị đã lưu trữ.".

Đổi tên đơn vị

Nhấn F2 trên dòng, hoặc chọn Đổi tên… trong menu ⋯. Hộp thoại Đổi tên đơn vị hiển thị đường dẫn của đơn vị và cho sửa Tên và Mã. Ở đây không có ô đơn vị cha — đổi vị trí là thao tác Di chuyển… riêng. Nhấn Lưu thay đổi.

Mọi thao tác ghi trên trang này đều mang theo phiên bản của dòng dữ liệu bạn đang xem. Nếu người khác đã thay đổi đơn vị hoặc lượt gán đó kể từ khi màn hình của bạn tải, thao tác bị từ chối với "Có người khác đã thay đổi mục này kể từ khi bạn mở. Hãy tải lại và thử lại." thay vì ghi đè lên thay đổi của họ.

Di chuyển đơn vị

Đây là thao tác có hệ quả lớn nhất trên trang. Khi một đơn vị đổi đơn vị cha, mọi quyền theo cây con neo phía trên nó bỗng với tới một tập bản ghi khác. Vì vậy Di chuyển… là quy trình ba bước — Chọn đơn vị cha mới → Xem ảnh hưởng quyền truy cập → Di chuyển — và bước xem trước là bắt buộc: không có đường nào di chuyển mà bỏ qua nó.

Bước 1 — Chọn đơn vị cha mới

Bộ chọn liệt kê toàn bộ cây. Những đích đến không hợp lệ vẫn được liệt kê nhưng vô hiệu, kèm lý do, để bạn thấy vì sao thay vì thấy một lựa chọn biến mất:

Lý do hiện trên đích đếnNghĩa là
chính đơn vị nàyMột đơn vị không thể là cha của chính nó.
đơn vị cấp dưới — sẽ tạo vòng lặpĐích đến nằm bên trong cây con đang di chuyển.
đơn vị cha hiện tạiĐơn vị đã ở đó rồi.
đã lưu trữĐơn vị đã lưu trữ không nhận thêm đơn vị con.

Nút Xem trước ảnh hưởng chỉ bật khi bạn chọn một đơn vị cha khác đơn vị cha hiện tại.

Bước 2 — Xem ảnh hưởng quyền truy cập

Bước này trả lời đúng một câu hỏi: lần di chuyển này làm quyền nào với tới bản ghi khác đi? Đầu bước là ba thẻ số liệu:

ThẻNội dung
Đơn vị cha mới của {đơn vị}Đơn vị cha cũ → đơn vị cha mới.
Số đơn vị di chuyểnCả cây con: chính đơn vị đó cộng mọi cấp dưới, kể cả các đơn vị đã lưu trữ — nên con số này có thể lớn hơn những gì bạn thấy khi tắt công tắc hiện đơn vị đã lưu trữ.
Hồ sơ có quan hệ tổ tiên thay đổiTổng số bản ghi đang xếp ở bất kỳ đâu trong cây con đang di chuyển, trên mọi thực thể. Đây không phải số bản ghi được thêm hay mất quyền truy cập.

Bên dưới là danh sách "{n} quyền theo cây con đang neo phía trên đơn vị này". Mỗi dòng nêu thực thể và các thao tác, chủ thể được cấp, điểm neo ("cây con neo tại {đơn vị}"), cùng một chip mất hoặc thêm; chú giải đọc là "không còn với tới các hồ sơ này" (chấm đỏ) và "bắt đầu với tới chúng" (chấm xanh). Các dòng mất được xếp lên trước, vì đó là phần bạn cần cân nhắc trước khi xác nhận — một quyền được thêm hiếm khi làm ai bất ngờ, một quyền bị mất thì có.

Kế đó là danh sách những người mà độ phủ Đơn vị của họ và mọi cấp bên dưới thay đổi vì lần di chuyển này — từng người một, nêu phần mất và phần thêm, kèm tên nhóm khi quyền đến qua một nhóm. Phạm vi Đơn vị của họ (đúng đơn vị, không gồm cấp dưới) không bao giờ đổi độ phủ vì một lần di chuyển, nên không có mặt ở đây.

Bản xem trước này che phủ đúng cái gì

Nó không phải bản đối chiếu quyền tổng quát. Nó chỉ liệt kê các quyền theo cây con có điểm neo nằm phía trên đơn vị đang di chuyển — phía trên vị trí cũ (nên mất) hoặc phía trên đơn vị cha mới (nên thêm). Ghi chú ở cuối bước nói nốt phần còn lại: quyền neo tại chính đơn vị đó hoặc bên dưới thì đi cùng cây con nên không đổi; phạm vi Đơn vị đọc đúng một đơn vị mà bản ghi vẫn nằm nguyên trong đó; còn phạm vi own và organization không bao giờ phụ thuộc vào cây. Danh sách theo người bổ sung phần theo lượt gán: chỉ Đơn vị của họ và mọi cấp bên dưới đổi độ phủ khi cây đổi. Cả hai danh sách đều mô tả cấu trúc độ phủ — điều kiện của quyền chạm tới tập đơn vị nào — chứ không phải bản đối chiếu "ai mất quyền trên hồ sơ nào".

Dòng "Không có quyền theo cây con nào neo phía trên đơn vị này. Quyền truy cập không đổi." nghĩa là lần di chuyển này không làm đổi phạm vi của quyền nào. Nó không có nghĩa là đơn vị đó không có quyền nào neo vào.

Ghi chú cuối bước cũng nói rõ số liệu là ước tính tại thời điểm xem trước — chúng mô tả cây tại lúc bạn bấm xem trước, không phải lúc bạn bấm xác nhận.

Bước 3 — Di chuyển

Nhấn Di chuyển đơn vị để xác nhận, hoặc Giữ nguyên vị trí để thoát mà không thay đổi gì. Cả cây con di chuyển trong một giao dịch duy nhất, nên không người đọc nào thấy được trạng thái nửa vời.

Bản xem trước mang theo dấu vân tay của đúng những gì nó đã thấy: phiên bản của đơn vị, đích đến, tập quyền bị ảnh hưởng, và các lượt gán cùng tư cách thành viên nhóm mà danh sách độ phủ theo người dựa trên — một lượt gán hay thành viên nhóm đổi sau lúc xem trước cũng làm bản xem trước hết hiệu lực. Nếu bất kỳ phần nào trong đó thay đổi trước khi bạn xác nhận — ai đó đổi tên đơn vị, sửa một quyền, di chuyển thứ khác — thao tác bị từ chối và không có gì di chuyển. Hộp thoại không báo lỗi rồi đóng lại: nó hiện cảnh báo "Cây đơn vị đã thay đổi kể từ bản xem trước này.", làm mờ các con số đã cũ, và đổi nút xác nhận thành Làm mới bản xem trước.

Ngoài ra, cả bước xem trước lẫn bước di chuyển đều từ chối bốn tình huống về cấu trúc:

Bị từ chốiThông báo
Đích đến nằm bên trong cây con đang di chuyển"Không thể chuyển một đơn vị xuống dưới chính cấp dưới của nó."
Đơn vị đang di chuyển đã lưu trữ"Đơn vị đó đã lưu trữ và không nhận thêm gì mới."
Đơn vị cha mới đã lưu trữ"Không thể tạo đơn vị bên dưới một đơn vị đã lưu trữ."
Đơn vị cha mới không còn tồn tại"Đơn vị cha đó không còn tồn tại."

Gán đơn vị

Thẻ Gán đơn vị ở cột phải cho biết những chủ thể nào thuộc đơn vị đang chọn. Chỉ người dùng và chủ thể dịch vụ được gán vào đơn vị; bộ chọn có công tắc Người dùng | Chủ thể dịch vụ và chỉ đưa ra các chủ thể dịch vụ đang hoạt động. Nhóm không gán được vào đơn vị — nhóm là công cụ giao việc và gộp quyền, xem Nhóm.

Với chủ thể được nêu trong một lượt cấp quyền dùng phạm vi theo lượt gán, danh sách này đồng thời là tham số quyền truy cập của họ — thêm hay gỡ một dòng ở đây là đổi ngay tầm với của lượt cấp quyền ấy.

Trang này xem lượt gán theo phía đơn vị — thành viên của một đơn vị — và là nơi gán nhiều chủ thể cùng lúc. Chiều theo phía người dùng là thẻ Gán đơn vị trên trang Người dùng, liệt kê các đơn vị mà một người thuộc về. Chủ thể dịch vụ thì có thêm tab Gán đơn vị trên trang chi tiết của chính nó — xem Chủ thể dịch vụ (Service principal).

Thêm một lượt gán

  1. Nhấn Thêm lượt gán trên thẻ, hoặc chọn Thêm lượt gán… trong menu ⋯ của dòng.
  2. Bấm Thêm, rồi chọn một hoặc nhiều chủ thể. Danh sách có một thẻ cho mỗi loại — Người dùng và Chủ thể dịch vụ — cùng một ô tìm kiếm chung; mỗi lượt chọn thành một thẻ nhỏ có thể bỏ đi. Chủ thể đã ở trong đơn vị này vẫn hiện ra nhưng bị làm mờ, kèm ghi chú đã được gán.
  3. Nếu muốn, tích Đặt đây làm đơn vị chính.
  4. Nhấn Thêm lượt gán trong hộp thoại.

Ô tích Đặt đây làm đơn vị chính áp dụng cho mọi chủ thể bạn đã chọn, và nói trước hệ quả — "Thao tác này hạ đơn vị chính hiện tại của {count} chủ thể đã chọn." — đếm trên cả lượt chọn, để bạn biết bao nhiêu giá trị mặc định sắp thay đổi trước khi xác nhận.

Việc thêm diễn ra theo từng chủ thể chứ không phải được ăn cả ngã về không: một lượt bị từ chối không làm hỏng những lượt còn lại. Khi có lượt bị từ chối, hộp thoại ở lại với một bản báo cáo — đã chọn bao nhiêu, thêm được bao nhiêu, không thêm được bao nhiêu, rồi một dòng cho mỗi chủ thể kèm lý do và mã lỗi — còn nếu mọi thứ trót lọt thì hộp thoại tự đóng. Nút gửi chỉ bị vô hiệu khi mọi chủ thể bạn chọn đều đã ở trong đơn vị này.

Đơn vị chính

Đơn vị chính là đơn vị mặc định cho bản ghi mới của chủ thể đó, và cờ "chính" không làm gì hơn thế — với hai phạm vi theo lượt gán, mọi lượt gán đều tính như nhau, chính hay không. Quy tắc gọn trong ba câu, đúng như chân thẻ ghi:

  • Mỗi chủ thể có nhiều nhất một đơn vị chính đang hoạt động — và hoàn toàn có thể không có đơn vị chính nào.
  • Đặt làm đơn vị chính trên một dòng sẽ hạ đơn vị chính cũ trong cùng một giao dịch; hai quản trị viên thao tác cùng lúc sẽ nhận một lời từ chối chứ không tạo ra hai đơn vị chính.
  • Gỡ đơn vị chính không tự đôn đơn vị nào lên. Chủ thể bị bỏ lại không có đơn vị chính — cố ý như vậy, để một quản trị viên chọn thay vì để thứ tự truy vấn chọn hộ.

Với một lượt chạy quy trình, đơn vị chính chỉ là giá trị dự phòng

Khi một người tự tay tạo bản ghi, đơn vị chính là chỗ mặc định — nhưng chỉ là mặc định: ô chọn đơn vị đích trên biểu mẫu vẫn cho họ đổi sang bất kỳ đơn vị nào phạm vi Tạo của họ bao phủ. Một lượt chạy quy trình thì còn một cần gạt nữa: bước Bản ghi thực thể có ô Đơn vị đích (Destination unit) với ba chế độ, và đơn vị chính của chủ thể chạy chỉ là thứ mà chế độ mặc định Đơn vị của chủ thể (Principal's unit) đọc tới. Chọn Một đơn vị (A unit) thì chính bước nêu đích; chọn Đơn vị của bản ghi kích hoạt (Trigger's unit) thì lấy đơn vị của bản ghi đã kích hoạt lượt chạy, và chỉ quay về đơn vị của chủ thể khi không có bản ghi kích hoạt, hoặc bản ghi ấy không nằm ở đơn vị nào.

Dù ở chế độ nào, thiết lập đó cũng không mở rộng quyền: nó chỉ chọn trong số các đơn vị mà chủ thể chạy vốn đã được phép lưu vào.

Nút Gỡ trên một dòng lượt gán chạy ngay, không có hộp thoại xác nhận — trên trang này chỉ thao tác lưu trữ mới có bước xác nhận. Trang Người dùng thì có hỏi lại, vì ở đó dòng bị gỡ mang tên một đơn vị chứ không phải một người, và gỡ đơn vị chính sẽ lặng lẽ khiến họ không còn giá trị mặc định nào. Trang này cũng không có Bỏ đơn vị chính: từ đây bạn chuyển đơn vị chính sang đơn vị khác hoặc gỡ hẳn lượt gán, còn việc bỏ cờ chính mà giữ lượt gán thì làm trên trang chi tiết của chính chủ thể đó — của người dùng hoặc của chủ thể dịch vụ.

"Đang hoạt động" là phần dễ bỏ sót: đơn vị chính chỉ tính khi đơn vị đó chưa lưu trữ. Nếu đơn vị giữ đơn vị chính của một người bị lưu trữ, người đó coi như không có đơn vị chính, và lần tạo bản ghi tiếp theo không chỉ định đơn vị trên một thực thể phân loại theo đơn vị sẽ thất bại với "Thực thể này bắt buộc có đơn vị, nhưng không xác định được đơn vị nào." — chứ không phải một lỗi nói rằng đơn vị đã lưu trữ. Báo cáo Tình trạng phân quyền nêu đúng trường hợp này.

Trên một đơn vị đã lưu trữ, nút Thêm lượt gán bị vô hiệu với chú thích "Đơn vị đã lưu trữ không nhận thêm lượt gán.", các dòng hiện có bị làm mờ và không còn nút Đặt làm đơn vị chính, kèm ghi chú nhắc rằng đơn vị vẫn được dùng để xác định các bản ghi và quyền đã gắn với nó, và trỏ bạn tới Bỏ lưu trữ trong menu của dòng.

Lưu trữ và khôi phục đơn vị

Lưu trữ là cách ngừng dùng một đơn vị mà không phá vỡ những gì đã trỏ vào nó.

Đơn vị đã lưu trữ vẫn làmĐơn vị đã lưu trữ từ chối
Giữ nguyên quan hệ cha con, nên quyền truy cập hiện có vẫn tính được.Nhận đơn vị con mới.
Tiếp tục xác định các quyền đã neo vào nó, đúng như đã lưu — và tiếp tục được các phạm vi theo lượt gán phân giải cho chủ thể đang được gán trong nó: lưu trữ chặn việc xếp mới vào đơn vị, không rút lại quyền truy cập qua đơn vị.Nhận bản ghi mới, và nhận bản ghi chuyển vào.
Giữ các bản ghi đã xếp trong nó ở trạng thái đọc được như trước.Nhận lượt gán mới.
Hiển thị trong cây (công tắc Hiện đơn vị đã lưu trữ bật sẵn).Làm điểm neo cho một quyền mới.
Tiếp tục định tuyến công việc: một bước đã neo vào nó vẫn tìm ra người, vì người trong đơn vị vẫn còn đó.Được chọn làm điểm neo mới cho một quy tắc Người trong một đơn vị.

Chọn Lưu trữ… trong menu ⋯. Hộp thoại Lưu trữ đơn vị nêu đường dẫn kèm số đơn vị con và số lượt gán, giải thích những gì lưu trữ giữ lại và từ chối, rồi bắt bạn tích ô "Tôi hiểu rằng hồ sơ và lượt gán mới vào {đơn vị} sẽ bị từ chối.". Chưa tích thì nút Lưu trữ đơn vị vẫn mờ và dòng "Hãy xác nhận hệ quả để tiếp tục." hiện lên.

Lưu trữ không lan xuống cấp dưới. Các đơn vị con vẫn hoạt động bên dưới một đơn vị cha đã lưu trữ — hộp thoại cảnh báo đúng điều này và nêu tên chúng. Báo cáo Tình trạng phân quyền sẽ nêu cây đơn vị này cho tới khi bạn di chuyển hoặc lưu trữ luôn các đơn vị con.

Thao tác này đảo ngược được: chọn Bỏ lưu trữ trong menu ⋯ của một đơn vị đã lưu trữ. Hai điều cần biết trước khi khôi phục — không khôi phục được một đơn vị mà đơn vị cha của nó vẫn đang lưu trữ (hãy khôi phục đơn vị cha trước), và không thể vừa khôi phục vừa đổi tên trong cùng một lần: hãy khôi phục trước, đổi tên sau.

Mọi thay đổi về đơn vị và lượt gán đều ghi một dòng nhật ký quản trị kèm giá trị cũ và mới: tạo, đổi tên, di chuyển, lưu trữ, khôi phục, thêm lượt gán, gỡ lượt gán, đổi đơn vị chính. Một lần đổi đơn vị chính ghi lại cả đơn vị được nâng lẫn đơn vị bị hạ.

Tình trạng phân quyền

Trang Tình trạng phân quyền: bốn ô thống kê, rồi các phát hiện xếp theo nhóm, mỗi phát hiện kèm cách khắc phục

Nút Tình trạng phân quyền ở đầu trang mở báo cáo về mọi thứ trong mô hình phân quyền theo đơn vị đang ở trạng thái không dùng được. Báo cáo được tạo theo yêu cầu, ngay khi bạn mở trang; dòng "Tạo lúc … · theo yêu cầu." cho biết thời điểm, và nút Làm mới tạo lại.

Báo cáo này chỉ báo cáo, không tự sửa. Nó không đoán, không tự chỉnh, và không có nút "sửa giúp tôi" nào. Mỗi phát hiện nêu đích danh thứ mà một quản trị viên có thể sửa và cách sửa; việc sửa luôn do người thực hiện, ở màn hình tương ứng.

Đầu trang là một khối trạng thái cho biết việc thực thi run-as của quy trình đã sẵn sàng hay chưa — "Thực thi run-as cho quy trình: sẵn sàng." hoặc "…: chưa sẵn sàng.". Khối này được tính độc lập với danh sách phát hiện: nó xanh chỉ khi không còn định nghĩa quy trình nào mang chính sách run-as chưa xác định và không còn lượt chạy đang hoạt động nào chưa được quy chủ. Đây là tín hiệu chuyển đổi, không phải một công tắc bỏ qua kiểm tra — việc thực thi vẫn diễn ra bất kể khối này màu gì. Xem Chạy với tư cách (Run as).

Tiếp theo là bốn ô số liệu về tự động hóa, luôn hiển thị (màu trung tính khi bằng 0, màu hổ phách khi khác 0): định nghĩa chưa xác định, lượt chạy đang hoạt động không có chủ thể, lượt chạy bị chặn do ủy quyền, chủ thể thực thi không hợp lệ.

Phần thân chia thành sáu nhóm theo thứ tự cố định — Cây đơn vị, Gán đơn vị, Chủ thể tự động hóa, Phân loại hồ sơ, Điểm neo quyền, Khác. Nhóm nào không có gì thì hiện dòng "Không có gì để báo cáo." (riêng Khác thì ẩn hẳn khi trống — nhóm này dành cho các phát hiện mà bản dựng hiện tại của màn hình chưa biết tới).

Phát hiệnNghĩa làCách khắc phục
Đơn vị đang hoạt động dưới đơn vị cha đã lưu trữBạn đã lưu trữ một đơn vị cha mà chưa xử lý các đơn vị con.Chuyển đơn vị sang một đơn vị cha đang hoạt động, hoặc lưu trữ luôn.
Lượt gán vào đơn vị đã lưu trữĐơn vị đã được lưu trữ trong khi chủ thể vẫn được gán vào đó; bản ghi mới mặc định vào đơn vị này sẽ bị từ chối.Gán chủ thể vào một đơn vị đang hoạt động và gỡ lượt gán này.
Chủ thể chưa có đơn vị chínhChủ thể có quyền tạo theo phạm vi own trên một thực thể phân loại theo đơn vị nhưng chưa có đơn vị chính, nên lượt tạo không chỉ định đơn vị sẽ thất bại.Đặt một trong các lượt gán của chủ thể làm đơn vị chính. Nếu lượt tạo hỏng nằm trong một quy trình, còn một cách nữa: đặt Đơn vị đích của bước đó ở chế độ Một đơn vị.
Chủ thể giữ phạm vi theo vị trí xếp nhưng chưa được xếp vào đơn vị nàoChủ thể được nêu trong một lượt cấp quyền dùng phạm vi Đơn vị của họ hoặc Đơn vị của họ và mọi cấp bên dưới mà không có lượt gán nào, nên phạm vi ấy không khớp hồ sơ nào cả — đóng về phía an toàn.Gán chủ thể vào đơn vị của họ ở trang này. Cách sửa là một lượt gán, không phải một lần sửa chính sách.
Hồ sơ chưa có đơn vị trên thực thể phân loại theo đơn vịSố bản ghi không đơn vị nào với tới được — không phạm vi đơn vị hay cây con nào chạm tới chúng.Mở trình duyệt bản ghi của thực thể, lọc các bản ghi chưa có đơn vị rồi gán đơn vị, hoặc chạy thao tác gán đơn vị hàng loạt trong thiết lập của thực thể.
Hồ sơ trỏ tới đơn vị không tồn tạiBản ghi mang một đơn vị không còn tồn tại.Gán lại các bản ghi đó vào một đơn vị đang hoạt động.
Quyền neo vào đơn vị đã lưu trữ hoặc không dùng đượcMột phạm vi đơn vị hoặc cây con vẫn trỏ tới đơn vị đã lưu trữ, hoặc nằm trên thực thể không còn phân loại theo đơn vị. Quyền vẫn được đánh giá đúng như đã lưu; chỉ là không neo thêm được gì mới vào đó.Neo lại quyền vào một đơn vị đang hoạt động, hoặc gỡ phạm vi đó.

Khi lượt tạo hỏng nằm trong một quy trình

Phát hiện Chủ thể chưa có đơn vị chính nói về lượt tạo không chỉ định đơn vị. Nếu lượt tạo đó nằm trong một quy trình, bạn có một cách khắc phục không đụng gì tới cây đơn vị: mở bước Bản ghi thực thể và đặt Đơn vị đích ở chế độ Một đơn vị. Bước tự nêu đích, nên lượt chạy thôi phụ thuộc vào việc chủ thể có đơn vị chính hay không.

Cách này chỉ dùng được khi chủ thể chạy còn một quyền tạo khác với tới đúng đơn vị bạn chọn. Quyền tạo theo phạm vi own chỉ lưu được vào đúng đơn vị chính của chủ thể — nên nếu đó là quyền tạo duy nhất của chủ thể trên thực thể này, đặt đơn vị chính vẫn là cách duy nhất.

Nhóm Chủ thể tự động hóa gom các phát hiện về run-as: định nghĩa quy trình chưa xác định chạy với tư cách ai, lượt chạy đang hoạt động không có chủ thể thực thi, chủ thể thực thi không hợp lệ, và Các lượt chạy bị chặn do phân quyền — mỗi lượt chạy bị từ chối một thao tác mà chủ thể của nó không còn quyền, và đang chờ quản trị viên. Bốn nhóm phát hiện này hiển thị dưới dạng bảng có liên kết đưa thẳng tới nơi sửa: tới quy trình để đặt tư cách chạy, hoặc tới lượt chạy để đặt chủ thể. Xem Chạy với tư cách (Run as) và Chủ thể dịch vụ (Service principal).

Vài điều về cách đọc con số ở đây. Chấm số màu hổ phách cạnh nút Tình trạng phân quyền đếm số loại phát hiện, không phải số vấn đề — bốn loại phát hiện phủ 3.000 bản ghi vẫn hiện "4". Phát hiện có số đếm bằng 0 bị loại hẳn khỏi báo cáo, nên nhóm "khỏe mạnh" hiện "Không có gì để báo cáo."; riêng bốn ô số liệu tự động hóa thì luôn hiện, kể cả khi bằng 0. Mỗi phát hiện kèm tối đa 10 ví dụ dễ đọc — đường dẫn đơn vị, tên chủ thể, tên thực thể kèm số lượng — và không bao giờ có mã bản ghi, vì báo cáo hiển thị cho quản trị viên có thể không có quyền đọc bản ghi. Cũng vì vậy, bảng các lượt chạy bị chặn không bao giờ nêu bản ghi mà lượt chạy đó bị từ chối.

Ví dụ

Ví dụ này chạy trên đúng tổ chức mẫu được kể trọn vẹn ở Ví dụ: phân quyền cho một tổ chức — cùng cây đơn vị, cùng con người, cùng bốn hồ sơ. Ở đây chỉ lấy ra ba khoảnh khắc mà chính trang này quyết định người khác nhìn thấy gì.

Cây đơn vị và hai phạm vi

Cây dựng trên Quản trị → Đơn vị tổ chức trông như sau:

HQ
├── North
│   ├── Accounts Payable          mã AP
│   └── Human Resources           mã HR
└── South
Shared Services                   một gốc thứ hai, không nằm dưới HQ
Legacy Ops                        một gốc thứ ba, đã lưu trữ

Bốn hồ sơ của thực thể Hồ sơ vụ việc nằm rải trong cây đó: HS-001 và HS-002 ở Accounts Payable, HS-003 ở Human Resources, HS-004 ở South.

Hai đơn vị con của North chính là chỗ hai phạm vi tách nhau ra. Một quyền phạm vi Đơn vị neo tại Accounts Payable với tới HS-001 và HS-002 rồi dừng lại. Một quyền phạm vi Cây con neo tại North với thêm cả HS-003 ở Human Resources. Cùng một cây, hai phạm vi, hai tập hồ sơ khác nhau — và không phạm vi nào trong hai phạm vi ấy chạm tới HS-004 ở South.

Di chuyển Human Resources sang South

Tổ chức lại: Human Resources chuyển từ North sang South. Mở menu ⋯ trên dòng Human Resources rồi chọn Di chuyển….

Ở bước Chọn đơn vị cha mới, South chọn được. Human Resources bị vô hiệu với lý do chính đơn vị này, North với lý do đơn vị cha hiện tại, Legacy Ops với lý do đã lưu trữ. Chọn South rồi nhấn Xem trước ảnh hưởng.

Thẻ số liệuVới lần di chuyển này
Đơn vị cha mới của Human ResourcesNorth → South.
Số đơn vị di chuyển1 — Human Resources không kéo theo đơn vị con nào.
Hồ sơ có quan hệ tổ tiên thay đổi1 — chỉ HS-003 được xếp trong Human Resources.

Bên dưới là danh sách quyền bị ảnh hưởng, và nó có đúng một dòng: quyền của Trần Văn Lân trên Hồ sơ vụ việc cho thao tác Xem và Liệt kê, điểm neo ghi "cây con neo tại North", kèm chip mất.

Đó là toàn bộ lý do bước xem trước tồn tại. Không ai mở tab Quyền truy cập của Hồ sơ vụ việc, không lượt cấp quyền nào bị sửa một chữ — quyền vẫn ghi cây con neo tại North đúng như hôm qua. Thứ di chuyển là cái cây bên dưới nó. Ngay khi bạn nhấn Di chuyển đơn vị, HS-003 rời khỏi tầm đọc của giám đốc vùng.

Dòng Sửa của quyền đó không xuất hiện trong bản xem trước, và đúng là không nên xuất hiện: dòng ấy có phạm vi của mình, mà phạm vi own không bao giờ phụ thuộc vào cây. Hệ quả là sau lần di chuyển, Lân vẫn sửa được HS-003 vì anh ấy sở hữu nó, nhưng không còn xem hay liệt kê được nó nữa — mỗi thao tác được phân giải riêng.

Một lượt gán không cấp gì

Quay lại lúc dựng tổ chức. Trần Văn Lân được thêm vào thẻ Gán đơn vị của North, không tích Đặt đây làm đơn vị chính. Thao tác đó không làm một hồ sơ nào hiện ra cho anh ấy.

Ở chế độ Hạn chế, HS-001, HS-002 và HS-003 chỉ đến tay Lân khi có người viết cho anh ấy một lượt cấp quyền Cây con ▾ North trên tab Quyền truy cập của Hồ sơ vụ việc — kể cả HS-002 và HS-003 vốn do chính anh ấy sở hữu, vì quyền sở hữu chỉ có nghĩa khi có một phạm vi của mình đọc tới nó.

Và lượt cấp quyền ấy không hề đọc lượt gán của anh ấy. Điểm neo North là do người viết quyền chọn ra; xếp Lân vào South thay vì North thì quyền đó vẫn với tới đúng ba hồ sơ ấy. Với một lượt cấp quyền có neo như thế này, lượt gán đóng góp đúng một thứ: đơn vị mặc định cho hồ sơ mới do anh ấy tạo ra. (Viết cho anh ấy một lượt cấp quyền Đơn vị của họ thì ngược lại — phạm vi ấy đọc đúng lượt gán, và chuyển anh ấy sang South là tầm với đi theo. Bốn chính sách của ví dụ này không dùng phạm vi đó.)

Chiều ngược lại mới là lý do quy tắc ấy cố ý được giữ như vậy: một phạm vi có neo với tới đúng đơn vị được nêu, bất kể chủ thể đứng ở đâu trong cây — và đó là cách duy nhất diễn đạt được việc ủy quyền chéo nhánh. Cấp cho Lân, người đang đứng ở North, một phạm vi Cây con ▾ South thì anh ấy thực sự đọc được HS-004 ở South; cấp Đơn vị ▪ South cho một chủ thể dịch vụ chưa được gán vào đơn vị nào thì cũng với tới đúng hồ sơ ấy. Cả hai lượt cấp quyền đều lưu đúng như đã soạn và đều thực sự trao đúng tầm với ấy — chỗ đứng của người nhận không cộng thêm và cũng không trừ bớt.

Trong trình soạn quyền có đúng một chỗ đọc tới lượt gán, và nó không quyết định điều gì: khi điểm neo không nằm trên nhánh của bất kỳ lượt gán nào của chủ thể — đúng như tình huống xếp Lân vào South rồi neo tại North ở trên — bước Phạm vi hiện thêm một dòng nhắc, nói rằng phạm vi có neo trỏ tới đơn vị được nêu chứ không phải đơn vị của chủ thể, rằng lượt cấp quyền vẫn lưu đúng như đã soạn, và gợi ý chính đơn vị của chủ thể làm điểm neo thay thế. Đó là lời nhắc, không phải lời từ chối: một dòng nhắc hiện ra cạnh điểm neo không hề mâu thuẫn với quy tắc ở trên — nó chỉ là trình soạn quyền nhận ra điểm neo và người được cấp đang nằm trên hai nhánh khác nhau, rồi nói ra điều đó. Xem Quyền truy cập Thực thể & Bản ghi.

Hai phát hiện trên ảnh chụp báo cáo Tình trạng phân quyền ở trên đến từ chính tổ chức này, và cả hai đều là phát hiện về lượt gán. Vũ Quốc Bảo còn được gán vào Legacy Ops đã lưu trữ, nên hồ sơ mới mặc định vào đơn vị đó sẽ bị từ chối. Trần Văn Lân không có đơn vị chính ở bất cứ đâu, nên ngay khi một quyền cho phép anh ấy tạo hồ sơ trên một thực thể phân loại theo đơn vị, lệnh tạo không chỉ định đơn vị sẽ thất bại. Báo cáo nêu tên cả hai và nói cách sửa; việc sửa vẫn do người thực hiện.

Nhắc lại điều quan trọng nhất

Một lượt gán đơn vị không phải một vai trò nhẹ. Tự nó, nó không cấp quyền truy cập bản ghi nào, không làm bản ghi nào hiện ra, và không thay thế được việc cấp quyền. Nó trả lời ba câu hỏi: bản ghi mới do chủ thể này tạo ra mặc định thuộc về đơn vị nào?; chỉ khi một lượt cấp quyền theo lượt gán nhắc tới chủ thể, phạm vi ấy phủ những đơn vị nào?; và ai thấy, ai nhận được công việc định tuyến tới đơn vị này? Câu thứ hai là lý do việc thêm hay gỡ lượt gán trên trang này có thể nới ra hay thu hẹp tầm với của một lượt cấp quyền như thế — nhưng lượt cấp quyền vẫn phải có trước đã. Câu thứ ba thì không cần lượt cấp quyền nào cả: một bước giao cho Người trong một đơn vị đọc thẳng danh sách trên trang này. Dòng nhắc về điểm neo trong trình soạn quyền cũng không phải ngoại lệ — nó chỉ gợi ý một điểm neo, không cấp thêm quyền nào. Nếu ai đó không thấy dữ liệu họ cần, câu trả lời nằm ở Quyền truy cập Thực thể & Bản ghi, không nằm ở trang này.

Xem thêm

On this page