Minh họa cài đặt cơ chế an toàn bảo mật cho dịch vụ GRAM

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Nghiên cứu việc đảm bảo an toàn thông tin trong hệ thống tính toán lưới (Trang 47 - 56)

CHƯƠNG 2. NỀN TẢNG AN TOÀN THÔNG TIN LƯỚI GSI

2.3. BỘ CÔNG CỤ GLOBUS TOOLKIT 4.0

2.3.3. Minh họa cài đặt cơ chế an toàn bảo mật cho dịch vụ GRAM

Tài nguyên lưới bao gồm các các máy chủ, máy trạm, các siêu máy tính, các thiết bị lưu trữ kết nối với một lưới dữ liệu thông qua mạng truyền thông để cùng thực hiện một mục tiêu chung.

Dịch vụ định vị tài nguyên GRAM (Globus Resource Allocation Management) là dịch vụ của GT cho phép client có thể khởi tạo, quản lý, theo dõi an toàn bảo mật các nhiệm vụ tính toán trên các máy ở xa. Việc tiến hành đối với GRAM là một trong những công việc phức tạp nhất bởi vì nó liên quan nhiều đến cả cơ chế an toàn bảo mật địa phương và các client từ xa. Phần này sẽ trình bày việc cài đặt an toàn bảo mật trong GRAM để minh họa cho việc cài đặt cho các dịch vụ.

Để có thể thực hiện công việc nhờ GRAM, một client phải mô tả công việc, chỉ rõ những chi tiết về thư mục thực thi, nơi lưu trữ các đầu ra và đầu vào. Những mô tả này được gửi tới tài nguyên và kết quả là một thực thể của dịch vụ quản lý công việc MJS (Managed Job Service). Một MJS là một dịch vụ của lưới cho phép khởi tạo công việc, điều khiển, theo dõi công việc.

MJS được tạo bởi một dịch vụ sinh MJS. Về lý thuyết thì sẽ có tương ứng với mỗi tài khoản người dùng một dịch vụ sinh MJS, tuy nhiên trong thực tế để tránh lãng phí, GT chỉ thực thi một trình chủ sinh MJS là Master Managed Job Factory Service (MMJFS).

Mỗi MMJFS chạy trên mỗi tài nguyên và triệu gọi dịch vụ sinh MJS địa phương LMJFS (Local Managed Job Factory Services) dùng khi cần thiết. Dịch vụ điều hướng (Proxy Router service) dẫn những yêu cầu từ người dùng tới LMJFS nếu có (hoặc MMJFS nếu LMJFS của người dùng đó không tồn tại). Với MJS factory thì có thể có một hay nhiều thể hiện của MJS chạy cùng một lúc trên môi trường trình chủ.

Hình 2- 13: Cơ chế thc hin ca GRAM

Như minh họa trên hình 2-14, để thực hiện công việc trên GRAM phải qua 7 bước:

1/. Người yêu cầu tạo một bản mô tả công việc và kèm với một giấy ủy nhiệm thích hợp. Yêu cầu này sau đó được gửi tới tài nguyên đích.

2/. Dịch vụ điều hướng Proxy Router nhận yêu cầu và gửi tới LMJFS nếu có (nhảy tới bước 6) hoặc gửi tới MMJFS (thực hiện tiếp bước 3).

3/. MMJFS xác nhận chữ ký trên yêu cầu sau đó xác định tài khoản cục bộ mà công

4/. MMJFS triệu gọi quá trình Setuid Starter để khởi tạo LMJFS. Setuid Starter là chương trình có đặc quyền (ví dụ như setuid-root) mà chức năng duy nhất của nó là khởi tạo một LMJFS đã được cấu hình sẵn cho một người dùng.

5/. Khi LMJFS đã được tạo, nó cần nhận được giấy ủy nhiệm và phải tự đăng ký với dịch vụ điều hướng Proxy Router để nó thể nhận được các yêu cầu khác trong tương lai. LMJFS triệu gọi Grid Resource Identity Mapper (GRIM) để nhận được giấy ủy nhiệm. GRIM là một chương trình có đặc quyền truy cập và sinh ra các giấy ủy nhiệm cho LMJFS. Giấy ủy nhiệm này chứa trong nó định danh người dùng lưới, tên người dùng cục bộ … để giúp cho người yêu cầu có thể đảm bảo đây đúng là LMJFS cần thiết.

6/. LMJFS nhận được yêu cầu công việc, LMJFS kiểm định chữ ký trên yêu cầu để đảm bảo là nó không bị giả mạo và kiểm tra xem người yêu cầu có được quyền truy cập tài khoản người dùng cục bộ mà LMJFS đang chạy. LMJFS khởi tạo một MJS và trả lại tham chiếu dịch vụ đến người dùng.

7/. Người yêu cầu kết nối tới MJS để bắt đầu công việc. Người yêu cầu và MJS kiểm chứng lẫn nhau trước khi tiến hành quá trình giao dịch. MJS kiểm định xem requestor có đủ thẩm quyền để thực thi trong tài khoản cục bộ hay không còn requestor kiểm định xem MJS có giấy ủy nhiệm (GRIM credential) hợp lý từ máy chủ hay không, điều này cho phép client không chỉ xác định được là MJS chạy trên đúng máy chủ mà còn chạy trên đúng tài khoản.

Chương 3. H THNG QUN LÝ T CHC O 3.1. T CHC O.

3.1.1. Khái nim t chc o.

Các ứng dụng lưới hiện tại có thể khác nhau về số lượng người tham gia, thời gian diễn ra & mức độ các hoạt động trao đổi thông tin, lượng tài nguyên chia sẻ...

Song, chúng đều có các điểm tương đồng về các cơ chế chia sẻ và sử dụng tài nguyên:

1/. Ràng buộc tài nguyên chia sẻ: Những người cung cấp tài nguyên, xác định các ràng buộc sử dụng trên chính tài nguyên họ cung cấp. Họ có quyền quyết định khi nào, tài nguyên nào sẽ được chia sẻ.

2/. Quan hệ chia sẻ: Mối quan hệ giữa các bên tham gia chia sẻ và sử dụng tài nguyên là mối quan hệ ngang hàng, chứ không theo mô hình khách chủ. Các tổ chức tham gia, vừa có thể là bên cung cấp, vừa có thể là bên sử dụng.

3/. Chính sách chia sẻ động: Sở dĩ gọi là động vì chính sách chia sẻ có thể thay đổi liên tục, phụ thuộc vào quyết định của bên cung cấp tài nguyên. Các bên tham gia cần cập nhật liên tục các chính sách này để có phương án sử dụng thích hợp.

Nhóm các cá nhân, tổ chức cùng tuân theo các cơ chế chia sẻ và sử dụng tài nguyên như vậy, được gọi là tổ chức ảo (VO – Virtual Organization).

Trong hình 3-1 là ví dụ về 2 tổ chức ảo P và Q. Tổ chức ảo Q (bên phải hình vẽ) thực hiện các nghiên cứu về tia, tài nguyên sử dụng là năng lực tính toán của các đơn vị tham gia. Tổ chức ảo P có thể sử dụng chương trình B, dữ liệu D của tổ chức thật 3; chương trình A của tổ chức thật 1. Tổ chức ảo Q có thể sử dụng chu kỳ tính toán rảnh rỗi của các tổ chức thật 1và 2. Một số tài nguyên của tổ chức thật có thể tham gia vào cùng nhiều tổ chức ảo như chương trình A và các tài nguyên tính toán trên máy chứa nó (tổ chức thật 2).

Như vậy, tổ chức ảo thực chất là nhóm các cá nhân, đơn vị có cùng phạm vi và chính sách chia sẻ tài nguyên. Các thành viên trong cùng VO chỉ được sử dụng các tài nguyên lưới trong phạm vi mà bên cung cấp tài nguyên – Resource Provider (RP) quy định cho VO đó. Do đó, khi xem xét dưới góc độ tài nguyên, có thể coi lưới là kết quả của sự hợp tác giữa bên sử dụng - VO và bên cung cấp - RP.

3.1.2. T chc o và tài nguyên lưới.

Vì lưới có nhiều người dùng và nhiều loại tài nguyên nên kéo theo phải quản lý một lượng lớn các thông tin về người dùng và các quyền của họ với tài nguyên. Các thông tin này còn được gọi là thông tin phân quyền. Các thông tin về phân quyền được chia ra thành hai loại:

Thông tin v người dùng trong t chc o:

Các thông tin về tổ chức ảo, nhóm của người dùng trong tổ chức, vai trò của họ trong nhóm và các quyền tương ứng người đó được phép thực hiện.

Thông tin v các quyn ca người dùng vi RP:

Phụ thuộc vào thông tin của người dùng trong VO, các thông tin ở RP sẽ được ánh xạ tương đương.

Nhóm các thông tin về người dùng trong tổ chức ảo được quản lý tập trung tại server của VO, nhóm thông tin về quyền của người dùng với RP được lưu tại các tài nguyên được yêu cầu. Nhóm thông tin thứ hai được RP tạo ra dựa trên các chính sách sử dụng tài nguyên lưới cục bộ và các thỏa thuận cam kết tài nguyên với VO. Các thông tin này được lưu dưới dạng danh sách quản lý các truy cập (Access Control List - ACL), quyết định việc truy cập tài nguyên có được phép hay không.

Dù vai trò của VO và RP là khác nhau trong việc quản lý và sử dụng tài nguyên, nhưng sự phối hợp giữa chúng sẽ quyết định tính nhất quán trong chính sách sử dụng tài nguyên của toàn bộ lưới.

Điều kiện đầu tiên cho một người dùng muốn tham gia lưới, họ phải là thành viên của một VO nào đó. Tổng quát, họ có thể là thành viên của nhiều VO khác nhau.

Trong mỗi VO, người dùng lại có các vai trò khác nhau. Yêu cầu được đặt ra là: ngay sau khi người dùng đăng nhập, họ có quyền chọn các VO mà họ tham gia. Các quyền tương ứng với vai trò của họ trong VO đó phải được xác định ngay sau đó.

Về phía RP, căn cứ vào vai trò người dùng lưới trong VO, sẽ ánh xạ họ vào các người dùng địa phương trên máy cục bộ. Các quyền của người dùng địa phương phải đảm bảo cho người dùng lưới thực thi được các quyền của họ trong VO. Do đó, đảm bảo được tính nhất quán trong chính sách sử dụng tài nguyên của VO nói riêng và toàn bộ lưới nói chung.

3.1.3. Thông tin người dùng trong t chc o.

3.1.3.1 Cu trúc t chc o.

Cấu trúc tổ chức của tổ chức ảo là cấu trúc phân cấp. Tổ chức ảo là nhóm lớn nhất. Từ nhóm lớn nhất lại chia nhỏ thành các nhóm con trực thuộc. Mỗi nhóm có quyền khác nhau trên những tài nguyên lưới mà tổ chức ảo được cấp. Tùy theo yêu cầu, người dùng được chia vào các nhóm phù hợp với nhiệm vụ của họ.

Mỗi nhóm có một hoặc nhiều người quản trị. Có 2 cấp độ quản trị là quản lý nhóm và quản trị toàn bộ VO. Ở mức nhóm, các công việc quản trị là quản lý thành viên trong nhóm, xử lý các yêu cầu tham gia nhóm, gán các quyền quản trị cho thành viên trong nhóm. Lên tới cấp độ toàn VO, người quản trị có thêm quyền xét duyệt đơn đăng ký tham gia vào VO.

Có thể biểu diễn cấu trúc của VO bằng đồ thị có hướng không chu trình.

Hình 3- 3: Cây phân cp VO.

Mỗi nhóm được biểu diễn bởi một đỉnh của đồ thị (nút), mỗi quan hệ giữa hai nhóm được biểu diễn bằng một cạnh có hướng. VO ban đầu là nhóm gốc, là cha của chính nó. Ngoại trừ nhóm gốc, mỗi nhóm có thể có nhiều nhóm cha. Tuy nhiên, một nhóm không được phép là nhóm con của chính con nó, để đảm bảo không có chu trình trong đồ thị.

G,R

G1,R G2,R G3,R

G1.1,R G1.2,R G3.1,R

G1.2.1,R

G2.1,R

3.1.3.2 Thông tin người dùng.

Do cấu trúc tổ chức phân cấp của VO mà khi người dùng được phân vào nhóm con, thì người đó cũng đồng thời là thành viên của nhóm cha. Chính xác hơn, người dùng đó là thành viên của tất cả các nhóm nằm trên đường nối từ nhóm con đến nút gốc trên đồ thị.

Người dùng trong nhóm được đặc trưng bởi vai trò và các quyền tương ứng với vai trò đó. Khi người dùng tham gia nhóm, họ sẽ giữ một vai trò nào đó, đơn giản có thể là “Group Member”… hoặc cao nhất là VO-Admin. Phạm vi của vai trò chỉ được giới hạn trong nhóm. Sự khác nhau giữa nhóm và vai trò thể hiện ở chỗ: các nhóm người dùng tham gia luôn được chỉ rõ, còn vai trò của người dùng thì có thể được tùy chọn trong danh sách các vai trò có sẵn.

Tương ứng với vai trò là các quyền họ được phép làm. Vai trò và các quyền được kế thừa từ các nhóm cha của nhóm mà người dùng đang tham gia.

Để kết luận, ta đưa ra mô hình:

Người dùng U là thành viên của nhóm {G1, G2… Gn}. Quan hệ của người dùng U với nhóm Gk, được đặc trưng bởi bộ ba (Gk, Rk, Ck) tương ứng với thông tin về thành viên nhóm, vai trò, quyền. Các thông tin phân quyền đầy đủ về U sẽ là (G1, R1, C1)… (Gn, Rn, Cn).

Bộ ba thuộc tính này phản ánh sự thỏa thuận giữa bên yêu cầu VO và bên thực thi RP. VO cung cấp các thông tin về quyền của người dùng, và RP có nhiệm vụ đảm bảo thực thi các quyền đó. Lấy ví dụ như lưới dữ liệu CERN được coi như tổ chức ảo VO có hai nhóm là sản xuất (production) và sao lưu (replicator). Các vai trò có thể trong nhóm là quản trị VO (VO-admin) và quản trị nhóm (Admin). Mỗi thành viên nhóm có các quyền thực thi lâu dài (long-job) hay là lưu trữ lớn (large-space).

3.1.3.3 Định dng thông tin VO.

Người dùng trong VO có 3 thuộc tính cơ bản là nhóm, vai trò và quyền. Cả 3 thuộc tính này được gọi chung là “Tên thuộc tính đầy đủ” - “Fully Qualified Attribute Names” (FQAN).

Cú pháp: /VO[/group[/subgroup(s)]][/Role = role][/Capability = cap]

Ví dụ: Vai trò Administrator trong group AGP của VO hpcc.hut.edu.vn là:

/hpcc.hut.edu.vn/AGP/Role=Administrator.

3.1.3.4 Thông tin v các quyn người dùng vi RP.

Ứng với các thông tin về người dùng trong VO, một cơ chế khác trên RP tự động thực hiện để luôn đảm bảo các quyền người dùng trên RP thực hiện nhất quán với chính sách tài nguyên của VO. Cơ chế ánh xạ gridmap được sử dụng. Nhiệm vụ của nó là ánh xạ thông tin người dùng vào các tài khoản cục bộ trên máy thực thi.

Tài khoản cục bộ có các quyền gì trên tài nguyên lưới, người dùng lưới sẽ có các quyền như vậy. Vậy làm thế nào để xác định được tài khoản nào sẽ được gán cho người dùng lưới? Nếu cơ chế ánh xạ hoạt động sai lệch sẽ ảnh hường trực tiếp đến tính đúng đắn cho chính sách sử dụng tài nguyên cũng như an toàn cho cả hệ thống thực thi.

Cơ chế ánh xạ dựa trên việc tự động thiết lập một kênh trao đổi thông tin an toàn giữa VO và RP. Phía RP sẽ định kỳ theo dõi các thông tin từ phía VO, cập nhật các người dùng mới cũng như các quyền của họ. Kết hợp với các chính sách tài nguyên cục bộ cũng như các thỏa thuận đã ký với VO, RP chọn ra tài khoản phù hợp để ánh xạ cho đúng.

Như vậy, để quản lý thông tin về quyền của người dùng trong lưới, ta chia các thông tin của họ theo phạm vi họ thuộc vào (bên sử dụng tài nguyên – VO) và bên cung cấp tài nguyên cho họ (RP). Để quản lý các thông tin thành viên trên VO, chúng ta sẽ sử dụng dch v thành viên t chc o – Virtual Organization Membership Service (VOMS). Các thông tin về quyền người dùng sẽ được quản lý bởi dịch vụ ánh xạ EDG-MKGRIDMAP.

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Nghiên cứu việc đảm bảo an toàn thông tin trong hệ thống tính toán lưới (Trang 47 - 56)

Tải bản đầy đủ (PDF)

(111 trang)