2011-11-01 26 views
9

Tôi đang cân nhắc việc di chuyển ứng dụng khách của mình bằng cách sử dụng dịch vụ ủy quyền XACML 2.0 để sử dụng dịch vụ XACML 3.0 mới hơn.XACML 3.0 khác với XACML 2.0 như thế nào?

Tôi sẽ gặp phải những thay đổi hoặc vấn đề gì trong việc di chuyển ứng dụng khách của tôi khỏi yêu cầu XACML 2.0 để thực hiện các yêu cầu XACML 3.0?

+0

tôi nhận được yêu cầu này tất cả các thời gian, vì vậy tôi đăng nó ở đây như một câu hỏi thường gặp về SO. – dthorpe

Trả lời

11

Sự khác biệt lớn nhất giữa XACML 2.0 và XACML 3.0 cho ứng dụng khách của bạn là cấu trúc của các thuộc tính trong yêu cầu authz đã thay đổi đáng kể trong XACML 3.0.

Trong XACML 2.0, các thuộc tính đã được tổ chức thành các môn học, tài nguyên, môi trường hoặc các danh mục hành động sử dụng các thẻ phần tử XML:

<?xml version="1.0" encoding="UTF-8"?> 
<Request xmlns="urn:oasis:names:tc:xacml:2.0:context:schema:os" 
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
      xsi:schemaLocation="urn:oasis:names:tc:xacml:2.0:context:schema:os access_control-xacml-2.0-context-schema-os.xsd"> 
     <Subject> 
      <Attribute 
        AttributeId="urn:oasis:names:tc:xacml:1.0:subject:subject-id" 
        DataType="http://www.w3.org/2001/XMLSchema#string"> 
       <AttributeValue>Julius Hibbert</AttributeValue> 
      </Attribute> 
     </Subject> 
     <Resource> 
      <Attribute 
        AttributeId="urn:oasis:names:tc:xacml:1.0:resource:resource-id" 
        DataType="http://www.w3.org/2001/XMLSchema#anyURI"> 
       <AttributeValue>http://medico.com/record/patient/BartSimpson</AttributeValue> 
      </Attribute> 
     </Resource> 
     <Action> 
      <Attribute 
        AttributeId="urn:oasis:names:tc:xacml:1.0:action:action-id" 
        DataType="http://www.w3.org/2001/XMLSchema#string"> 
       <AttributeValue>read</AttributeValue> 
      </Attribute> 
     </Action> 
     <Environment/> 
</Request> 

Trong XACML 3.0, các loại này được chỉ định sử dụng XML thuộc tính thay cho các thẻ phần tử XML:

<?xml version="1.0" encoding="utf-8"?> 
<Request xsi:schemaLocation="urn:oasis:names:tc:xacml:3.0:core:schema:wd-17 http://docs.oasis-open.org/xacml/3.0/xacml-core-v3-schema-wd-17.xsd" ReturnPolicyIdList="false" CombinedDecision="false" xmlns="urn:oasis:names:tc:xacml:3.0:core:schema:wd-17" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
    <Attributes Category="urn:oasis:names:tc:xacml:1.0:subject-category:access-subject"> 
    <Attribute IncludeInResult="false" AttributeId="urn:oasis:names:tc:xacml:1.0:subject:subject-id"> 
     <AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">Julius Hibbert</AttributeValue> 
    </Attribute> 
    </Attributes> 
    <Attributes Category="urn:oasis:names:tc:xacml:3.0:attribute-category:resource"> 
    <Attribute IncludeInResult="false" AttributeId="urn:oasis:names:tc:xacml:1.0:resource:resource-id"> 
     <AttributeValue DataType="http://www.w3.org/2001/XMLSchema#anyURI">http://medico.com/record/patient/BartSimpson</AttributeValue> 
    </Attribute> 
    </Attributes> 
    <Attributes Category="urn:oasis:names:tc:xacml:3.0:attribute-category:action"> 
    <Attribute IncludeInResult="false" AttributeId="urn:oasis:names:tc:xacml:1.0:action:action-id"> 
     <AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">read</AttributeValue> 
    </Attribute> 
    </Attributes> 
    <Attributes Category="urn:oasis:names:tc:xacml:3.0:attribute-category:environment" /> 
</Request> 

Yếu tố <Subject> trong XACML 2.0 trở <Attributes Category="urn:oasis:names:tc:xacml:1.0:subject-category:access-subject"> trong XACML 3.0, ví dụ. Ditto cho tài nguyên, môi trường và danh mục hành động.

Thay đổi cấu trúc này đơn giản hóa mô hình xử lý để xử lý yêu cầu và giúp dễ dàng mở rộng mô hình với các danh mục tùy chỉnh cụ thể cho từng ứng dụng hoặc tên miền mà không cần chạy xác thực lược đồ.

Có các kiểu dữ liệu và chức năng mới được xác định trong XACML 3.0 để sử dụng trong các định nghĩa chính sách. Kiểu dữ liệu AnyURI bây giờ khác với kiểu dữ liệu chuỗi. Một số thuật toán kết hợp 2.0 đã không còn được dùng để ủng hộ 3.0 tương đương mới xác định chính xác hơn cách các trạng thái không xác định truyền bá thông qua cây quyết định chính sách. Các thuật toán kết hợp cũ vẫn được bao gồm dưới dạng các tạo phẩm "thừa kế".

Yêu cầu và chính sách XACML 2.0 có thể được chuyển đổi về cơ học sang định dạng XACML 3.0 mà không làm mất thông tin. Việc chuyển đổi phản hồi 3.0 trở lại thành định dạng 2.0 có thể thực hiện được nếu bạn dính vào các câu trả lời đơn giản cho phép/từ chối.

4

Vui lòng kiểm tra wiki OASIS XACML TC cho một danh sách chính thức của sự khác biệt:

"Differences between XACML 2.0 and XACML 3.0"

Tóm lại ...

Sự khác biệt chính giữa XACML 2.0 và XACML 3,0 là trong các tính năng mới chẳng hạn như

  • biểu thức nghĩa vụ: bạn có thể có các bộ phận động cho báo cáo nghĩa vụ
  • giới thiệu lời khuyên có hiệu quả là khái quát hóa nghĩa vụ đối với phạm vi rộng hơn
  • việc giới thiệu XACML v3.0 Administration and Delegation Profile Version 1.0. Cho đến ngày Axiomatics và ViewDS (http://www.viewDs.com) là các triển khai XACML 3.0 hoàn chỉnh duy nhất bao gồm ủy quyền. Đây là một tính năng chính cho triển khai đám mây và liên kết. Mô hình ủy quyền là kết quả của hơn 5 năm R & D tại Viện Khoa học Máy tính Thụy Điển (SICS).

Thông tin này được tóm tắt trên trang wiki XACML TC tại OASIS. TC được hỗ trợ bởi các tổ chức hàng đầu như Oracle, IBM và Axiomatics. Trình soạn thảo của XACML 3.0 đặc điểm kỹ thuật là CTO của Axiomatics, Erik Rissanen.

Ngoài ra, Kuppinger Cole đã gửi hội thảo trên web về chủ đề: "Policy Based Access Control with XACML 3.0".

Cuối cùng, tôi tóm tắt các tính năng mới trên "Enhancements and new features in #XACML 3.0".

+2

Các wiki Oasis có rất nhiều nếu thông tin về Xacml 2.0 vs Xamcl 3.0 sự khác biệt, nhưng đó là tất cả về cú pháp chính sách và các tính năng. Ứng dụng của khách hàng hầu như không biết đến mức chi tiết nội bộ PDP đó. Đối với câu hỏi "Làm thế nào sẽ di chuyển từ 2,0 đến 3,0 ảnh hưởng đến mã khách hàng của tôi", chúng ta cần phải nhìn vào những thay đổi trong yêu cầu và phản hồi. – dthorpe

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