@@ -57,15 +57,18 @@ Davis, CA 95616, USA
57
57
-->
58
58
<cluster xmlns : xsi =" http://www.w3.org/2001/XMLSchema-instance" xsi : schemaLocation =" types types.xsd cluster cluster.xsd" id =" 0x001F" name =" Access Control Cluster" revision =" 2" >
59
59
<revisionHistory >
60
- <revision revision =" 1" summary =" Initial Release " />
61
- <revision revision =" 2" summary =" Added Managed feature" />
60
+ <revision revision =" 1" summary =" Initial revision " />
61
+ <revision revision =" 2" summary =" Added Managed Device feature, Extension feature, fixed conformance " />
62
62
</revisionHistory >
63
63
<clusterIds >
64
64
<clusterId id =" 0x001F" name =" AccessControl" />
65
65
</clusterIds >
66
66
<classification hierarchy =" base" role =" utility" picsCode =" ACL" scope =" Node" />
67
67
<features >
68
- <feature bit =" 0" code =" MNGD" name =" Managed" summary =" Device is managed" >
68
+ <feature bit =" 0" code =" EXTS" name =" Extension" summary =" Device provides ACL Extension attribute" >
69
+ <optionalConform />
70
+ </feature >
71
+ <feature bit =" 1" code =" MNGD" name =" Managed" summary =" Device is managed" >
69
72
<optionalConform />
70
73
</feature >
71
74
</features >
@@ -80,11 +83,6 @@ Davis, CA 95616, USA
80
83
<item value =" 3" name =" Group" summary =" Group authenticated session" >
81
84
<mandatoryConform />
82
85
</item >
83
- <item value =" 4" name =" ALL" summary =" All modes" >
84
- <mandatoryConform >
85
- <feature name =" MNGD" />
86
- </mandatoryConform >
87
- </item >
88
86
</enum >
89
87
<enum name =" AccessControlEntryPrivilegeEnum" >
90
88
<item value =" 1" name =" View" summary =" Can read and observe all (except Access Control Cluster and as seen by a non-Proxy)" >
@@ -106,6 +104,20 @@ Davis, CA 95616, USA
106
104
<mandatoryConform />
107
105
</item >
108
106
</enum >
107
+ <enum name =" AccessRestrictionTypeEnum" >
108
+ <item value =" 0" name =" AttributeAccessForbidden" summary =" Clients on this fabric are currently forbidden from reading and writing an attribute" >
109
+ <mandatoryConform />
110
+ </item >
111
+ <item value =" 1" name =" AttributeWriteForbidden" summary =" Clients on this fabric are currently forbidden from writing an attribute" >
112
+ <mandatoryConform />
113
+ </item >
114
+ <item value =" 2" name =" CommandForbidden" summary =" Clients on this fabric are currently forbidden from invoking a command" >
115
+ <mandatoryConform />
116
+ </item >
117
+ <item value =" 3" name =" EventForbidden" summary =" Clients on this fabric are currently forbidden from reading an event" >
118
+ <mandatoryConform />
119
+ </item >
120
+ </enum >
109
121
<enum name =" ChangeTypeEnum" >
110
122
<item value =" 0" name =" Changed" summary =" Entry or extension was changed" >
111
123
<mandatoryConform />
@@ -164,6 +176,45 @@ Davis, CA 95616, USA
164
176
<mandatoryConform />
165
177
</field >
166
178
</struct >
179
+ <struct name =" AccessRestrictionEntryStruct" >
180
+ <field id =" 0" name =" Endpoint" type =" endpoint-no" >
181
+ <access fabricSensitive =" true" />
182
+ <mandatoryConform />
183
+ </field >
184
+ <field id =" 1" name =" Cluster" type =" cluster-id" >
185
+ <access fabricSensitive =" true" />
186
+ <mandatoryConform />
187
+ </field >
188
+ <field id =" 2" name =" Restrictions" type =" list" default =" desc" >
189
+ <entry type =" AccessRestrictionStruct" />
190
+ <access fabricSensitive =" true" />
191
+ <mandatoryConform />
192
+ <constraint type =" minCount" value =" 1" />
193
+ </field >
194
+ <access fabricScoped =" true" />
195
+ </struct >
196
+ <struct name =" AccessRestrictionStruct" >
197
+ <field id =" 0" name =" Type" type =" AccessRestrictionTypeEnum" >
198
+ <mandatoryConform />
199
+ </field >
200
+ <field id =" 1" name =" ID" type =" uint32" >
201
+ <quality nullable =" true" />
202
+ <mandatoryConform />
203
+ </field >
204
+ </struct >
205
+ <struct name =" CommissioningAccessRestrictionEntryStruct" >
206
+ <field id =" 0" name =" Endpoint" type =" endpoint-no" >
207
+ <mandatoryConform />
208
+ </field >
209
+ <field id =" 1" name =" Cluster" type =" cluster-id" >
210
+ <mandatoryConform />
211
+ </field >
212
+ <field id =" 2" name =" Restrictions" type =" list" default =" desc" >
213
+ <entry type =" AccessRestrictionStruct" />
214
+ <mandatoryConform />
215
+ <constraint type =" minCount" value =" 1" />
216
+ </field >
217
+ </struct >
167
218
</dataTypes >
168
219
<attributes >
169
220
<attribute id =" 0x0000" name =" ACL" type =" list" default =" desc" >
@@ -175,7 +226,9 @@ Davis, CA 95616, USA
175
226
<attribute id =" 0x0001" name =" Extension" type =" list" default =" desc" >
176
227
<entry type =" AccessControlExtensionStruct" />
177
228
<access read =" true" write =" true" readPrivilege =" admin" writePrivilege =" admin" fabricScoped =" true" />
178
- <optionalConform />
229
+ <mandatoryConform >
230
+ <feature name =" EXTS" />
231
+ </mandatoryConform >
179
232
<constraint type =" desc" />
180
233
</attribute >
181
234
<attribute id =" 0x0002" name =" SubjectsPerAccessControlEntry" type =" uint16" default =" 4" >
@@ -196,15 +249,45 @@ Davis, CA 95616, USA
196
249
<mandatoryConform />
197
250
<constraint type =" min" value =" 4" />
198
251
</attribute >
199
- <attribute id =" 0x0005" name =" ManagedACL" type =" list" default =" desc" >
200
- <entry type =" AccessControlEntryStruct" />
252
+ <attribute id =" 0x0005" name =" CommissioningARL" type =" list" default =" []" >
253
+ <entry type =" CommissioningAccessRestrictionEntryStruct" />
254
+ <access read =" true" readPrivilege =" view" />
255
+ <quality changeOmitted =" false" nullable =" false" scene =" false" persistence =" fixed" reportable =" false" sourceAttribution =" false" quieterReporting =" false" />
256
+ <mandatoryConform >
257
+ <feature name =" MNGD" />
258
+ </mandatoryConform >
259
+ <constraint type =" desc" />
260
+ </attribute >
261
+ <attribute id =" 0x0006" name =" ARL" type =" list" default =" []" >
262
+ <entry type =" AccessRestrictionEntryStruct" />
201
263
<access read =" true" readPrivilege =" view" fabricScoped =" true" />
202
264
<mandatoryConform >
203
265
<feature name =" MNGD" />
204
266
</mandatoryConform >
205
267
<constraint type =" desc" />
206
268
</attribute >
207
269
</attributes >
270
+ <commands >
271
+ <command id =" 0x00" name =" ReviewFabricRestrictions" direction =" commandToServer" response =" ReviewFabricRestrictionsResponse" >
272
+ <access invokePrivilege =" admin" fabricScoped =" true" />
273
+ <mandatoryConform >
274
+ <feature name =" MNGD" />
275
+ </mandatoryConform >
276
+ <field id =" 0" name =" ARL" type =" list" default =" desc" >
277
+ <entry type =" AccessRestrictionStruct" />
278
+ <mandatoryConform />
279
+ <constraint type =" desc" />
280
+ </field >
281
+ </command >
282
+ <command id =" 0x01" name =" ReviewFabricRestrictionsResponse" direction =" responseFromServer" >
283
+ <mandatoryConform >
284
+ <feature name =" MNGD" />
285
+ </mandatoryConform >
286
+ <field id =" 0" name =" Token" type =" uint64" >
287
+ <mandatoryConform />
288
+ </field >
289
+ </command >
290
+ </commands >
208
291
<events >
209
292
<event id =" 0x00" name =" AccessControlEntryChanged" priority =" info" >
210
293
<access readPrivilege =" admin" fabricSensitive =" true" />
@@ -229,7 +312,9 @@ Davis, CA 95616, USA
229
312
</event >
230
313
<event id =" 0x01" name =" AccessControlExtensionChanged" priority =" info" >
231
314
<access readPrivilege =" admin" fabricSensitive =" true" />
232
- <mandatoryConform />
315
+ <mandatoryConform >
316
+ <feature name =" EXTS" />
317
+ </mandatoryConform >
233
318
<field id =" 1" name =" AdminNodeID" type =" node-id" >
234
319
<quality nullable =" true" />
235
320
<mandatoryConform />
@@ -248,5 +333,30 @@ Davis, CA 95616, USA
248
333
<mandatoryConform />
249
334
</field >
250
335
</event >
336
+ <event id =" 0x02" name =" AccessRestrictionEntryChanged" priority =" info" >
337
+ <access readPrivilege =" admin" fabricSensitive =" true" />
338
+ <mandatoryConform >
339
+ <feature name =" MNGD" />
340
+ </mandatoryConform >
341
+ </event >
342
+ <event id =" 0x03" name =" FabricRestrictionReviewUpdate" priority =" info" >
343
+ <access readPrivilege =" admin" fabricSensitive =" true" />
344
+ <mandatoryConform >
345
+ <feature name =" MNGD" />
346
+ </mandatoryConform >
347
+ <field id =" 0" name =" Token" type =" uint64" >
348
+ <mandatoryConform />
349
+ </field >
350
+ <field id =" 1" name =" Instruction" type =" string" >
351
+ <quality nullable =" true" />
352
+ <mandatoryConform />
353
+ <constraint type =" maxLength" value =" 512" />
354
+ </field >
355
+ <field id =" 2" name =" RedirectURL" type =" string" >
356
+ <quality nullable =" true" />
357
+ <mandatoryConform />
358
+ <constraint type =" maxLength" value =" 256" />
359
+ </field >
360
+ </event >
251
361
</events >
252
362
</cluster >
0 commit comments