OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

xacml message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]


Subject: RE: [xacml] [model] New Issue: applicability


Title: RE: [xacml] [model] New Issue: applicability

Hi Anne,

Your example is interesting -- and realistic -- but I don't think it forces us into either of your proposed resolutions below.  As you correctly stated, the specific policy you gave as an example is only designed to cover a subset of the approval requests.  But the current syntax already allows this.

Consider an expanded version of your example (which is even more realistic).  The real policy regarding "approval" of an employee_status_change_form will require a number of things.  For example, certain mandatory fields must be filled in (such as the name and employee number of the person that this change form is about), the effective date (i.e., the date this change is to take effect) must be greater than or equal to the date the change form is signed, and the signer title is either a director or, if the status_change is "terminate" and the age is >= 50, a VP.  Anyway, you get the picture:  there are lots of rules about what will make the form acceptable for the "approval" action.

So, the policy is written something like this:

[same target as you have below]
<policy>

    <and>

        <present> employee_status_change_form/employee_name     </present>

        <present> employee_status_change_form/employee_number </present>

        <greaterOrEqual>
                employee_status_change_form/date
                currentDate()
        </greaterOrEqual>

        <or>

            <and>
                <equal>
                        employee_status_change_form/status_change
                        "terminate"
                </equal>
                <greaterOrEqual>
                        employee_status_change_form/age
                        "50"
                </greaterOrEqual>
                <equal>
                        employee_status_change_form/signer_title
                        "VP"
                </equal>
            </and>

            <and>
                <not>
                    <and>
                        <equal>
                                employee_status_change_form/status_change
                                "terminate"
                        </equal>
                        <greaterOrEqual>
                                employee_status_change_form/age
                                "50"
                        </greaterOrEqual>
                    </and>
                </not>
                <equal>
                        employee_status_change_form/signer_title
                        "Director"
                </equal>
            </and>

        </or>

    </and>

</policy>


I've left out some syntax (especially <valueRef> and <value> elements) to make the presentation clearer.  The point is that a subset of the overall policy is written as a subset (whether it is explicitly included or simply referenced).  There should be no conflict with applicability.  I don't think that we need to change the <target> syntax, or add <if>, <then>, and <grant> elements to the <policy> syntax, to achieve what you're looking for.

Carlisle.




[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]


Powered by eList eXpress LLC