Mọi thao tác trong quản lý VO đều căn cứ vào các quyền hạt nhân trên để tiến hành phân quyền. Khi một tác vụ được triệu gọi, các quyền của người triệu gọi sẽ được đưa ra, so sánh với các quyền cơ bản cần thiết để được phép thực hiện tác vụ. Nếu người dùng đủ quyền, tác vụ mới được thực hiện. Nếu không, tác vụ sẽ bị
66
Sau đây, ta sẽ đưa ra các tác vụ quản lý trong VOMS và các quyền cơ bản cần phải có để có thể thực hiện các tác vụ này. Để đơn giản, ta quy định một số ký hiệu:
Tên Chú thích
/vo Nhóm gốc trong VO
(g,R) Chủ thể trong VO có vai trò R trong tổ chức g (g→ g’) Tất cả các nhóm từ nhóm g đến nhóm g’ trong VO parent(g) Nhóm cha của nhóm g
R Quyền đọc
W Quyền ghi
D Quyền mặc định (dùng cho ACL) C: Quyền với nhóm, vai trò.
M: Quyền với thành viên Atts: Quyền với thuộc tính Acl: Quyền với Acl
Req: Quyền với quản lý đăng ký
67
Các tác vụ quản lý VO và các quyền cần thiết để thực hiện nó là:
Tác vụ Quyền cần thiết
Tạo/ Xóa người dùng (/vo,C:rw M:rw) Tạo/ Xóa nhóm (/vo, C:rw)
(/vo → parent(parent(g)), C:r) (parent(g), C:rw)
Liệt kê nhóm con (/vo → g, C:r) Tạo/ Xóa vai trò (/vo, C:rw) Liệt kê vai trò (/vo, C:r)
Thêm/ Bớt thành viên trong nhóm g (/vo → parent(g) , C:r) (g, M:rw)
Liệt kê các thành viên của nhóm g (/vo → parent(g) , C:r) (g, M:rw)
Gán/ Bỏ vai trò R trong nhóm g (/vo → parent(g) , C:r) ((g,R), M:rw)
Liệt kê các thành viên có vai trò R trong nhóm g
(/vo → parent(g) , C:r) ((g,R), M:r)
Tạo/ Xóa thuộc tính người dùng (/vo, Attrs:rw) Liệt kê các thuộc tính của người dùng (/vo, Attrs:r)
Tạo/ Xóa thuộc tính của nhóm (/vo → parent(g) , C:r) (/vo, Attrs: rw)
(g, Attrs:rw)
Liệt kê các thuộc tính của nhóm (/vo → parent(g) , C:r) (/vo, Attrs: r)
68
Tạo/ Xóa các thuộc tính của vai trò. (/vo → parent (g) , C:r) (/vo, Attrs: rw) ((g,R), Attrs:rw) Liệt kê các thuộc tính của vai trò (/vo → parent(g) , C:r)
(/vo, Attrs: r) ((g,R), Attrs:r)
Sửa ACL của nhóm g (/vo → parent(g) , C:r) (g, Acl:rw)
Xem ACL của nhóm g (/vo → parent(g) , C:r) (g, Acl:r)
Sửa ACL của vai trò R trong nhóm g (/vo → parent(g) , C:r) ((g,R), Acl:rw)
Xem ACL của vai trò R trong nhóm g (/vo → parent(g) , C:r) ((g,R), Acl:r)
Sửa ACL mặc định của nhóm g (/vo → parent(g) , C:r) (g, Acl:rwd)
Xem ACL mặc định của nhóm g (/vo → parent(g) , C:r) (g, Acl:rd)
Sửa ACL mặc định của vai trò R trong nhóm g
(/vo → parent(g) , C:r) ((g,R), Acl:rwd) Xem ACL mặc định của vai trò R trong
nhóm g
(/vo → parent(g) , C:r) ((g,R), Acl:rd)
69