RBAC trong đặc tả EJB hiện hành

Một phần của tài liệu Nghiên cứu phương pháp điều khiển truy cập dựa vai trò trong việc đảm bảo an toàn cho các ứng dụng dựa thành phần (Trang 32)

Phần này cung cấp các chính sách điều khiển truy cập khai báo cho hệ thống eBank theo đặc tả EJB.

Việc phát triển các ứng dụng sử dụng công nghệ thành phần thường liên quan đến nhiều vai trò khác nhau bao gồm nhà cung cấp phần trung gian, nhà cung cấp thành phần, người tích hợp ứng dụng, người triển khai và quản trị hệ thống. Việc sử dụng kiểm soát khai báo yêu cầu ba vai trò cuối.

Xác định RBAC

Các ứng dụng J2EE hiện tại sử dụng tập tin cấu hình ejb-jar.xml để xác định nhiều khía cạnh của ứng dụng như sự phụ thuộc giữa các bean, các giao dịch, và các chính sách an ninh. Các chính sách điều khiển truy cập của phương thức bean được khai báo trong các phần tử <method-permission> trong tập tin này.

Trong hệ thống eBank [15], để chuyển tiền giữa hai tài khoản thuộc eBank, khách hàng cần gọi (thông qua tầng Web) phương thức internalTx() của TxBean. Phương thức này sau đó gọi phương thức log() của LogBean.

Để chuyển tiền từ eBank đến ngân hàng khác, khách hàng trước tiên gọi phương thức externalTx() của TxBean, sau đó phương thức này gọi phương thức

doExtTx() của ExtTxBean để xử lý yêu cầu. doExtTx() gọi CheckBean.check() để

được thực hiện. Khi kết thúc giao dịch, phương thức LogBean.log() được gọi để ghi lại thông tin của giao dịch.

Để sử dụng RBAC, ta phải gắn người dùng hệ thống với vai trò. Trong hệ thống eBank, ta định nghĩa mỗi vai trò với một nhóm người dùng. Giả định rằng nhóm người dùng đầu tiên (tức là khách hàng chỉ có thể giao dịch chuyển tiền trong eBank) được gắn với vai trò ordinaryCustomer. Những người sử dụng còn lại (tức là khách hàng có thể chuyển tiền từ/đến các ngân hàng khác) được gắn với vai trò VIPCustomer. Để thực thi chính sách này, trong file ejb-jar.xml, ta cần một chính sách như trong danh mục 2.1.

Danh mục 2.1: Một ví dụ của chính sách truy cập cho hệ thống eBank

1 <method-permission>

2 <role-name> VIPCustomer </role-name> 3 <method>

4 <ejb-name> TxBean </ejb-name>

5 <method-name> internalTx </method-name> 6 </method>

7 <method>

8 <ejb-name> TxBean </ejb-name>

9 <method-name> externalTx </method-name> 10 </method>

11 <method>

12 <ejb-name> ExtTxBean </ejb-name> 13 <method-name> doExtTx </method-name> 14 </method>

15 <method>

16 <ejb-name> CheckBean </ejb -name> 17 <method-name> check </method-name> 18 </method>

19 <method>

20 <ejb-name> LogBean </ejb-name> 21 <method-name> log </method-name> 22 </method>

23 </method-permission> 24 <method-permission>

25 <role-name> ordinaryCustomer </role-name> 26 <method>

27 <ejb-name> TxBean </ejb-name>

28 <method-name> internalTx </method-name> 29 </method>

30 <method>

31 <ejb-name> LogBean </ejb-name> 32 <method-name> log </method-name> 33 </method>

Trong danh mục trên, phần tử <method-permission>, từ dòng 01 đến dòng 23, cho thấy quyền này cấp cho vai trò VIPCustomer. Vai trò này có quyền gọi các phương thức TxBean.external(), TxBean.internalTx(), ExtTxBean.doExtTx(),

CheckBean.check() LogBean.log(). Các dòng từ 24 đến 34 xác định quyền (adsbygoogle = window.adsbygoogle || []).push({});

của vai trò ordinaryCustomer. Cả hai vai trò này đều có thể gọi

TxBean.internalTx()LogBean.log().

Trong đặc tả EJB hiện hành, nếu một vai trò được cấp phép để gọi phương thức m1 của một bean, nó cũng cần được cấp phép để thực hiện bất kỳ phương thức m2 nào được gọi từ phương thức m1. Quy tắc này sau đó được áp dụng cho phương thức m2 và cứ thế. Ví dụ, trong hệ thống eBank, khi một người dùng có vai trò VIPCustomer chuyển tiền đến ngân hàng khác, phương thức EJB đầu tiên được gọi là TxBean.externalTx(). Tại phương thức này, quyền của người dùng sẽ được kiểm tra. Đó là lý do cho phép vai trò VIPCustomer thực hiện phương thức này. Ngoài ra, do phương thức này sẽ gọi ExtTxBean.doExtTx(), mà phương thức này sau đó sẽ thực hiện phương thức LogBean.log(), nên vai trò này cũng được phép thực hiện cả hai phương thức ExtTxBean.doExtTx()

Chương 3. Chương trình qun tr - báo cáo thanh toán hóa đơn

3.1. Tng quan

Một phần của tài liệu Nghiên cứu phương pháp điều khiển truy cập dựa vai trò trong việc đảm bảo an toàn cho các ứng dụng dựa thành phần (Trang 32)