1+ <?xml version =" 1.0" ?>
2+ <!--
3+ Copyright (C) Connectivity Standards Alliance (2021). All rights reserved.
4+ The information within this document is the property of the Connectivity
5+ Standards Alliance and its use and disclosure are restricted, except as
6+ expressly set forth herein.
7+
8+ Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive,
9+ nontransferable, worldwide, limited and revocable license (without the right to
10+ sublicense), under Connectivity Standards Alliance's applicable copyright
11+ rights, to view, download, save, reproduce and use the document solely for your
12+ own internal purposes and in accordance with the terms of the license set forth
13+ herein. This license does not authorize you to, and you expressly warrant that
14+ you shall not: (a) permit others (outside your organization) to use this
15+ document; (b) post or publish this document; (c) modify, adapt, translate, or
16+ otherwise change this document in any manner or create any derivative work
17+ based on this document; (d) remove or modify any notice or label on this
18+ document, including this Copyright Notice, License and Disclaimer. The
19+ Connectivity Standards Alliance does not grant you any license hereunder other
20+ than as expressly stated herein.
21+
22+ Elements of this document may be subject to third party intellectual property
23+ rights, including without limitation, patent, copyright or trademark rights,
24+ and any such third party may or may not be a member of the Connectivity
25+ Standards Alliance. Connectivity Standards Alliance members grant other
26+ Connectivity Standards Alliance members certain intellectual property rights as
27+ set forth in the Connectivity Standards Alliance IPR Policy. Connectivity
28+ Standards Alliance members do not grant you any rights under this license. The
29+ Connectivity Standards Alliance is not responsible for, and shall not be held
30+ responsible in any manner for, identifying or failing to identify any or all
31+ such third party intellectual property rights. Please visit www.csa-iot.org for
32+ more information on how to become a member of the Connectivity Standards
33+ Alliance.
34+
35+ This document and the information contained herein are provided on an “AS IS”
36+ basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS
37+ OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE
38+ INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING
39+ WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT
40+ OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS
41+ FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE
42+ CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF
43+ BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER
44+ DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL
45+ DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT
46+ OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
47+ LOSS OR DAMAGE.
48+
49+ All company, brand and product names in this document may be trademarks that
50+ are the sole property of their respective owners.
51+
52+ This notice and disclaimer must be included on all copies of this document.
53+
54+ Connectivity Standards Alliance
55+ 508 Second Street, Suite 206
56+ Davis, CA 95616, USA
57+ -->
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 =" 1" >
59+ <revisionHistory >
60+ <revision revision =" 1" summary =" Initial Release" />
61+ </revisionHistory >
62+ <clusterIds >
63+ <clusterId id =" 0x001F" name =" AccessControl" />
64+ </clusterIds >
65+ <classification hierarchy =" base" role =" utility" picsCode =" ACL" scope =" Node" />
66+ <dataTypes >
67+ <enum name =" AccessControlEntryAuthModeEnum" >
68+ <item value =" 1" name =" PASE" summary =" Passcode authenticated session" >
69+ <mandatoryConform />
70+ </item >
71+ <item value =" 2" name =" CASE" summary =" Certificate authenticated session" >
72+ <mandatoryConform />
73+ </item >
74+ <item value =" 3" name =" Group" summary =" Group authenticated session" >
75+ <mandatoryConform />
76+ </item >
77+ </enum >
78+ <enum name =" AccessControlEntryPrivilegeEnum" >
79+ <item value =" 1" name =" View" summary =" Can read and observe all (except Access Control Cluster and as seen by a non-Proxy)" >
80+ <mandatoryConform />
81+ </item >
82+ <item value =" 2" name =" Proxy" summary =" Can read and observe all (as seen by a Proxy)" >
83+ <otherwiseConform >
84+ <provisionalConform />
85+ <mandatoryConform />
86+ </otherwiseConform >
87+ </item >
88+ <item value =" 3" name =" Operate" summary =" View privileges, and can perform the primary function of this Node (except Access Control Cluster)" >
89+ <mandatoryConform />
90+ </item >
91+ <item value =" 4" name =" Manage" summary =" Operate privileges, and can modify persistent configuration of this Node (except Access Control Cluster)" >
92+ <mandatoryConform />
93+ </item >
94+ <item value =" 5" name =" Administer" summary =" Manage privileges, and can observe and modify the Access Control Cluster" >
95+ <mandatoryConform />
96+ </item >
97+ </enum >
98+ <enum name =" ChangeTypeEnum" >
99+ <item value =" 0" name =" Changed" summary =" Entry or extension was changed" >
100+ <mandatoryConform />
101+ </item >
102+ <item value =" 1" name =" Added" summary =" Entry or extension was added" >
103+ <mandatoryConform />
104+ </item >
105+ <item value =" 2" name =" Removed" summary =" Entry or extension was removed" >
106+ <mandatoryConform />
107+ </item >
108+ </enum >
109+ <struct name =" AccessControlEntryStruct" >
110+ <field id =" 1" name =" Privilege" type =" AccessControlEntryPrivilegeEnum" >
111+ <access fabricSensitive =" true" />
112+ <mandatoryConform />
113+ </field >
114+ <field id =" 2" name =" AuthMode" type =" AccessControlEntryAuthModeEnum" >
115+ <access fabricSensitive =" true" />
116+ <mandatoryConform />
117+ </field >
118+ <field id =" 3" name =" Subjects" type =" list" >
119+ <entry type =" SubjectID" />
120+ <access fabricSensitive =" true" />
121+ <quality nullable =" true" />
122+ <mandatoryConform />
123+ <constraint type =" maxCount" value =" SubjectsPerAccessControlEntry" />
124+ </field >
125+ <field id =" 4" name =" Targets" type =" list" >
126+ <entry type =" AccessControlTargetStruct" />
127+ <access fabricSensitive =" true" />
128+ <quality nullable =" true" />
129+ <mandatoryConform />
130+ <constraint type =" maxCount" value =" TargetsPerAccessControlEntry" />
131+ </field >
132+ <access fabricScoped =" true" />
133+ </struct >
134+ <struct name =" AccessControlExtensionStruct" >
135+ <field id =" 1" name =" Data" type =" octstr" >
136+ <access fabricSensitive =" true" />
137+ <mandatoryConform />
138+ <constraint type =" maxLength" value =" 128" />
139+ </field >
140+ <access fabricScoped =" true" />
141+ </struct >
142+ <struct name =" AccessControlTargetStruct" >
143+ <field id =" 0" name =" Cluster" type =" cluster-id" >
144+ <quality nullable =" true" />
145+ <mandatoryConform />
146+ </field >
147+ <field id =" 1" name =" Endpoint" type =" endpoint-no" >
148+ <quality nullable =" true" />
149+ <mandatoryConform />
150+ </field >
151+ <field id =" 2" name =" DeviceType" type =" devtype-id" >
152+ <quality nullable =" true" />
153+ <mandatoryConform />
154+ </field >
155+ </struct >
156+ </dataTypes >
157+ <attributes >
158+ <attribute id =" 0x0000" name =" ACL" type =" list" default =" desc" >
159+ <entry type =" AccessControlEntryStruct" />
160+ <access read =" true" write =" true" readPrivilege =" admin" writePrivilege =" admin" fabricScoped =" true" />
161+ <mandatoryConform />
162+ <constraint type =" desc" />
163+ </attribute >
164+ <attribute id =" 0x0001" name =" Extension" type =" list" default =" desc" >
165+ <entry type =" AccessControlExtensionStruct" />
166+ <access read =" true" write =" true" readPrivilege =" admin" writePrivilege =" admin" fabricScoped =" true" />
167+ <optionalConform />
168+ <constraint type =" desc" />
169+ </attribute >
170+ <attribute id =" 0x0002" name =" SubjectsPerAccessControlEntry" type =" uint16" default =" 4" >
171+ <access read =" true" readPrivilege =" view" />
172+ <quality changeOmitted =" false" nullable =" false" scene =" false" persistence =" fixed" reportable =" false" sourceAttribution =" false" quieterReporting =" false" />
173+ <mandatoryConform />
174+ <constraint type =" min" value =" 4" />
175+ </attribute >
176+ <attribute id =" 0x0003" name =" TargetsPerAccessControlEntry" type =" uint16" default =" 3" >
177+ <access read =" true" readPrivilege =" view" />
178+ <quality changeOmitted =" false" nullable =" false" scene =" false" persistence =" fixed" reportable =" false" sourceAttribution =" false" quieterReporting =" false" />
179+ <mandatoryConform />
180+ <constraint type =" min" value =" 3" />
181+ </attribute >
182+ <attribute id =" 0x0004" name =" AccessControlEntriesPerFabric" type =" uint16" default =" 4" >
183+ <access read =" true" readPrivilege =" view" />
184+ <quality changeOmitted =" false" nullable =" false" scene =" false" persistence =" fixed" reportable =" false" sourceAttribution =" false" quieterReporting =" false" />
185+ <mandatoryConform />
186+ <constraint type =" min" value =" 4" />
187+ </attribute >
188+ </attributes >
189+ <events >
190+ <event id =" 0x00" name =" AccessControlEntryChanged" priority =" info" >
191+ <access readPrivilege =" admin" fabricSensitive =" true" />
192+ <mandatoryConform />
193+ <field id =" 1" name =" AdminNodeID" type =" node-id" >
194+ <quality nullable =" true" />
195+ <mandatoryConform />
196+ <constraint type =" desc" />
197+ </field >
198+ <field id =" 2" name =" AdminPasscodeID" type =" uint16" >
199+ <quality nullable =" true" />
200+ <mandatoryConform />
201+ <constraint type =" desc" />
202+ </field >
203+ <field id =" 3" name =" ChangeType" type =" ChangeTypeEnum" >
204+ <mandatoryConform />
205+ </field >
206+ <field id =" 4" name =" LatestValue" type =" AccessControlEntryStruct" >
207+ <quality nullable =" true" />
208+ <mandatoryConform />
209+ </field >
210+ </event >
211+ <event id =" 0x01" name =" AccessControlExtensionChanged" priority =" info" >
212+ <access readPrivilege =" admin" fabricSensitive =" true" />
213+ <mandatoryConform />
214+ <field id =" 1" name =" AdminNodeID" type =" node-id" >
215+ <quality nullable =" true" />
216+ <mandatoryConform />
217+ <constraint type =" desc" />
218+ </field >
219+ <field id =" 2" name =" AdminPasscodeID" type =" uint16" >
220+ <quality nullable =" true" />
221+ <mandatoryConform />
222+ <constraint type =" desc" />
223+ </field >
224+ <field id =" 3" name =" ChangeType" type =" ChangeTypeEnum" >
225+ <mandatoryConform />
226+ </field >
227+ <field id =" 4" name =" LatestValue" type =" AccessControlExtensionStruct" >
228+ <quality nullable =" true" />
229+ <mandatoryConform />
230+ </field >
231+ </event >
232+ </events >
233+ </cluster >
0 commit comments