Here hows I do it

In short, I am not sure the whole Target thing is working for POLICY 
datastreams. Code what you need as a condition under the rule, not as 
part of the target. This I know to work.

Regards


             <Policy xmlns="urn:oasis:names:tc:xacml:1.0:policy" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
                     PolicyId="RadioTV_InhouseLicense"
 
RuleCombiningAlgId="urn:oasis:names:tc:xacml:1.0:rule-combining-algorithm:first-applicable">
                 <Description/>
                 <Target>
                     <Subjects>
                         <AnySubject></AnySubject>
                     </Subjects>
                     <Resources>
                         <AnyResource></AnyResource>
                     </Resources>
                     <Actions>
                         <AnyAction></AnyAction>
                     </Actions>
                 </Target>
                 <Rule Effect="Deny" RuleId="1">
                     <Condition 
FunctionId="urn:oasis:names:tc:xacml:1.0:function:not">
                         <Apply 
FunctionId="urn:oasis:names:tc:xacml:1.0:function:or">
                             <Apply 
FunctionId="urn:oasis:names:tc:xacml:1.0:function:string-at-least-one-member-of">
                                 <SubjectAttributeDesignator 
AttributeId="fedoraRole"
 
DataType="http://www.w3.org/2001/XMLSchema#string";
 
MustBePresent="false"/>
                                 <Apply 
FunctionId="urn:oasis:names:tc:xacml:1.0:function:string-bag">
                                     <Apply 
FunctionId="urn:oasis:names:tc:xacml:1.0:function:string-normalize-space">
                                         <AttributeValue 
DataType="http://www.w3.org/2001/XMLSchema#string";
                                                 >administrator
                                         </AttributeValue>
                                     </Apply>
                                     <Apply 
FunctionId="urn:oasis:names:tc:xacml:1.0:function:string-normalize-space">
                                         <AttributeValue 
DataType="http://www.w3.org/2001/XMLSchema#string";
                                                 >readonlyadministrator
                                         </AttributeValue>
                                     </Apply>
                                 </Apply>
                             </Apply>
                         </Apply>
                     </Condition>
                 </Rule>
             </Policy>


On 2011-06-20 09:02, Stephen Bayliss wrote:
> I can't see anything obvious to prevent your policy working.
>
> Could you try again adding the policy to the repository-policies directory
> to confirm that it works ok?
>
> Also, maybe you could try removing the Action, to confirm whether Fedora is
> picking up and evaluating the policy (maybe you could try constraining the
> policy to a subject role instead).
>
> Regards
> Steve
>
>> -----Original Message-----
>> From: GianMario Mereu [mailto:gmariome...@gmail.com]
>> Sent: 15 June 2011 16:40
>> To: Support and info exchange list for Fedora users.
>> Subject: Re: [fcrepo-user] policy in POLICY datastream is not working
>>
>>
>> 2011/6/15 Stephen Bayliss<stephen.bayl...@acuityunlimited.net>:
>>> In the non-FeSL XACML implementation, POLICY datastreams in objects
>>> implicitly apply to the object containing the datastream.  In other
>>> words in a POLICY datastream you can only use a XACML
>> policy for the
>>> containing object.
>>>
>>> These object-specific policies are only evaluated when
>> accessing that
>>> particular object - so maybe that's the reason your POLICY
>> datastream
>>> is not being used; maybe the ResourceMatch doesn't match the object
>>> with the POLICY datastream?  You could try changing the Resources
>>> section to<AnyResource/>  to match all resources to see if it then
>>> works (although you specify AnyResource it will only be
>> evaluated for
>>> that specific object).
>>
>> I try this but the object is purge anyway. I have a
>> repository policy that permit at some roles to purge objects.
>> With datastream POLICY I wish deny purging objects to all
>> roles but  one.
>>
>> Right now datastream POLICY is this:
>>
>> <?xml version="1.0" encoding="UTF-8"?>
>> <Policy xmlns="urn:oasis:names:tc:xacml:1.0:policy"
>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>> PolicyId="PolicyDSPurgeByUserOrRoleOnly"
>> RuleCombiningAlgId="urn:oasis:names:tc:xacml:1.0:rule-combinin
>> g-algorithm:permit-overrides">
>>      <Description>This policy will allow users with the roles
>> listed below to view and edit objects with this policy</Description>
>>       <Target>
>>              <Subjects>
>>                  <AnySubject/>
>>              </Subjects>
>>              <Resources>
>>              <AnyResource/>
>>              </Resources>
>>              <Actions>
>>              <Action>
>>                  <ActionMatch
>> MatchId="urn:oasis:names:tc:xacml:1.0:function:string-equal">
>>                      <AttributeValue
>> DataType="http://www.w3.org/2001/XMLSchema#string";>urn:fedora:
>> names:fedora:2.1:action:id-purgeDatastream</AttributeValue>
>>                      <ActionAttributeDesignator
>> DataType="http://www.w3.org/2001/XMLSchema#string";
>> AttributeId="urn:fedora:names:fedora:2.1:action:id"/>
>>                  </ActionMatch>
>>             </Action>
>>              </Actions>
>>          </Target>
>>    <Rule RuleId="1" Effect="Deny"/>
>> </Policy>
>>
>> Fedora uses OrderedDenyOverridesPolicyAlg like evaluation
>> policy algorithm. I don't see what i mistake.
>>
>> many thanks for your help.
>> Gian Mario
>>
>>> This contrasts with FeSL where objects with FESLPOLICY
>> datastreams are
>>> intended as stand-alone policy objects rather than policies for the
>>> containing object.
>>>
>>> Steve
>>>
>>>> -----Original Message-----
>>>> From: GianMario Mereu [mailto:gmariome...@gmail.com]
>>>> Sent: 14 June 2011 17:04
>>>> To: Support and info exchange list for Fedora users.
>>>> Subject: [fcrepo-user] policy in POLICY datastream is not working
>>>>
>>>>
>>>> Hi to all,
>>>>
>>>> like I wrote in the subject, fedora commons seems do not
>> to take into
>>>> account policy in the POLICY datastream. A policy into a
>> file saved
>>>> in "data/fedora-xacml-policies/repository-policies/default" is
>>>> taken into account, but if I move the same policy in a
>>>> datastream POLICY into the object  interested that policy
>> is ignored.
>>>>
>>>> the policy is this:
>>>>
>>>> <?xml version="1.0" encoding="UTF-8"?>
>>>> <Policy xmlns="urn:oasis:names:tc:xacml:1.0:policy"
>>>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>>>> PolicyId="PolicyDSPurgeByUserOrRoleOnly"
>>>> RuleCombiningAlgId="urn:oasis:names:tc:xacml:1.0:rule-combinin
>>>> g-algorithm:permit-overrides">
>>>>      <Description>This policy will allow users with the
>> roles listed
>>>> below to view and edit objects with this policy</Description>
>>>>       <Target>
>>>>              <Subjects>
>>>>                  <AnySubject/>
>>>>              </Subjects>
>>>>              <Resources>
>>>>                 <Resource>
>>>>          <ResourceMatch
>>>> MatchId="urn:oasis:names:tc:xacml:1.0:function:string-equal">
>>>>            <AttributeValue
>>>> DataType="http://www.w3.org/2001/XMLSchema#string";>epistemetec
>>>> :90</AttributeValue>
>>>>            <ResourceAttributeDesignator
>>>> AttributeId="urn:fedora:names:fedora:2.1:resource:object:pid"
>>>>              MustBePresent="false"
>>>>              DataType="http://www.w3.org/2001/XMLSchema#string"/>
>>>>          </ResourceMatch>
>>>>        </Resource>
>>>>              </Resources>
>>>>              <Actions>
>>>>
>>>>              <Action>
>>>>                  <ActionMatch
>>>> MatchId="urn:oasis:names:tc:xacml:1.0:function:string-equal">
>>>>                      <AttributeValue
>>>> DataType="http://www.w3.org/2001/XMLSchema#string";>urn:fedora:
>>>> names:fedora:2.1:action:id-purgeObject</AttributeValue>
>>>>                      <ActionAttributeDesignator
>>>> DataType="http://www.w3.org/2001/XMLSchema#string";
>>>> AttributeId="urn:fedora:names:fedora:2.1:action:id"/>
>>>>                  </ActionMatch>
>>>>             </Action>
>>>>
>>>>              </Actions>
>>>>          </Target>
>>>>    <Rule RuleId="1" Effect="Deny"/>
>>>> </Policy>
>>>>
>>>> I need to activate something into fedora to permit it to
>> read POLICY
>>>> DS?
>>>>
>>>> thanks in advance for you help.
>>>> Gian Mario Mereu
>>>>
>>>> --------------------------------------------------------------
>>>> ----------------
>>>> EditLive Enterprise is the world's most technically
>> advanced content
>>>> authoring tool. Experience the power of Track Changes,
>> Inline Image
>>>> Editing and ensure content is compliant with Accessibility
>> Checking.
>>>> http://p.sf.net/sfu/ephox-dev2dev
>>>> _______________________________________________
>>>> Fedora-commons-users mailing list
>>>> Fedora-commons-users@lists.sourceforge.net
>>>> https://lists.sourceforge.net/lists/listinfo/fedora-commons-users
>>>>
>>>
>>>
>>>
>> ----------------------------------------------------------------------
>>> --------
>>> EditLive Enterprise is the world's most technically advanced content
>>> authoring tool. Experience the power of Track Changes, Inline Image
>>> Editing and ensure content is compliant with Accessibility Checking.
>>> http://p.sf.net/sfu/ephox-dev2dev
>>> _______________________________________________
>>> Fedora-commons-users mailing list
>>> Fedora-commons-users@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/fedora-commons-users
>>>
>>
>> --------------------------------------------------------------
>> ----------------
>> EditLive Enterprise is the world's most technically advanced
>> content authoring tool. Experience the power of Track
>> Changes, Inline Image Editing and ensure content is compliant
>> with Accessibility Checking.
>> http://p.sf.net/sfu/ephox-dev2dev
>> _______________________________________________
>> Fedora-commons-users mailing list
>> Fedora-commons-users@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/fedora-commons-users
>>
>
>
> ------------------------------------------------------------------------------
> EditLive Enterprise is the world's most technically advanced content
> authoring tool. Experience the power of Track Changes, Inline Image
> Editing and ensure content is compliant with Accessibility Checking.
> http://p.sf.net/sfu/ephox-dev2dev
> _______________________________________________
> Fedora-commons-users mailing list
> Fedora-commons-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/fedora-commons-users


------------------------------------------------------------------------------
EditLive Enterprise is the world's most technically advanced content
authoring tool. Experience the power of Track Changes, Inline Image
Editing and ensure content is compliant with Accessibility Checking.
http://p.sf.net/sfu/ephox-dev2dev
_______________________________________________
Fedora-commons-users mailing list
Fedora-commons-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fedora-commons-users

Reply via email to