1
|
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
2
|
elementFormDefault="qualified" attributeFormDefault="unqualified">
|
3
|
<xs:complexType name="BODYType">
|
4
|
<xs:sequence>
|
5
|
<xs:element name="CONFIGURATION" type="CONFIGURATIONType" />
|
6
|
<xs:element name="STATUS" type="STATUSType" minOccurs="0" />
|
7
|
<xs:element ref="SECURITY_PARAMETERS" minOccurs="0" />
|
8
|
</xs:sequence>
|
9
|
</xs:complexType>
|
10
|
<xs:complexType name="CONFIGURATIONType">
|
11
|
<xs:choice>
|
12
|
<xs:element ref="Policy" />
|
13
|
<xs:element ref="PolicySet" />
|
14
|
</xs:choice>
|
15
|
</xs:complexType>
|
16
|
<xs:complexType name="DATE_OF_CREATIONType">
|
17
|
<xs:attribute name="value" type="xs:dateTime" use="required" />
|
18
|
</xs:complexType>
|
19
|
<xs:complexType name="HEADERType">
|
20
|
<xs:all>
|
21
|
<xs:element name="RESOURCE_IDENTIFIER" type="RESOURCE_IDENTIFIERType" />
|
22
|
<xs:element name="RESOURCE_TYPE" type="RESOURCE_TYPEType" />
|
23
|
<xs:element name="RESOURCE_KIND" type="RESOURCE_KINDType" />
|
24
|
<xs:element name="RESOURCE_URI" type="RESOURCE_URIType" />
|
25
|
<xs:element name="DATE_OF_CREATION" type="DATE_OF_CREATIONType" />
|
26
|
</xs:all>
|
27
|
</xs:complexType>
|
28
|
<xs:complexType name="RESOURCE_IDENTIFIERType">
|
29
|
<xs:attribute name="value" type="xs:string" use="required" />
|
30
|
</xs:complexType>
|
31
|
<xs:complexType name="RESOURCE_KINDType">
|
32
|
<xs:attribute name="value" use="required">
|
33
|
<xs:simpleType>
|
34
|
<xs:restriction base="xs:string">
|
35
|
<xs:enumeration value="SecurityPolicyDSResources" />
|
36
|
<xs:enumeration value="PendingDSResources" />
|
37
|
</xs:restriction>
|
38
|
</xs:simpleType>
|
39
|
</xs:attribute>
|
40
|
</xs:complexType>
|
41
|
<xs:element name="RESOURCE_PROFILE">
|
42
|
<xs:complexType>
|
43
|
<xs:sequence>
|
44
|
<xs:element name="HEADER" type="HEADERType" />
|
45
|
<xs:element name="BODY" type="BODYType" />
|
46
|
</xs:sequence>
|
47
|
</xs:complexType>
|
48
|
</xs:element>
|
49
|
<xs:complexType name="RESOURCE_TYPEType">
|
50
|
<xs:attribute name="value" use="required">
|
51
|
<xs:simpleType>
|
52
|
<xs:restriction base="xs:string">
|
53
|
<xs:enumeration value="SecurityPolicyDSResourceType" />
|
54
|
</xs:restriction>
|
55
|
</xs:simpleType>
|
56
|
</xs:attribute>
|
57
|
</xs:complexType>
|
58
|
<xs:complexType name="RESOURCE_URIType">
|
59
|
<xs:attribute name="value" type="xs:string" use="required" />
|
60
|
</xs:complexType>
|
61
|
<xs:element name="SECURITY_PARAMETERS" type="xs:string" />
|
62
|
<xs:complexType name="STATUSType" />
|
63
|
<!-- -->
|
64
|
<xs:element name="PolicySet" type="PolicySetType" />
|
65
|
<xs:complexType name="PolicySetType">
|
66
|
<xs:sequence>
|
67
|
<xs:element ref="Description" minOccurs="0" />
|
68
|
<xs:element ref="PolicySetDefaults" minOccurs="0" />
|
69
|
<xs:element ref="Target" />
|
70
|
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
71
|
<xs:element ref="PolicySet" />
|
72
|
<xs:element ref="Policy" />
|
73
|
<xs:element ref="PolicySetIdReference" />
|
74
|
<xs:element ref="PolicyIdReference" />
|
75
|
</xs:choice>
|
76
|
<xs:element ref="Obligations" minOccurs="0" />
|
77
|
</xs:sequence>
|
78
|
<xs:attribute name="PolicySetId" type="xs:anyURI" use="required" />
|
79
|
<xs:attribute name="PolicyCombiningAlgId" type="xs:anyURI"
|
80
|
use="required" />
|
81
|
</xs:complexType>
|
82
|
<!-- -->
|
83
|
<xs:element name="PolicySetIdReference" type="xs:anyURI" />
|
84
|
<xs:element name="PolicyIdReference" type="xs:anyURI" />
|
85
|
<!-- -->
|
86
|
<xs:element name="PolicySetDefaults" type="DefaultsType" />
|
87
|
<xs:element name="PolicyDefaults" type="DefaultsType" />
|
88
|
<xs:complexType name="DefaultsType">
|
89
|
<xs:sequence>
|
90
|
<xs:choice>
|
91
|
<xs:element ref="XPathVersion" />
|
92
|
</xs:choice>
|
93
|
</xs:sequence>
|
94
|
</xs:complexType>
|
95
|
<!-- -->
|
96
|
<xs:element name="XPathVersion" type="xs:anyURI" />
|
97
|
<!-- -->
|
98
|
<xs:element name="Policy" type="PolicyType" />
|
99
|
<xs:complexType name="PolicyType">
|
100
|
<xs:sequence>
|
101
|
<xs:element ref="Description" minOccurs="0" />
|
102
|
<xs:element ref="PolicyDefaults" minOccurs="0" />
|
103
|
<xs:element ref="Target" />
|
104
|
<xs:element ref="Rule" minOccurs="0" maxOccurs="unbounded" />
|
105
|
<xs:element ref="Obligations" minOccurs="0" />
|
106
|
</xs:sequence>
|
107
|
<xs:attribute name="PolicyId" type="xs:anyURI" use="required" />
|
108
|
<xs:attribute name="RuleCombiningAlgId" type="xs:anyURI"
|
109
|
use="required" />
|
110
|
</xs:complexType>
|
111
|
<!-- -->
|
112
|
<xs:element name="Description" type="xs:string" />
|
113
|
<!-- -->
|
114
|
<xs:element name="Rule" type="RuleType" />
|
115
|
<xs:complexType name="RuleType">
|
116
|
<xs:sequence>
|
117
|
<xs:element ref="Description" minOccurs="0" />
|
118
|
<xs:element ref="Target" minOccurs="0" />
|
119
|
<xs:element ref="Condition" minOccurs="0" />
|
120
|
</xs:sequence>
|
121
|
<xs:attribute name="RuleId" type="xs:anyURI" use="required" />
|
122
|
<xs:attribute name="Effect" type="EffectType" use="required" />
|
123
|
</xs:complexType>
|
124
|
<!-- -->
|
125
|
<xs:simpleType name="EffectType">
|
126
|
<xs:restriction base="xs:string">
|
127
|
<xs:enumeration value="Permit" />
|
128
|
<xs:enumeration value="Deny" />
|
129
|
</xs:restriction>
|
130
|
</xs:simpleType>
|
131
|
<!-- -->
|
132
|
<xs:element name="Target" type="TargetType" />
|
133
|
<xs:complexType name="TargetType">
|
134
|
<xs:sequence>
|
135
|
<xs:element ref="Subjects" minOccurs="0" />
|
136
|
<xs:element ref="Resources" minOccurs="0" />
|
137
|
<xs:element ref="Actions" minOccurs="0" />
|
138
|
</xs:sequence>
|
139
|
</xs:complexType>
|
140
|
<!-- -->
|
141
|
<xs:element name="Subjects" type="SubjectsType" />
|
142
|
<xs:complexType name="SubjectsType">
|
143
|
<xs:choice>
|
144
|
<xs:element ref="Subject" maxOccurs="unbounded" />
|
145
|
<xs:element ref="AnySubject" />
|
146
|
</xs:choice>
|
147
|
</xs:complexType>
|
148
|
<!-- -->
|
149
|
<xs:element name="Subject" type="SubjectType" />
|
150
|
<xs:complexType name="SubjectType">
|
151
|
<xs:sequence>
|
152
|
<xs:element ref="SubjectMatch" maxOccurs="unbounded" />
|
153
|
</xs:sequence>
|
154
|
</xs:complexType>
|
155
|
<!-- -->
|
156
|
<xs:element name="AnySubject" />
|
157
|
<!-- -->
|
158
|
<xs:element name="Resources" type="ResourcesType" />
|
159
|
<xs:complexType name="ResourcesType">
|
160
|
<xs:choice>
|
161
|
<xs:element ref="Resource" maxOccurs="unbounded" />
|
162
|
<xs:element ref="AnyResource" />
|
163
|
</xs:choice>
|
164
|
</xs:complexType>
|
165
|
<!-- -->
|
166
|
<xs:element name="AnyResource" />
|
167
|
<!-- -->
|
168
|
<xs:element name="Resource" type="ResourceType" />
|
169
|
<xs:complexType name="ResourceType">
|
170
|
<xs:sequence>
|
171
|
<xs:element ref="ResourceMatch" maxOccurs="unbounded" />
|
172
|
</xs:sequence>
|
173
|
</xs:complexType>
|
174
|
<!-- -->
|
175
|
<xs:element name="Actions" type="ActionsType" />
|
176
|
<xs:complexType name="ActionsType">
|
177
|
<xs:choice>
|
178
|
<xs:element ref="Action" maxOccurs="unbounded" />
|
179
|
<xs:element ref="AnyAction" />
|
180
|
</xs:choice>
|
181
|
</xs:complexType>
|
182
|
<!-- -->
|
183
|
<xs:element name="AnyAction" />
|
184
|
<!-- -->
|
185
|
<xs:element name="Action" type="ActionType" />
|
186
|
<xs:complexType name="ActionType">
|
187
|
<xs:sequence>
|
188
|
<xs:element ref="ActionMatch" maxOccurs="unbounded" />
|
189
|
</xs:sequence>
|
190
|
</xs:complexType>
|
191
|
<!-- -->
|
192
|
<xs:element name="SubjectMatch" type="SubjectMatchType" />
|
193
|
<xs:complexType name="SubjectMatchType">
|
194
|
<xs:sequence>
|
195
|
<xs:element ref="AttributeValue" />
|
196
|
<xs:choice>
|
197
|
<xs:element ref="SubjectAttributeDesignator" />
|
198
|
<xs:element ref="AttributeSelector" />
|
199
|
</xs:choice>
|
200
|
</xs:sequence>
|
201
|
<xs:attribute name="MatchId" type="xs:anyURI" use="required" />
|
202
|
</xs:complexType>
|
203
|
<!-- -->
|
204
|
<xs:element name="ResourceMatch" type="ResourceMatchType" />
|
205
|
<xs:complexType name="ResourceMatchType">
|
206
|
<xs:sequence>
|
207
|
<xs:element ref="AttributeValue" />
|
208
|
<xs:choice>
|
209
|
<xs:element ref="ResourceAttributeDesignator" />
|
210
|
<xs:element ref="AttributeSelector" />
|
211
|
</xs:choice>
|
212
|
</xs:sequence>
|
213
|
<xs:attribute name="MatchId" type="xs:anyURI" use="required" />
|
214
|
</xs:complexType>
|
215
|
<!-- -->
|
216
|
<xs:element name="ActionMatch" type="ActionMatchType" />
|
217
|
<xs:complexType name="ActionMatchType">
|
218
|
<xs:sequence>
|
219
|
<xs:element ref="AttributeValue" />
|
220
|
<xs:choice>
|
221
|
<xs:element ref="ActionAttributeDesignator" />
|
222
|
<xs:element ref="AttributeSelector" />
|
223
|
</xs:choice>
|
224
|
</xs:sequence>
|
225
|
<xs:attribute name="MatchId" type="xs:anyURI" use="required" />
|
226
|
</xs:complexType>
|
227
|
<!-- -->
|
228
|
<xs:element name="AttributeSelector" type="AttributeSelectorType" />
|
229
|
<xs:complexType name="AttributeSelectorType">
|
230
|
<xs:attribute name="RequestContextPath" type="xs:string"
|
231
|
use="required" />
|
232
|
<xs:attribute name="DataType" type="xs:anyURI" use="required" />
|
233
|
<xs:attribute name="MustBePresent" type="xs:boolean" use="optional"
|
234
|
default="false" />
|
235
|
</xs:complexType>
|
236
|
<!-- -->
|
237
|
<xs:element name="ResourceAttributeDesignator" type="AttributeDesignatorType" />
|
238
|
<xs:element name="ActionAttributeDesignator" type="AttributeDesignatorType" />
|
239
|
<xs:element name="EnvironmentAttributeDesignator" type="AttributeDesignatorType" />
|
240
|
<!-- -->
|
241
|
<xs:complexType name="AttributeDesignatorType">
|
242
|
<xs:attribute name="AttributeId" type="xs:anyURI" use="required" />
|
243
|
<xs:attribute name="DataType" type="xs:anyURI" use="required" />
|
244
|
<xs:attribute name="Issuer" type="xs:string" use="optional" />
|
245
|
<xs:attribute name="MustBePresent" type="xs:boolean" use="optional"
|
246
|
default="false" />
|
247
|
</xs:complexType>
|
248
|
<!-- -->
|
249
|
<xs:element name="SubjectAttributeDesignator" type="SubjectAttributeDesignatorType" />
|
250
|
<xs:complexType name="SubjectAttributeDesignatorType">
|
251
|
<xs:complexContent>
|
252
|
<xs:extension base="AttributeDesignatorType">
|
253
|
<xs:attribute name="SubjectCategory" type="xs:anyURI"
|
254
|
use="optional" default="urn:oasis:names:tc:1.0:subject-category:access-subject" />
|
255
|
</xs:extension>
|
256
|
</xs:complexContent>
|
257
|
</xs:complexType>
|
258
|
<!-- -->
|
259
|
<xs:element name="AttributeValue" type="AttributeValueType" />
|
260
|
<xs:complexType name="AttributeValueType" mixed="true">
|
261
|
<xs:sequence>
|
262
|
<xs:any namespace="##any" processContents="lax" minOccurs="0"
|
263
|
maxOccurs="unbounded" />
|
264
|
</xs:sequence>
|
265
|
<xs:attribute name="DataType" type="xs:anyURI" use="required" />
|
266
|
<xs:anyAttribute namespace="##any" processContents="lax" />
|
267
|
</xs:complexType>
|
268
|
<!-- -->
|
269
|
<xs:element name="Function" type="FunctionType" />
|
270
|
<xs:complexType name="FunctionType">
|
271
|
<xs:attribute name="FunctionId" type="xs:anyURI" use="required" />
|
272
|
</xs:complexType>
|
273
|
<!-- -->
|
274
|
<xs:element name="Apply" type="ApplyType" />
|
275
|
<xs:element name="Condition" type="ApplyType" />
|
276
|
<!-- -->
|
277
|
<xs:complexType name="ApplyType">
|
278
|
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
279
|
<xs:element ref="Apply" />
|
280
|
<xs:element ref="Function" />
|
281
|
<xs:element ref="AttributeValue" />
|
282
|
<xs:element ref="SubjectAttributeDesignator" />
|
283
|
<xs:element ref="ResourceAttributeDesignator" />
|
284
|
<xs:element ref="ActionAttributeDesignator" />
|
285
|
<xs:element ref="EnvironmentAttributeDesignator" />
|
286
|
<xs:element ref="AttributeSelector" />
|
287
|
</xs:choice>
|
288
|
<xs:attribute name="FunctionId" type="xs:anyURI" use="required" />
|
289
|
<!-- Legal types for the first and subsequent operands are defined in the
|
290
|
accompanying table -->
|
291
|
</xs:complexType>
|
292
|
<!-- -->
|
293
|
<xs:element name="Obligations" type="ObligationsType" />
|
294
|
<xs:complexType name="ObligationsType">
|
295
|
<xs:sequence>
|
296
|
<xs:element ref="Obligation" maxOccurs="unbounded" />
|
297
|
</xs:sequence>
|
298
|
</xs:complexType>
|
299
|
<!-- -->
|
300
|
<xs:element name="Obligation" type="ObligationType" />
|
301
|
<xs:complexType name="ObligationType">
|
302
|
<xs:sequence>
|
303
|
<xs:element ref="AttributeAssignment" minOccurs="0"
|
304
|
maxOccurs="unbounded" />
|
305
|
</xs:sequence>
|
306
|
<xs:attribute name="ObligationId" type="xs:anyURI" use="required" />
|
307
|
<xs:attribute name="FulfillOn" type="EffectType" use="required" />
|
308
|
</xs:complexType>
|
309
|
<!-- -->
|
310
|
<xs:element name="AttributeAssignment" type="AttributeAssignmentType" />
|
311
|
<xs:complexType name="AttributeAssignmentType" mixed="true">
|
312
|
<xs:complexContent mixed="true">
|
313
|
<xs:extension base="AttributeValueType">
|
314
|
<xs:attribute name="AttributeId" type="xs:anyURI" use="required" />
|
315
|
</xs:extension>
|
316
|
</xs:complexContent>
|
317
|
</xs:complexType>
|
318
|
<!-- -->
|
319
|
</xs:schema>
|