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 2022
© 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
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
— 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
CloudData Management Interface2.0.0
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
CloudData Management Interface2.0.0
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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
...
Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.