ISO/IEC 17826:2022
(Main)Information technology — Cloud Data Management Interface (CDMI) Version 2.0.0
Information technology — Cloud Data Management Interface (CDMI) Version 2.0.0
This document specifies the interface to access cloud storage and to manage the data stored therein. This International Standard applies to developers who are implementing or using cloud storage.
Technologies de l'information — Interface de management des données du nuage informatique (CDMI) Version 2.0.0
General Information
Relations
Standards Content (Sample)
INTERNATIONAL ISO/IEC
STANDARD 17826
Third edition
2022-05
Information technology — Cloud Data
Management Interface (CDMI) Version
2.0.0
Technologies de l'information — Interface de management des
données du nuage informatique (CDMI) Version 2.0.0
Reference number
ISO/IEC 17826:2022(E)
© ISO/IEC 2022
---------------------- Page: 1 ----------------------
ISO/IEC 17826:2022(E)
COPYRIGHT PROTECTED DOCUMENT
© ISO/IEC 2022
All rights reserved. Unless otherwise specified, or required in the context of its implementation, no part of this publication may
be reproduced or utilized otherwise in any form or by any means, electronic or mechanical, including photocopying, or posting on
the internet or an intranet, without prior written permission. Permission can be requested from either ISO at the address below
or ISO’s member body in the country of the requester.
ISO copyright office
CP 401 • Ch. de Blandonnet 8
CH-1214 Vernier, Geneva
Phone: +41 22 749 01 11
Email: copyright@iso.org
Website: www.iso.org
Published in Switzerland
ii
© ISO/IEC 2022 – All rights reserved
---------------------- Page: 2 ----------------------
ISO/IEC 17826:2022(E)
Foreword
ISO (the International Organization for Standardization) and IEC (the International Electrotechnical
Commission) form the specialized system for worldwide standardization. National bodies that are
members of ISO or IEC participate in the development of International Standards through technical
committees established by the respective organization to deal with particular fields of technical activity.
ISO and IEC technical committees collaborate in fields of mutual interest. Other international
organizations, governmental and non-governmental, in liaison with ISO and IEC, also take part in the
work.
The procedures used to develop this document and those intended for its further maintenance
are described in the ISO/IEC Directives, Part 1. In particular, the different approval criteria needed
for the different types of document should be noted (see www.iso.org/directives or
www.iec.ch/members_experts/refdocs).
Attention is drawn to the possibility that some of the elements of this document may be the subject of
patent rights. ISO and IEC shall not be held responsible for identifying any or all such patent rights. Details
of any patent rights identified during the development of the document will be in the Introduction and/or
on the ISO list of patent declarations received (see www.iso.org/patents) or the IEC list of patent
declarations received (see https://patents.iec.ch).
Any trade name used in this document is information given for the convenience of users and does not
constitute an endorsement.
For an explanation of the voluntary nature of standards, the meaning of ISO specific terms and
expressions related to conformity assessment, as well as information about ISO's adherence to
the World Trade Organization (WTO) principles in the Technical Barriers to Trade (TBT),
see www.iso.org/iso/foreword.html. In the IEC, see www.iec.ch/understanding-standards.
This document was prepared by SNIA (as Cloud Data Management Interface (CDMI™), Version 2.0.0) and
drafted in accordance with its editorial rules. It was adopted, under the JTC 1 PAS procedure, by Joint
Technical Committee ISO/IEC JTC 1, Information technology.
This third edition cancels and replaces the second edition (ISO/IEC 17826:2016), which has been
technically revised.
The main changes are as follows:
— Specification changes:
— no longer a reliance on X-CDMI-SPECIFICATION-VERSION header, as per IETF guidelines;
— support for PATCH HTTP verb, in addition of PUT, for resource updates;
— use of /cdmi/v2.0.0/ root URI in examples;
— new format for query parameters in URIs;
— exports section has been re-written;
— versioning examples have been updated;
— audit and logging clauses have been removed (due to no vendor implementations);
© ISO/IEC 2022 – All rights reserved iii
---------------------- Page: 3 ----------------------
ISO/IEC 17826:2022(E)
— Bibliography section has been re-written;
— RFC references have been updated;
— HTTPS is used instead of HTTP in examples;
— references updated from CIFS to SMB;
— document formatting cleanup.
— Incorporated Extensions into Specification:
— Encrypted Object extension;
— Delegated Access Control extension;
— JSON Transfer Encoding extension.
— Incorporated Extensions into Annex A:
— summary metadata for bandwidth;
— expiring access control entries;
— group storage system metadata;
— header-based metadata;
— immediate query.
Any feedback or questions on this document should be directed to the user’s national standards body. A
complete listing of these bodies can be found at www.iso.org/members.html and www.iec.ch/national-
committees.
iv © ISO/IEC 2022 – All rights reserved
---------------------- Page: 4 ----------------------
CloudData Management Interface2.0.0
ISO/IEC 17826:2022(E)
TableofContents:
I CDMIPreamble 1
Clause1: Scope 3
Clause2: Normative references 4
Clause3: Terms,acronyms,anddefinitions 6
Clause4: Conventions 11
4.1 Interfaceformat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.2 Typographicalconventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4.3 Requestand responsebody requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.4 KeyWordrequirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Clause5: Overview ofCloud Storage 15
5.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
5.2 Referencemodel forcloud storageinterfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
5.3 Clouddata managementinterface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
5.4 Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
5.5 RequiredHTTP support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
5.6 Timerepresentations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
5.7 Backwardscompatibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
5.8 Objectreferences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
II BasicCloud Storage 32
Clause6: Data ObjectResource Operations usingHTTP 33
6.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
6.2 Createa dataobject usingHTTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
6.3 Reada dataobject usingHTTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
6.4 Updatea dataobject usingHTTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
6.5 Deletea dataobject usingHTTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Clause7: Container ObjectResource Operations usingHTTP 43
7.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
7.2 Createa containerobject usingHTTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
7.3 Reada containerobject usingHTTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
7.4 Updatea containerobject usingHTTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
7.5 Deletea containerobject usingHTTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
7.6 Create(POST) anew dataobjectusing HTTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
III CDMICore 52
Clause8: Data ObjectResource Operations usingCDMI 53
8.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
8.2 Dataobject details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
8.3 Createa dataobject usingCDMI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
8.4 Reada dataobject usingCDMI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
8.5 Updatea dataobject usingCDMI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
8.6 Deletea dataobject usingCDMI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Clause9: Container ObjectResource Operations usingCDMI 87
9.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
9.2 Containerobject details. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
9.3 Createa containerobject usingCDMI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
9.4 Reada containerobject usingCDMI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
9.5 Updatea containerobject usingCDMI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
©SNIA2021 SNIATechnicalPosition iii
© ISO/IEC 2022 – All rights reserved
v
---------------------- Page: 5 ----------------------
CloudData Management Interface2.0.0
ISO/IEC 17826:2022(E)
9.6 Deletea container object usingCDMI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
9.7 Create(POST) anew dataobjectusing CDMI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
9.8 Create(POST) anew queueobjectusing CDMI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
IV CDMIAdvanced 125
Clause10: Domain objectresource operationsusing CDMI 126
10.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
10.2 Domain object details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
10.3 Domain object summaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
10.4 Domain object membership . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
10.5 Create a domainobjectusing CDMI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
10.6 Read a domainobjectusing CDMI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
10.7 Update a domainobjectusing CDMI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
10.8 Delete a domainobjectusing CDMI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
Clause11: Queue objectresource operationsusing CDMI 151
11.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
11.2 Queue object details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
11.3 Create a queueobjectusing CDMI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
11.4 Read a queueobjectusing CDMI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
11.5 Update a queueobjectusing CDMI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
11.6 Delete a queueobjectusing CDMI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
11.7 Enqueue a newqueueobject valueusing CDMI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
11.8 Delete a queueobjectvalue usingCDMI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
Clause12: Capability objectresource operationsusing CDMI 182
12.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
12.2 Capability object details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
12.3 Read a capabilitiesobjectusing CDMI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
Clause13: Exported protocols 204
13.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
13.2 Container object exportdetails . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
13.3 NFS exported protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
13.4 SMB exported protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
13.5 iSCSI exported protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
13.6 WebDAVexportedprotocol. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
13.7 OCCI exported protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
Clause14: CDMI snapshots 215
14.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
14.2 Creating a snapshot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
14.3 Deleting a snapshot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
Clause15: Serialization/deserialization 218
15.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
15.2 Canonical format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
15.3 Exporting serialized data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
15.4 Importing serialized data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
Clause16: Metadata 223
16.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
16.2 Support for storagesystemmetadata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
16.3 Support for datasystemmetadata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
16.4 Support for provideddatasystem metadata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
16.5 Support for usermetadata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
16.6 Metadata update operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
Clause17: Access control 238
17.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
17.2 Access control flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
Clause18: Retention andhold management 251
18.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
18.2 Retention management disciplines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
18.3 CDMI retention . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
18.4 CDMI hold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
18.5 CDMI autodeletion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
©SNIA2021 SNIATechnicalPosition iv
© ISO/IEC 2022 – All rights reserved
vi
---------------------- Page: 6 ----------------------
CloudData Management Interface2.0.0
ISO/IEC 17826:2022(E)
18.6 Retentionsecurityconsiderations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
Clause19: Scope specification 260
19.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
19.2 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
19.3 Query matching expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
Clause20: Results specification 266
20.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
20.2 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
Clause21: Notification queues 268
21.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
21.2 Metadata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
Clause22: Query queues 273
22.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
22.2 Extending CDMI query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
Clause23: Encrypted objects 276
23.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
23.2 Encryption operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
23.3 Example uses ofencryptedobjects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
23.4 KMS integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
23.5 CMS format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
23.6 JOSE format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
23.7 Signature/digest verification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
23.8 Error handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
Clause24: Delegated accesscontrol 286
24.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
24.2 Delegated access control(DAC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
24.3 Delegated access controlmessageexchange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
24.4 Client header passthrough . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
24.5 DAC request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
24.6 Packaged DAC request. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
24.7 DAC response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
24.8 Packaged DAC response. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
24.9 Error handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
24.10Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
Clause25: Data objectversions 311
25.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
25.2 Traversingversionenabled data objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
25.3 Concurrent updates andversionenableddata objects . . . . . . . . . . . . . . . . . . . . . . . . . . 314
25.4 Capabilities for versionenableddataobjects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
25.5 Updates triggering versioncreation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
25.6 Operations on versionenableddataobjects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
25.7 Operations on dataobjectversions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
25.8 Query of dataobjectversions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
25.9 Versionenableddataobjectserialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
V CDMIAnnexes 323
Clause26: Extensions 324
26.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
26.2 Summary metadata forbandwidth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
26.3 Expiring access controlentries(ACEs) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
26.4 Group storage systemmetadata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
26.5 Headerbased metadata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
26.6 Immediate query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
VI References 340
Bibliography 341
©SNIA2021 SNIATechnicalPosition v
© ISO/IEC 2022 – All rights reserved
vii
---------------------- Page: 7 ----------------------
CloudData Management Interface2.0.0
ISO/IEC 17826:2022(E)
ListofFigures
Fig. 1: Existingdatastorage interface standards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Fig. 2: Storageinterfacesfor object storageclient data . . . . . . . . . . . . . . . . . . . . . . . . . 16
Fig. 3: Cloudstoragereference model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Fig. 4: CDMIobjectmodel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Fig. 5: Objecttransitionsbetween named andIDonly . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Fig. 6: CDMIURIComponents. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Fig. 7: Hierarchyofdomains . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
Fig. 8: Hierarchyofcapabilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
Fig. 9: CDMIandOCCI in anintegrated cloudcomputingenvironment . . . . . . . . . . . . . . . . . 213
Fig. 10: Snapshotcontainerstructure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
Fig. 11: Accesscontrolflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
Fig. 12: Objectretention . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
Fig. 13: Objecthold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
Fig. 14: Objectholdon objectwith retention . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
Fig. 15: Objectwithmultiple holds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
Fig. 16: Encryptedobjectstate transistions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
Fig. 17: Nondelegated(ACLbased)access controldata flow . . . . . . . . . . . . . . . . . . . . . . 286
Fig. 18: Delegatedaccesscontrol dataflow example fornonencryptedobject . . . . . . . . . . . . . 290
Fig. 19: Delegatedaccesscontrol dataflow example forencryptedobject . . . . . . . . . . . . . . . . 291
Fig. 20: Updatestoa nonversionenableddata object . . . . . . . . . . . . . . . . . . . . . . . . . . 311
Fig. 21: Updatestoa versionenableddata object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
Fig. 22: Linkagesbetweena versionenableddata object anddataobject versions . . . . . . . . . . . 313
Fig. 23: Overlappingconcurrentupdates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
Fig. 24: Linkagesforoverlapping updates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
Fig. 25: Nestedconcurrentupdates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
Fig. 26: Linkagesfornested updates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
Fig. 27: VersiontocapabilityURI relationships. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
©SNIA2021 SNIATechnicalPosition vi
© ISO/IEC 2022 – All rights reserved
viii
---------------------- Page: 8 ----------------------
CloudData Management Interface2.0.0
ISO/IEC 17826:2022(E)
ListofTables
Table1: Overviewof thisdocument . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Table2: Interfaceformat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Table3: Keyword requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Table4: Typesofresources intheCDMI object model . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Table5: Creation/consumptionof storagesystem metadata . . . . . . . . . . . . . . . . . . . . . . . . 21
Table6: ObjectID format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Table7: RelativeURIs resolvedagainst root URIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Table8: Capabilities Createa CDMI dataobjectusing HTTP . . . . . . . . . . . . . . . . . . . . . . . 34
Table9: Requestheaders Create a CDMIdataobject usingHTTP . . . . . . . . . . . . . . . . . . . . 34
Table10: HTTPstatuscodes Createadata objectusing HTTP . . . . . . . . . . . . . . . . . . . . . . 35
Table11: CapabilitiesReada CDMIdataobject usingHTTP . . . . . . . . . . . . . . . . . . . . . . . 36
Table12: RequestheaderRead aCDMIdata objectusing HTTP . . . . . . . . . . . . . . . . . . . . . 36
Table13: ResponseheadersRead aCDMIData Objectusing HTTP . . . . . . . . . . . . . . . . . . . 37
Table14: HTTPstatuscodes ReadaCDMI dataobject using HTTP . . . . . . . . . . . . . . . . . . . 37
Table15: CapabilitiesUpdatea CDMIdataobject usingHTTP . . . . . . . . . . . . . . . . . . . . . . 39
Table16: RequestheadersUpdate aCDMIdata objectusing HTTP . . . . . . . . . . . . . . . . . . . 39
Table17: ResponseheaderUpdate aCDMIdata objectusing HTTP . . . . . . . . . . . . . . . . . . . 40
Table18: HTTPstatuscodes UpdateaCDMI dataobject using HTTP . . . . . . . . . . . . . . . . . . 40
Table19: CapabilitiesDeletea CDMIdataobject usingHTTP . . . . . . . . . . . . . . . . . . . . . . . 41
Table20: HTTPstatuscodes DeleteaCDMI dataobject using HTTP . . . . . . . . . . . . . . . . . . . 41
Table21: CapabilitiesCreatea CDMIcontainerobject usingHTTP . . . . . . . . . . . . . . . . . . . . 44
Table22: HTTPstatuscodes Createacontainer objectusing HTTP . . . . . . . . . . . . . . . . . . . 44
Table23: CapabilitiesDeletea CDMIcontainerobject usingHTTP . . . . . . . . . . . . . . . . . . . . 48
Table24: HTTPstatuscodes DeleteaCDMI containerobject using HTTP . . . . . . . . . . . . . . . . 49
Table25: CapabilitiesCreatea CDMIdataobject usingHTTP POST . . . . . . . . . . . . . . . . . . . 50
Table26: RequestheaderCreate anewdata objectusing HTTP . . . . . . . . . . . . . . . . . . . . . 50
Table27: ResponseheaderCreate anewdata objectusing HTTP . . . . . . . . . . . . . . . . . . . . 51
Table28: HTTPstatuscodes Createanew dataobject using HTTP . . . . . . . . . . . . . . . . . . . 51
Table29: CapabilitiesCreatea CDMIdataobject usingCDMI . . . . . . . . . . . . . . . . . . . . . . . 57
Table30: RequestheadersCreate aCDMIdata objectusing CDMI . . . . . . . . . . . . . . . . . . . . 57
Table31: Requestmessagebody Createadata objectusing CDMI . . . . . . . . . . . . . . . . . . . . 58
Table32: ResponseheadersCreate adataobject usingCDMI . . . . . . . . . . . . . . . . . . . . . . 61
Table33: Responsemessagebody Createadata objectusing CDMI . . . . . . . . . . . . . . . . . . . 61
Table34: HTTPstatuscodes Createadata objectusing CDMI . . . . . . . . . . . . . . . . . . . . . . 62
Table35: CapabilitiesReada CDMIdataobject usingCDMI . . . . . . . . . . . . . . . . . . . . . . . . 67
Table36: RequestheadersRead aCDMIdata objectusing CDMI . . . . . . . . . . . . . . . . . . . . 67
Table37: ResponseheadersRead aCDMIdata objectusing CDMI . . . . . . . . . . . . . . . . . . . 68
Table38: Responsemessagebody ReadaCDMI dataobject using CDMI . . . . . . . . . . . . . . . . 68
Table39: HTTPstatuscodes ReadaCDMI dataobject using CDMI . . . . . . . . . . . . . . . . . . . 70
Table40: CapabilitiesUpdatea CDMIdataobject usingCDMI . . . . . . . . . . . . . . . . . . . . . . 76
Table41: RequestheadersUpdate aCDMIdata objectusing CDMI . . . . . . . . . . . . . . . . . . . 77
Table42: Requestmessagebody UpdateaCDMI dataobject using CDMI . . . . . . . . . . . . . . . . 77
Table43: ResponseheaderUpdate aCDMIdata objectusing CDMI . . . . . . . . . . . . . . . . . . . 80
Table44: HTTPstatuscodes UpdateaCDMI dataobject using CDMI . . . . . . . . . . . . . . . . . . 80
Table45: CapabilitiesDeletea CDMIdataobject usingCDMI . . . . . . . . . . . . . . . . . . . . . . . 85
Table46: HTTPstatuscodes DeleteaCDMI dataobject using CDMI . . . . . . . . . . . . . . . . . . . 85
Table47: Containermetadata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Table48: CapabilitiesCreatea CDMIcontainerobject usingCDMI . . . . . . . . . . . . . . . . . . . . 91
Table49: RequestheadersCreate acontainerobject usingCDMI . . . . . . . . . . . . . . . . . . . . . 91
Table50: Requestmessagebody Createacontainer objectusing CDMI . . . . . . . . . . . . . . . . . 91
Table51: ResponseheadersCreate acontainerobject usingCDMI . . . . . . . . . . . . . . . . . . . . 93
Table52: Responsemessagebody Createacontainer objectusing CDMI . . . . . . . . . . . . . . . . 93
©SNIA2021 SNIATechnicalPosition vii
© ISO/IEC 2022 – All rights reserved
ix
---------------------- Page: 9 ----------------------
CloudData Management Interface2.0.0
ISO/IEC 17826:2022(E)
Table53: HTTP status codes CreateaCDMI container objectusing CDMI . . . . . . . . . . . . . . . . 94
Table54: CapabilitiesReada CDMIContainerObject usingCDMI . . . . . .
...
Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.