Là dịch vụ chính của server quản trị, nhiệm vụ của ARS là quản lý VO. ARS là công cụ quản lý VO chính của người quản trị.
ARS hỗ trợ giao thức kết nối SOAP, nên có thể dễ dàng chuyển sang dịch vụ
OGSA. Nó bao gồm 5 thành phần cơ bản:
+ Nhân (Core): các chức năng cơ bản cho phía client. + Quản trị (Admin): quản trị cơ sở dữ liệu VOMS. + Nhật ký (History): ghi lại nhật ký các thay đổi.
+ Yêu cầu (Request): cơ chế quản lý các yêu cầu của người dùng mới và các thay
đổi khác.
+ Tính tương thích (Compability): sử dụng tiện ích mkgridmap, đơn giản hóa việc truy cập đến danh sách người dùng.
64
ARS tích hợp giao diện Web ( Ứng dụng web J2EE chạy trên Apache Tomcat ) thuận lợi cho phía người dùng đăng ký thành viên. Người quản trị có thể
tương tác trực tiếp với ARS thông qua website này hoặc sử dụng giao diện dòng lệnh (voms-admin client).
Hình 3- 12: Giao diện Web và dòng lệnh cho quản trị VO. 3.2.3. Phân quyền người dùng trong VOMS.
3.2.3.1 Danh sách điều khiển truy cập.
Toàn bộ các tác vụ quản trị của ARS đều dựa trên quy trình chứng thực X509 và cấp quyền từ VOMS-Admin Authorization framework. Người quản trị
muốn thực hiện các thao tác thêm, sửa, xóa; nhất thiết phải có quyền tương ứng trên VO.
Cụ thể, để xác định người dùng trong VO được phép làm gì, VOMS-Admin tổ chức danh sách điều khiển truy cập ACL (Access Control List). ACL bao gồm nhiều mục, mỗi mục là một cặp: chủ thể VO và quyền được phép. Chủ thể VO có thể là quản trị của VO, thành viên của VO, VOMS FQAN hoặc bất cứ người dùng có chứng thực nào.
65
Các quyền cơ bản của các chủ thể VO trong VOMS là:
Quyền cơ bản Ý nghĩa
CONTAINER_READ CONTAINER_WRITE
Thao tác duyệt, thêm xóa nhóm và vai trò. Thêm, xóa người dùng.
MEMBERSHIP_READ MEMBERSHIP_WRITE
Quản lý thành viên trong nhóm, vai trò.
ATTRIBUTES_READ ATTRIBUTES_WRITE Quản lý các thuộc tính của người dùng, nhóm, vai trò. ACL_READ ACL_WRITE ACL_DEFAULT
Quản lý ACL và ACL mặc định của VO.
REQUESTS_READ REQUESTS_WRITE
Quản lý đăng ký, gia nhập nhóm, gán vai trò.
Bảng 3-1: Các quyền cơ bản trong VOMS.
Bên cạnh các ACL, trong mỗi nhóm còn có các ACL mặc định. Nó liên quan
đến ACL của nhóm con và nhóm cha. Mặc định, khi các nhóm con được tạo ra, nó sẽ kế thừa ACL của nhóm cha.
Khi người quản trị cần ACL của nhóm con khác với ACL của nhóm cha, Default ACL được thiết lập. Nhóm con sẽ kế thừa Default ACL của nhóm cha, thay vì ACL của nhóm cha.
3.2.3.2 Quyền thực hiện các tác vụ quản lý VO trong VOMS.
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
3.3. DỊCH VỤ TẠO DANH SÁCH TRUY CẬP EDG-MKGRIDMAP.
Đối với người dùng mới trên lưới tính toán, sau khi hoàn thành bước đăng ký và được chấp nhận là thành viên của lưới, họ có quyền yêu cầu tài nguyên để thực hiện các bài toán trên lưới. Trên các máy thực thi, làm thế nào để có thể nhận biết người dùng lưới này có quyền sử dụng tài nguyên hay không, nếu có thì quyền hạn của họđến đâu. Dịch vụ EDG-MKGRIDMAP là một công cụ cho phép kết nối VO với RP hay là người dùng với tài nguyên.
EDG-MKGRIDMAP là một perl script, được phát triển bởi European Datagrid. Nhiệm vụ của EDG-MKGRIDMAP (EDG Make Gridmap) là tương tác với các dịch vụ quản lý người dùng ở mức trên như VOMS, LDAP và sinh ra các tệp gridmap theo yêu cầu. Cụ thể, EDG-MKGRIDMAP thiết lập kênh thông tin an toàn với VOMS server, sau đó nó lấy các thông tin về người dùng trong VO. Trên các máy thực thi, người quản trị tác động vào EDG-MKGRIDMAP chính sách tài nguyên cục bộ của mình. Chính sách này dựa trên các thỏa thuận với VO về tài nguyên đóng góp, sẽ quy định các quyền hạn định của người dùng lưới trên tài nguyên của họ.
Quy định này được thực thi qua 2 bước. Bước thứ nhất là tạo ra các tài khoản cục bộ cần dùng và quy định quyền sử dụng tài nguyên đóng góp cho các tài khoản cục bộđó. Bước tiếp theo là quy định các người dùng trên VO sẽ được gắn vào tài khoản nào. Các chính sách sử dụng cục bộ này, kết hợp với danh sách các người dùng trong VO được truy xuất lúc hoạt động sẽ là đầu vào của quá trình tạo ra các tệp ánh xạ gridmap. Đầu ra của quá trình được các dịch vụ lưới sử dụng để kiểm tra quyền.
Có rất nhiều công cụ giống như EDG-MKGRIDMAP, ví dụ GUMS, nhưng EDG-MKGRIDMAP vẫn được sử dụng rộng rãi và phổ biến. Tuy quá trình ánh xạ
còn cứng nhắc, không hỗ trợ cơ chế ánh xạ động, nhưng nhờ tính đơn giản, gọn nhẹ, dễ sử dụng; EDG-MKGRDIMAP hiện tại là một dịch vụ không thể tách rời trong cộng đồng lưới LCG/EGEE…
70
Chương 4. KẾT QUẢ THỬ NGHIỆM
4.1. HỆ THỐNG QUẢN LÝ NGƯỜI DÙNG LƯỚI TÍNH TOÁN
Tác giả đã tham gia cùng nhóm nghiên cứu lưới AGP, thuộc trung tâm tính toán hiệu năng cao HPCC (Đại Học Bách Khoa Hà Nội) để thiết kế và xây dựng thành phần bảo vệ cho hệ thống lưới tìm kiếm và so khớp tài liệu điện tử GOODAS (Grid Oriented Online Document Analysing System). GOODAS là một hệ thống lưới phục vụ chia sẻ, tra cứu trong công tác nghiên cứu và giảng dạy và so khớp tài liệu liên trường nhằm phòng chống gian lận.
Hệ thống được triển khai thử nghiệm trên hệ thống lưới dữ liệu cục bộ của Trung tâm tính toán hiệu năng cao (Trường Đại học Bách Khoa Hà Nội). Lưới cục bộ bao gồm 10 máy desktop để bàn có cấu hình Pentium D 2.8GHz, bộ nhớ RAM 1,5GB, ổ cứng 80GB. Middleware để kết nối các máy trên với nhau là Globus Toolkit 4, version 4.2.1. Hệ điều hành sử dụng Fedora 11. Máy chủ thông tin triển khai VOMS làmáy chủ bkluster.
An toàn bảo mật cho hệ thống gồm 2 thành phần: quản lý đăng lý lưới và phân quyền trên VO; quản lý người dùng và giấy uỷ nhiệm trên cổng điện tử lưới. Vì vậy, hệ thống thử nghiệm sẽ thiết đặt 1 VOMS Server để quản lý VO và quản trị
tham gia lưới. Một máy chủ khác sẽ phục vụ cho cổng điện tử lưới, quản lý người dùng và giấy uỷ nhiệm lưới, đồng thời thiết lập kiểm soát truy nhập tài nguyên lưới qua cổng điện tử. 10 máy desktop trong lưới dữ liệu sẽ đóng vai trò là các RP, sẽ
triển khai dịch vụ ánh xạ.
Hướng dẫn chi tiết triển khai dịch vụ quản lý thông tin người dùng VOMS trên cấp độ VO ở máy chủ thông tin Information Server BKLUSTER và dịch vụ
ánh xạ EDG-MKGRIDMAP trên 10 máy desktop trong lưới, xem trong phần PHỤ
LỤC: CÀI ĐẶT VOMS VÀ EDG-MKGRIDMAP. Phần triển khai cổng điện tử và dịch vụ quản lý giấy uỷ nhiệm được trình bày ở các phần sau.
71
4.1.1. Giới thiệu hệ thống GOODAS.
Vấn đề quản lý các tài liệu điện tử phân tán trên mạng đặt ra nhiều thách thức như quản lý tài nguyên động, các yêu cầu an toàn bảo mật và chia sẻ. Hệ thống GOODAS ra đời, dựa trên việc kết hợp của công nghệ tính toán lưới và mô hình tổ
chức ảo, nhằm tạo ra một lưới dữ liệu về chia sẻ và quản lý các tài liệu điện tử phân tán giữa các trường đại học và trên phạm vi quốc gia.
Hệ thống GOODAS được xây dựng theo kiến trúc phân tầng, các thành phần
đều hướng dịch vụ và phục vụ các yêu cầu cụ thể. Các điểm mạnh của hệ thống là tính khả mở, tính thân thiện và duy trì hạ tầng an toàn bảo mật lưới trong suốt với người dùng.
Hình 4- 1: Kiến trúc hệ thống GOODAS
- Tầng tài nguyên: là các hệ thống lưu trữ, hệ thống máy tính và hạ tầng mạng có hiệu năng tính toán cao.
- Tầng trung gian: bao gồm hạ tầng an toàn bảo mật lưới GSI, các dịch vụ truyền file, sao lưu dữ liệu, khám phá tài nguyên và dịch vụ quản lý giấy uỷ nhiệm.
72
- Tầng dịch vụ ứng dụng: tầng dịch vụ ứng dụng cung cấp các dịch vụ lưới hướng ứng dụng & hướng người dùng, nhằm tận dụng sức mạnh mà hạ tầng lưới mang lại. Trong phạm vi hệ thống quản lý tài liệu điện tử, tầng ứng dụng triển khai các dịch vụ tiện ích như quản lý tài liệu, tìm kiếm, đánh chỉ mục, so khớp văn bản.
- Tầng trình diễn: chính là cổng điện tử lưới (Cổng điện tử lưới), cung cấp các khả năng truy cập để sử dụng dịch vụ và tài nguyên lưới. Cổng điện tử lưới làm trong suốt sự phức tạp của lưới tới người dùng, và là sự lựa chọn cho hầu hết các lưới dữ liệu lớn trên thế giới hiện nay.
Hình 4-2 minh hoạ mô hình triển khai của hệ thống:
73
Người dùng truy cập hệ thống thông qua portal của các trường và thực hiện các yêu cầu như tìm kiếm, so khớp văn bản…Với mỗi yêu cầu của người dùng, site cục bộ sẽ liên hệ với Dịch vụ Giám sát & quản lý thông tin để lấy về thông tin các site khác trên hệ thống & đồng thời gửi các yêu cầu xử lý (như tìm kiếm hay so khớp một văn bản) tới các site đó. Sau khi nhận được kết quả từ các site khác, site cục bộ phải tổng hợp kết quả và trả về cho người dùng qua portal. Việc tổng hợp kết quả cần phải có các thông tin về dữ liệu mô tả từ các site, được cung cấp bởi Dịch vụ siêu dữ liệu mô tả từ Information Server.
4.1.2. Mô hình bảo mật cho GOODAS.
Thiết kế mô hình bảo mật cho hệ thống GOODAS phải duy trì an toàn bảo mật cho hạ tầng lưới, nhưng phải bảo đảm tính trong suốt và thân thiện với người dùng. Giải pháp được lựa chọn là việc kết hợp giữa quản lý người dùng lưới với quản lý người dùng portal và ứng dụng tổ chức ảo VO.
74
Mô hình bảo vệ thông tin bao gồm các thành phần sau đây:
Nhà cung cấp chứng chỉ số (Online CA): cấp phát và kiểm tra các chứng chỉ
số theo chuẩn X509 cho người dùng lưới. Có rất nhiều nhà cung cấp chứng chỉ số
khác nhau, tuỳ theo mục đích sử dụng và thiết lập hạ tầng an toàn bảo mật của các hệ thống tính toán lưới. Nhà cung cấp chứng chỉ My Proxy CA và Simple CA thường được dùng phổ biến trong các lưới nghiên cứu.
Dịch vụ quản lý giấy uỷ nhiệm (Credential Management): giải pháp quản lý giấy uỷ nhiệm được sử dụng rộng rãi trong các hệ thống tính toán lưới hiện đại ngày nay. Dịch vụ bao gồm kho lưu trữ giấy uỷ nhiệm (Credential Repository) và một nhà chứng thực thẩm quyền trực tuyến (MyProxy CA) để cho phép người dùng lấy lại các giấy uỷ nhiệm lưới khi cần.
Hệ thống quản lý tổ chức ảo (VO Management): cung cấp các giấy uỷ
nhiệm mở rộng, có thêm các thuộc tính phân quyền của VO cho cổng điện tử lưới. Ngoài ra hệ thống cung cấp một giao diện quản trị riêng cho phép VO đăng ký gia nhập lưới và quản lý các VO qua giao diện web.
Cổng điện tử lưới (VO Portal): có khả năng truy suất các giấy uỷ nhiệm của VOMS hay My Proxy CA từ kho lưu trữ MyProxy. Các giấy giấy uỷ nhiệm này
được sử dụng cho các dịch vụ lưới có yêu cầu hạ tầng an toàn bảo mật lưới GSI
4.2. THÀNH PHẦN QUẢN LÝ TỔ CHỨC ẢO
Thành phần này cho phép phân nhóm người dùng, gán vai trò, xác định quyền truy nhập đến các dịch vụ của hệ thống. Ngoài ra mođun còn có chức năng quản lý các tổ chức ảo cho cho phép người dùng đăng ký gia nhập VO.
4.2.1. Sử dụng VOMS.
2 loại người dùng chính tương tác với dịch vụ quản lý tổ chức ảo VOMS là người dùng lưới và người quản trị của VO. Người dùng lưới thông qua VOMS để đăng ký gia nhập VO và xin các chứng nhận sử dụng lưới. Người quản trị VO thực hiện các công việc quản lý người dùng, nhóm, vai trò, đăng ký thành viên cho VO.
75
4.2.1.1 Người dùng lưới và VOMS.
Người dùng lưới thông qua VOMS để đăng ký gia nhập VO và xin các chứng nhận sử dụng lưới. Quy trình đăng ký được thực hiện trên giao diện Website
VOMS-Admin. Quy trình xin chứng nhận được thực hiện với VOMS client.
a) Quy trình đăng ký lưới.
Để có thể đăng ký dùng lưới, người dùng phải có chứng chỉ sốđược cấp bởi nhà cung cấp chứng chỉ số CA (được VOMS GOODAS tin tưởng). Hiện tại,
GOODAS tin tưởng bởi các nhà cung cấp AGP Globus Simple CA và HaNoi CA. Các bước cần thực hiện để gia nhập VO là:
1/. Người dùng sở hữu chứng chỉ số của các CA được VOMS Server tín nhận. Người dùng truy cập web admin của VOMS Server, cung cấp 1 số thông tin cá nhân, đồng ý với các điều khoản sử dụng lưới của VO và nộp đơn xin gia nhập. - Chuẩn bị các chứng chỉ số: cần phải thiết lập hạ tầng an toàn thông tin GSI của
Globus Toolkit với các chứng chỉ lưới hợp lệ.
Hình 4- 4: Các giấy chứng nhận lưới
- Các chứng nhận định dạng PEM không được trình duyệt hỗ trợ. Vì vậy, chuyển
chúng sang định dạng được chấp nhận pkcs12.
$openssl pkcs12 -export -in usercert.pem -inkey userkey.pem -out usercert.p12 Enter Export Password:
Verifying - Enter Export Password:
- Người dùng nhập các chứng nhận định dạng pkcs12 vào trình duyệt.
- Truy cập VOMS-Admin GOODAS tại địa chỉ:
https://bkluster.hut.edu.vn:9443/voms/GOODAS, cung cấp các thông tin cần thiết.
76
Đầu tiên, người dùng xác thực chứng nhận của GOODAS VOMS Server.
GOODAS VOMS server xác thực lại chứng nhận của người dùng.
Sau khi quá trình xác thực lẫn nhau thành công, người dùng đến trang