2012-11-19 49 views
5

Tôi đang cố gắng hiểu điều khiển truy cập dựa trên mô hình RBAC. Tôi đã đề cập đến liên kết sau.Sử dụng điều khiển truy cập dựa trên vai trò trong phiên (RBAC)

NIST RBAC Data Model

tôi đã không hiểu phần này rõ ràng như đã đề cập trong đoạn trích -

* "Mỗi phiên là một ánh xạ của một người dùng để có thể nhiều vai trò, ví dụ, một người dùng thiết lập một phiên trong người dùng kích hoạt một số tập hợp con của các vai trò mà người đó được chỉ định Mỗi phiên được liên kết với một người dùng và mỗi người dùng được liên kết với một hoặc nhiều phiên. chúng tôi tập hợp các phiên được liên kết với người dùng. Các quyền có sẵn cho người dùng là các quyền được chỉ định cho các vai trò là ac được chia theo tất cả các phiên của người dùng. "*

Câu hỏi - Cách phiên có thể được sử dụng để kích hoạt vai trò? Mối quan hệ giữa người dùng/nhóm và vai trò được chèn dưới dạng dữ liệu quản trị viên. Vậy, phiên làm việc kích hoạt tập hợp con của các vai trò cho một người dùng như thế nào?

P.S -> Tôi đã hỏi câu hỏi này trước here nhưng không có câu trả lời. Có thể câu hỏi này là quá cơ bản để hỏi nhưng tôi rất muốn hiểu nó. Bất kỳ trường hợp sử dụng hoặc một liên kết chắc chắn sẽ hữu ích.

Cảm ơn thời gian của bạn.

Trả lời

4

Trong RBAC, quản trị viên cấp quyền bằng cách gán chúng cho vai trò và ngoài việc gán vai trò cho người dùng. Như bạn đã biết, để người dùng có thể sử dụng một quyền cụ thể, anh ta sẽ phải được chỉ định ít nhất một vai trò cung cấp giải pháp đã nói.

Vì vậy, mỗi người dùng có một nhóm vai trò được gán cho anh ấy. Trong một phiên, anh ta có thể chọn kích hoạt (hoặc hủy kích hoạt) bất kỳ vai trò nào trong số này, nhưng không có vai trò nào khác. Các vai trò được kích hoạt xác định các quyền nào có sẵn cho người dùng tại một thời điểm nhất định trong phiên. Điều này rất hữu ích, ví dụ, để phân tách động các ràng buộc về nhiệm vụ, trong đó hai vai trò A và B có thể được gán cho cùng một người dùng U, nhưng không thể được sử dụng cùng nhau. Do đó, nếu U muốn sử dụng A, anh ta sẽ phải tắt B trước khi kích hoạt A.

+0

Cảm ơn Eraser, Người dùng chọn kích hoạt/hủy kích hoạt vai trò như thế nào? Và khi nào anh ta làm điều đó? Xem xét một ứng dụng web đơn giản mà người dùng phải được xác thực thông qua biểu mẫu đăng nhập, người dùng có chọn vai trò sau khi gửi biểu mẫu đăng nhập không? Nếu có, làm thế nào nó xảy ra? Nếu không, sau khi đăng nhập thành công, khi một phiên được tạo, các vai trò được kích hoạt/hủy kích hoạt như thế nào đối với người dùng này? –

+1

Tùy thuộc vào khung ủy quyền bạn đang sử dụng và cách bạn triển khai kiểm soát truy cập trong ứng dụng của mình. Ví dụ: trong ứng dụng web, truy cập một trang cụ thể có thể kích hoạt việc kích hoạt/hủy kích hoạt một số vai trò. Chuẩn RBAC không kích hoạt và hủy kích hoạt vai trò trong một phiên bắt buộc, và một số khung công tác sẽ chỉ kích hoạt tất cả các vai trò khi đăng nhập. Trong trường hợp đó, tất nhiên, sự tách biệt năng động của ràng buộc nhiệm vụ là vô ích. Bạn có thể muốn xem [tiêu chuẩn RBAC] (http://csrc.nist.gov/rbac/sandhu-ferraiolo-kuhn-00.pdf). –

+0

Cảm ơn Eraser, tôi nghĩ, tôi đã bắt đầu hiểu nó. Từ một đoạn trích, Ref Flat RBAC, trang 5 từ liên kết ở trên - "Trong trường hợp khác, người dùng được lựa chọn để kích hoạt và hủy kích hoạt vai trò trong một phiên cụ thể theo quyết định của người dùng". Ứng dụng web này được sử dụng ở đâu? Dường như với tôi rằng ứng dụng web quản trị của nó mà bạn đã đề cập trong câu trả lời của bạn. –

1

Từ kinh nghiệm của tôi trong việc triển khai RBAC, tôi khá tránh sử dụng quản lý động của nhiều phiên. Đầu tiên nó nghe như một ý tưởng khá gọn gàng và linh hoạt, nhưng khi bạn đặt câu hỏi về việc ai kích hoạt/hủy kích hoạt vai trò (và khi nào), tôi nhận thấy sự phức tạp và rủi ro bảo mật không đáng để nỗ lực (ý kiến ​​cá nhân của tôi).

Điều quan trọng cần hiểu ở đây và cho đó @Imontriux (ở trên) đề cập:

"này rất hữu ích, ví dụ, để tách động thuế trở ngại, nơi hai vai trò A và B có thể được gán cho cùng một người dùng U, nhưng không thể sử dụng cùng nhau. Do đó, nếu U muốn sử dụng A, anh ta sẽ phải tắt B trước khi kích hoạt A. "

Hầu hết thời gian, có các ràng buộc về thuế phải áp dụng và để tôn trọng điều này, tôi chỉ chọn có/quản lý một phiên hợp lệ cho mỗi người dùng một lúc. Nếu người dùng muốn xác thực theo các nhóm vai trò khác nhau, họ có trách nhiệm đăng xuất và đăng nhập lại.

Nó đơn giản hóa rất nhiều mã của tôi. Đó là một sự thỏa hiệp mà tôi đã chọn và có thể dễ dàng sống cùng.

+0

Việc chọn và kích hoạt tại thời điểm xác thực vẫn là quản lý động. Tiêu chuẩn không nói nó phải xảy ra "của ruồi". Để bảo mật, nó không ngăn chặn những điều xấu xảy ra, nhưng nó cung cấp một đường mòn kiểm toán xuất sắc, một trong đó chứng minh rằng người đã cam kết rõ ràng (ví dụ). Chúng tôi có các ứng dụng của chính phủ nơi một công chức chịu trách nhiệm thanh toán các khoản trợ cấp, nhưng cũng có thể đăng nhập với tư cách công dân và nộp đơn xin trợ cấp. Điều này không thể tránh được về mặt kỹ thuật, và nó cũng là thứ bạn không muốn tránh. – WanWizard

+0

@WanWizard Vâng, tôi hiểu ý của bạn. Những gì tôi hình dung mặc dù là các hệ thống như Windows, nơi bạn là người dùng thông thường và khi bạn cố gắng thực hiện một lệnh đặc quyền, nó bật lên cho các thông tin của bạn để leo thang đặc quyền của bạn. Rõ ràng, Windows có thể không trao đổi vào/ra một phiên với một phiên bản khác mà là cung cấp các quyền bổ sung. Nhưng đó là những gì tôi hiểu trong 'năng động'. Nếu Windows yêu cầu bạn đăng xuất hoàn toàn và sau đó đăng nhập lại với người dùng đặc quyền, với tôi đó là khác nhau (tức là: tĩnh) và không thực sự quản lý năng động. – Jeach

+0

Tôi hiểu rằng từ quan điểm thân thiện với người dùng, bạn sẽ muốn một cái gì đó như thế này. Tuy nhiên, tôi nghĩ từ quan điểm bảo mật, thiết kế Windows về cơ bản là thiếu sót. Nó sử dụng các thông tin của người dùng khác để nâng cao quyền của bạn, mà từ một quan điểm kiểm toán của xem là một cơn ác mộng. Và trường hợp của tôi không có người dùng nào khác, đó là cùng một người dùng có nhiều vai trò và do phân biệt trách nhiệm, người dùng có thể không có quyền liên quan đến các vai trò này cùng một lúc. – WanWizard

Các vấn đề liên quan