2013-04-05 2 views
3

Как мы используем обязательства в XACML? Любая ссылка будет полезна сценарий является то, что обязательства должны относиться ПГИ и Retrun результат в PEPXACML Обязательства

Благодарности

--- EDIT --- Пример из автора комментария:

<ObligationExpressions> 
    <ObligationExpression ObligationId="EmailObligation" FulfillOn="Permit"> 
     <AttributeAssignmentExpression AttributeId="urn:oasis:names:tc:xacml:3.0:example:attribute:text"> 
      <AttributeDesignator MustBePresent="false" Category="urn:oasis:names:tc:xacml:1.0:subject-category:access-subject" AttributeId="urn:oasis:names:tc:xacml:1.0:subject:subject-id" DataType="w3.org/2001/XMLSchema#string"/> 
     </AttributeAssignmentExpression> 
    </ObligationExpression> 
</ObligationExpressions> 
+0

Как это Cijoy

+0

Я переместил ваш пример на вопрос. Если мой ответ будет удовлетворительным, примите его. Благодарю. –

ответ

6

Обязательства в XACML (а также рекомендации, представленные в XACML 3.0) используются для обогащения потока авторизации.

Типичный ответ XACML принимает только решение (любое разрешение, запрет, не применимо или неопределенный). Но что, если вы хотите сказать пользователю, почему доступ запрещен? Что делать, если вы хотите реализовать сценарий «Разбить стекло»?

Это то, где обязательства и советы пригождаются. Вот несколько примеров:

  • отрицающие Алисе доступ к документу D + обязательства: адрес электронной почты своего менеджера, Боб, чтобы дать ему знать, Алиса попыталась открыть документ D.
  • отрицают, доктор Хаус, право на просмотр медицинской документации + Обязанность: сообщите Доктору Доктору, что он может «разорвать стекло», чтобы получить доступ к медицинской карте.
  • Разрешить Джо для просмотра документа D, но первый водяной знак документ перед его возвращением к Джо

В XACML 3.0 обязательства и рекомендации могут иметь переменные части, такие как - в приведенных выше примерах - адрес электронной почты менеджера. Эти части могут быть извлечены из PIP.

+0

Есть ли в XACML, чтобы определить концепцию Pre-обязательств и пост-обязательств? Пример использования: Утвердить Председателю отдела предложений необходимо Подписать его <Предварительное обязательство>, а затем Обязательство по Положению должно уведомить об этом следующий рабочий процесс Дин для утверждения. – Milson

+1

Они оба рассматриваются как обязательства. Фактически вы отправили бы 2 запроса XACML в этом случае, хотя –

+1

Я сделал это, указав два разных обязательства и т. Д. В двух атрибутах атрибута AttributeExpression внутри выражения ObligationExpression, и в клиенте я сначала проверяю, что все преобъективы выполняются и проверяют postobligation. – Milson

Смежные вопросы