For AI agents: the complete documentation index is available at https://nhanbe.id.vn/llms.txt, the full documentation bundle is available at https://nhanbe.id.vn/llms-full.txt, and this page is available as Markdown at https://nhanbe.id.vn/aem/articles/security-aem65.md.

Overview of user administration, groups, privileges, and security configurations in AEM 6.5.

User Administration and Security

Users and Groups

  • User: tài khoản đăng nhập AEM, giữ thông tin cơ bản và các privilege được gán.
  • Group: tập hợp user hoặc group khác. Thay đổi trên group áp dụng cho toàn bộ member — dùng group để quản lý permission thay vì gán thẳng cho từng user.

Built-in Users and Groups

AEM cài sẵn một số user/group mặc định. Đổi tất cả default password ngay sau cài đặt.

User/GroupTypeMô tảKhuyến nghị
admin (pw: admin)UserToàn quyền hệ thống, dùng cho kết nối WCM-CRX. Không thể xóa, sẽ được tạo lại khi restart.Đổi password ngay sau cài đặt
anonymousUserQuyền tối thiểu cho truy cập không xác thực. Không thể xóa vĩnh viễn, chỉ có thể disable.Không nên disable/xóa, ảnh hưởng author instance
author (pw: author)UserGhi vào /content, có quyền contributor + surfer. Đây là Geometrixx demo user, không phải built-in.Xóa hoặc đổi password
administratorsGroupToàn quyền. Chỉ admin mới sửa được group này. Bỏ qua cả deny-everyone trên node.—
content-authorsGroupChỉnh sửa nội dung: read, modify, create, delete.Tạo group riêng theo project nếu cần
contributorGroupQuyền cơ bản để viết content. Không có quyền truy cập cây /content, phải gán riêng.—
dam-usersGroupQuyền upload/share asset và collection trong AEM Assets.—
everyoneGroupMọi user đều thuộc group này. Dùng để gán quyền mặc định cho tất cả.Không sửa hoặc xóa
tag-administratorsGroupĐược phép chỉnh sửa tags.—
user-administratorsGroupQuyền tạo/quản lý user và group.—
workflow-editorsGroupTạo và chỉnh sửa workflow model.—
workflow-usersGroupBắt buộc cho user tham gia workflow. Có quyền truy cập /etc/workflow/instances.Thêm user thủ công vào group này

Permissions trong AEM

AEM dùng ACL (Access Control List) để xác định user/group được phép làm gì và ở path nào.

Các Action trên resource

ActionMô tả
ReadĐọc trang và các trang con
ModifySửa nội dung, tạo paragraph. Ở JCR level: edit properties, lock, version, write trên node có jcr:content (cq:Page, nt:file, cq:Asset)
CreateTạo trang hoặc trang con. Nếu Modify bị deny thì subtree bên dưới jcr:content bị loại trừ
DeleteXóa paragraph hoặc trang. Tương tự Create — nếu Modify bị deny thì subtree jcr:content bị loại trừ
Read ACLĐọc access control list của trang
Edit ACLSửa access control list của trang
ReplicateReplicate content sang môi trường khác (ví dụ Publish). Áp dụng cho cả trang con
Note

AEM tự tạo user group cho role-assignment (Owner, Editor, Viewer) trong Collections. Không nên thêm ACL thủ công cho các group này vì có thể tạo ra lỗ hổng bảo mật.

Cách ACL được đánh giá

ACL được xây dựng theo cây phân cấp trang, quét từ dưới lên (bottom-up) cho đến khi tìm thấy permission phù hợp đầu tiên.

Để xem ACL mẫu, mở CRXDE > tab Access Control tại:

  • /etc/cloudservices
  • /home/users/we-retail

Permission States

Trạng tháiÝ nghĩa
Allow (checkbox checked)Cho phép thực hiện action trên trang này và trang con
Deny (không checkbox)Từ chối thực hiện action trên trang này và trang con

Nếu không có permission nào được định nghĩa cho một trang, tất cả actions đều bị deny.

Ký hiệu trên checkbox khi permission không kế thừa từ node cha:

  • * (asterisk): có ít nhất một local entry (effective hoặc ineffective) — wildcard ACL định nghĩa trong CRX.
  • ! (exclamation): có ít nhất một entry hiện không có hiệu lực.

Khuyến nghị quản lý ACL:

  • Không gán permission trực tiếp cho user, chỉ gán cho group.
  • Nếu user chỉ cần sửa trang: chỉ gán Modify + Read, không gán Create/Delete.
  • Ưu tiên dùng Allow, hạn chế dùng Deny. Deny từ nhiều group có thể triệt tiêu nhau và gây kết quả ngoài ý muốn.

Xem chi tiết Permission

Trong tab Permissions, duyệt theo path bằng cách expand/collapse node để theo dõi kế thừa permission. Click Details để xem chi tiết:

  • Phần trên: hiển thị lại thông tin từ tree grid — không có icon (chưa khai báo), tick (allow), dấu trừ (deny).
  • Phần dưới: danh sách user/group khai báo entry cho path đó.

Impersonate User

Tính năng Impersonate cho phép user-B thực hiện thao tác với đầy đủ quyền của user-A. Dùng khi nghỉ phép, debug, hoặc chia sẻ tải tạm thời.

Note

User không phải admin cần có quyền READ trên /home/users mới dùng được tính năng này.

Warning

Khi đang impersonate, audit log ghi lại thời điểm bắt đầu/kết thúc, nhưng access log chỉ thấy tên user được impersonate (user-A), không thấy user thực sự thao tác (user-B). Ngoài ra, page bị lock khi impersonate chỉ unlock được bởi user bị impersonate hoặc admin.

Best Practices

Nguyên tắcLý do
Dùng Group thay vì UserGroup ít hơn user, dễ bảo trì, kế thừa đơn giản hơn
Ưu tiên Allow, tránh DenyDeny từ nhiều group có thể triệt tiêu nhau, gây kết quả khó đoán
Cấu trúc rõ ràng ngay từ đầuDễ bảo trì và bàn giao sau này
Test trên môi trường riêngKiểm tra quan hệ user/group trước khi áp dụng production
Đổi Default User/Group ngay sau cài đặtTránh lỗ hổng bảo mật từ tài khoản mặc định

Quản lý Users và Groups

Truy cập Security Console tại https://<server>:<port>/useradmin (đăng nhập bằng admin).

Các tab trong Security Console:

TabChức năng
Filter boxLọc danh sách user/group theo từ khóa
Hide Users / Hide GroupsToggle ẩn user hoặc group khỏi danh sách
EditTạo, xóa, activate/deactivate user hoặc group
PropertiesXem/sửa thông tin user/group, đổi password
GroupsDanh sách group mà account đang thuộc về, thêm/xóa khỏi group
MembersChỉ dùng cho group — liệt kê member của group đó
PermissionsGán quyền theo path: read/write/delete, hierarchy, replication
ImpersonatorsCấu hình user nào được phép impersonate account này
PreferencesCài đặt ngôn ngữ, toolbar cho user/group

Lọc và ẩn Users/Groups

  • Filter: nhập từ khóa vào ô lọc rồi click kính lúp. Click x để xóa filter.
  • Hide Users / Hide Groups: toggle để ẩn user hoặc group (không thể ẩn cả hai cùng lúc). Click lại để hiện.

Tạo User và Group

  1. Click Edit > Create User hoặc Create Group.
  2. Nhập thông tin:
    • User: Login ID, tên, email, password. AEM tự tạo path dựa trên chữ cái đầu của last name.
    • Group: Group ID và mô tả (tùy chọn).
  3. Click Create.

Xóa User và Group

  1. Chọn user/group (Shift+click hoặc Ctrl+click để chọn nhiều).
  2. Click Edit > Delete > OK.

Sửa Properties

Double-click user/group > tab Properties > sửa > Save.

Note

Path của user hiển thị ở cuối Properties và không thể sửa.

Đổi Password

Note

Không dùng Security Console để đổi password của tài khoản admin. Dùng Granite Operations > Users Console. Với AEM Forms on JEE, dùng Admin Console (/adminui).

  1. Double-click user > tab Properties > click Set Password.
  2. Nhập password mới hai lần > click Set.

Thêm User/Group vào Group

Có 3 cách:

Qua tab Groups (từ phía user/group con):

  1. Double-click account cần gán > tab Groups.
  2. Kéo tên group từ tree sang pane Groups > Save.

Qua tab Members (từ phía group cha):

  1. Double-click group cần thêm member > tab Members.
  2. Kéo tên member từ tree sang pane Members > Save.

Qua tab Permissions:

  1. Double-click user/group > tab Permissions > điều hướng đến path > click Details.
  2. Tick checkbox cột Member cho member cần gán quyền > OK.

Xóa User/Group khỏi Group

Qua tab Groups: Double-click account > tab Groups > chọn group > click Remove > Save.

Qua tab Members: Double-click group > tab Members > chọn member > click Remove > Save.

Qua tab Permissions: Double-click user/group > tab Permissions > điều hướng đến path > click Details > bỏ tick checkbox cột Member > OK.

User Synchronization

Khi deploy theo mô hình publish farm (TarMK), user và group phải được đồng bộ giữa các publish node. Xem thêm: User Synchronization.

Quản lý Permissions

Note

AEM cung cấp Touch UI Principal View để quản lý permission. Xem: Principal View for Permissions Management.

Gán Permissions

  1. Double-click user/group trong Security Console.
  2. Tab Permissions > tick/bỏ tick checkbox tương ứng với action và path.
  3. Click Save.

Gán Replication Privilege

Replication privilege là quyền publish content. Thứ tự ưu tiên: user > group, Allow > Deny.

  1. Double-click user/group > tab Permissions.
  2. Điều hướng đến path cần cấu hình.
  3. Tick/bỏ tick cột Replicate > Save.

Tìm kiếm Node

  • Path search: chuỗi bắt đầu bằng / — tìm subnode trực tiếp của path đó.
    • Mũi tên phải: chọn subnode trong kết quả.
    • Mũi tên xuống: tìm lại.
    • Enter: chọn subnode và load vào tree grid.
  • Fulltext search: chuỗi không bắt đầu bằng / — tìm toàn văn trong tất cả node bên dưới /content.

Cấu hình Impersonators

Cho phép user khác impersonate tài khoản hiện tại:

  1. Double-click user cần được impersonate > tab Impersonators.
  2. Kéo user (người sẽ impersonate) từ tree vào pane Impersonate.
  3. Click Save.

Cài đặt Preferences

Chọn user/group (Ctrl+click hoặc Shift+click cho nhiều) > tab Preferences > sửa cài đặt ngôn ngữ, toolbar > Save.

Cấp quyền quản lý User cho User khác

  1. Thêm user vào group administrators > Save.
  2. Trong tab Permissions của user đó, điều hướng đến / > tick cột Replicate > Save.

User này có thể activate, deactivate, xóa và tạo user mới.

Mở rộng Privilege ở Project Level

Privilege phân cấp (hierarchy-modification) được tổ hợp từ các jcr-privilege. Replication privilege có tên crx:replicate, lưu trữ và đánh giá cùng các privilege khác trong JCR repository nhưng không được enforce ở JCR level.

Định nghĩa và đăng ký custom privilege là một phần của Jackrabbit API từ phiên bản 2.4 (xem JCR-2887). Cơ chế đăng ký privilege hiển thị trong UI tại Repository Configuration.

Việc đăng ký privilege mới được bảo vệ bởi một built-in privilege ở repository level. Mặc định, admin và các member của administrators có quyền này.

Note

Tuy implementation đảm bảo validate và evaluate custom privilege, nhưng không thể enforce chúng trừ khi chúng là tổ hợp của built-in privileges.