aboutsummaryrefslogtreecommitdiffstats
path: root/controlloop/templates/template.demo/src/main/resources/blacklist_template.xml
blob: 5d31730dbfa1387d94fcd1d56f58c2469c449797 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Policy xmlns="urn:oasis:names:tc:xacml:3.0:core:schema:wd-17" PolicyId="urn:com:att:xacml:policy:id:25e12b06-11d5-4895-b2a2-6f6c594de069" Version="1" RuleCombiningAlgId="urn:oasis:names:tc:xacml:3.0:rule-combining-algorithm:permit-unless-deny">
        <Description>Policy for frequency limiter.</Description>
        <Target>
            <AnyOf>
                <AllOf>
                   	<Match MatchId="urn:oasis:names:tc:xacml:1.0:function:string-regexp-match">
                        <!-- <AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">.*</AttributeValue>-->
                        <AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">${clname}</AttributeValue>
                        <AttributeDesignator Category="urn:oasis:names:tc:xacml:1.0:subject-category:access-subject" AttributeId="urn:oasis:names:tc:xacml:1.0:clname:clname-id" DataType="http://www.w3.org/2001/XMLSchema#string" MustBePresent="false"/>
                   	</Match>
             
                   	<!--  <Match MatchId="urn:oasis:names:tc:xacml:1.0:function:string-equal">-->
                   	<Match MatchId="urn:oasis:names:tc:xacml:1.0:function:string-regexp-match">
                        <AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">${actor}</AttributeValue>
                        <AttributeDesignator Category="urn:oasis:names:tc:xacml:1.0:subject-category:access-subject" AttributeId="urn:oasis:names:tc:xacml:1.0:actor:actor-id" DataType="http://www.w3.org/2001/XMLSchema#string" MustBePresent="false"/>
                    </Match>
                    <Match MatchId="urn:oasis:names:tc:xacml:1.0:function:string-regexp-match">
                        <AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">${recipe}</AttributeValue>
                        <AttributeDesignator Category="urn:oasis:names:tc:xacml:3.0:attribute-category:action" AttributeId="urn:oasis:names:tc:xacml:1.0:operation:operation-id" DataType="http://www.w3.org/2001/XMLSchema#string" MustBePresent="false"/>
                    </Match>
                </AllOf>
            </AnyOf>
        </Target>
        <Rule RuleId="urn:com:att:xacml:rule:id:e1e8c5c0-e2ba-47d5-9289-6c015305ed21" Effect="Deny">
            <Description>DENY -  only if target is in black list and guard is active.</Description>
            <Condition>
            	<Apply FunctionId="urn:oasis:names:tc:xacml:1.0:function:and">
            		<VariableReference VariableId="isGuardActive"/>
            		<VariableReference VariableId="isInBlackList"/>
                </Apply>
            </Condition>
        </Rule>
         <VariableDefinition VariableId="isInBlackList">
		 	<Apply FunctionId="urn:oasis:names:tc:xacml:3.0:function:any-of">
				<Function FunctionId="urn:oasis:names:tc:xacml:1.0:function:string-equal"/>
					<Apply FunctionId="urn:oasis:names:tc:xacml:1.0:function:string-one-and-only">
				   		<AttributeDesignator Category="urn:oasis:names:tc:xacml:3.0:attribute-category:resource" AttributeId="urn:oasis:names:tc:xacml:1.0:target:target-id" DataType="http://www.w3.org/2001/XMLSchema#string" MustBePresent="false"/>
					</Apply>
					<Apply FunctionId="urn:oasis:names:tc:xacml:1.0:function:string-bag">
						${blackListElement}
						<!-- <AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">vserver.vserver-name</AttributeValue>-->
		   			</Apply>
		   </Apply>
		</VariableDefinition>
        <VariableDefinition VariableId="isGuardActive">	
        	<Apply FunctionId="urn:oasis:names:tc:xacml:2.0:function:time-in-range">
        		<Apply FunctionId="urn:oasis:names:tc:xacml:1.0:function:time-one-and-only">
	               	<AttributeDesignator AttributeId="urn:oasis:names:tc:xacml:1.0:environment:current-time" DataType="http://www.w3.org/2001/XMLSchema#time" Category="urn:oasis:names:tc:xacml:3.0:attribute-category:environment" MustBePresent="false"/>
				</Apply>
				<AttributeValue DataType="http://www.w3.org/2001/XMLSchema#time">${guardActiveStart}</AttributeValue>
				<AttributeValue DataType="http://www.w3.org/2001/XMLSchema#time">${guardActiveEnd}</AttributeValue>
        	</Apply>
        </VariableDefinition> 
</Policy>