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
- Status
- Published
- Publication Date
- 18-May-2022
- Technical Committee
- ISO/IEC JTC 1 - Information technology
- Drafting Committee
- ISO/IEC JTC 1 - Information technology
- Current Stage
- 6060 - International Standard published
- Start Date
- 19-May-2022
- Due Date
- 15-Jul-2023
- Completion Date
- 19-May-2022
Relations
- Effective Date
- 06-Jun-2022
Overview
ISO/IEC 17826:2022 - Cloud Data Management Interface (CDMI) Version 2.0.0 - defines a standard HTTP(S)-based API for accessing and managing cloud storage. Intended for developers and implementers, this International Standard (prepared by SNIA and adopted by ISO/IEC JTC 1) specifies how clients and cloud storage systems exchange data, metadata and management commands to enable interoperable cloud storage services.
Key topics and technical requirements
- CDMI Core and Advanced Interfaces: detailed object, container, domain, queue and capability object resource operations using both HTTP and CDMI payloads.
- HTTP support and verbs: specifies required HTTP(S) behavior and supports common verbs including PUT and PATCH for resource updates. Examples use /cdmi/v2.0.0/ root URI and HTTPS for secure transport.
- Metadata and access control: structured support for storage-system, data-system and user metadata plus a comprehensive access control model and delegated access control (DAC) extension.
- Data protection and encryption: includes the Encrypted Object extension, KMS integration guidance, and standard formats (CMS/JOSE) for encrypted objects and signatures.
- Data governance: retention, hold management, auto-deletion and retention security considerations for compliance and legal requirements.
- Versioning & snapshots: version-enabled data objects, snapshot creation/deletion and examples for traversing versions.
- Exported protocols & interoperability: guidance for exporting containers via NFS, SMB, iSCSI, WebDAV and OCCI to bridge object and file/block access.
- Queues, notifications & queries: notification and query queues, query extensions and result specification for event-driven and search use cases.
- Serialization / import-export: canonical formats and procedures for exporting and importing serialized data to support portability and vendor interoperability.
- Incorporated extensions: JSON Transfer Encoding, Delegated Access Control, Encrypted Object and several Annex extensions (e.g., group metadata, expiring access control entries).
Practical applications and users
Who uses ISO/IEC 17826:2022 (CDMI)?
- Cloud storage vendors implementing interoperable object storage APIs.
- Application developers building cloud-native apps that need standardized storage access.
- Enterprise architects & integrators designing multi-cloud or hybrid storage solutions and migration paths.
- Security and compliance teams implementing retention, hold, encryption and audit-aware storage.
Practical use cases include standardized object storage access, cross-vendor data portability, encrypted object storage with KMS, file export gateways (NFS/SMB), and automated retention workflows.
Related standards
- CDMI builds on standard HTTP/HTTPS practices and references RFCs for web protocols; it was prepared by SNIA and adopted as ISO/IEC JTC 1 standard. For implementation, review the ISO/IEC document and referenced RFCs for protocol specifics.
Keywords: ISO/IEC 17826:2022, CDMI, Cloud Data Management Interface, cloud storage API, object storage, encryption, access control, retention, snapshots.
Frequently Asked Questions
ISO/IEC 17826:2022 is a standard published by the International Organization for Standardization (ISO). Its full title is "Information technology - Cloud Data Management Interface (CDMI) Version 2.0.0". This standard covers: 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.
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.
ISO/IEC 17826:2022 is classified under the following ICS (International Classification for Standards) categories: 35.210 - Cloud computing. The ICS classification helps identify the subject area and facilitates finding related standards.
ISO/IEC 17826:2022 has the following relationships with other standards: It is inter standard links to ISO/IEC 17826:2016. Understanding these relationships helps ensure you are using the most current and applicable version of the standard.
You can purchase ISO/IEC 17826:2022 directly from iTeh Standards. The document is available in PDF format and is delivered instantly after payment. Add the standard to your cart and complete the secure checkout process. iTeh Standards is an authorized distributor of ISO standards.
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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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
CloudData Management Interface2.0.0
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
CloudData Management Interface2.0.0
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
CloudData Management Interface2.0.0
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
CloudData Management Interface2.0.0
Table53: HTTP status codes CreateaCDMI container objectusing CDMI . . . . . . . . . . . . . . . . 94
Table54: CapabilitiesReada CDMIContainerObject usingCDMI . . . . . . . . . . . . . . . . . . . . 97
Table55: RequestheadersRead acontainerobject usingCDMI . . . . . . . . . . . . . . . . . . . . . 97
Table56: ResponseheadersRead acontainerobject usingCDMI . . . . . . . . . . . . . . . . . . . . 98
Table57: Responsemessagebody Readacontainer objectusing CDMI . . . . . . . . . . . . . . . . . 98
Table58: HTTPstatuscodes Readacontainer objectusing CDMI . . . . . . . . . . . . . . . . . . . . 99
Table59: CapabilitiesUpdatea CDMIcontainerobject usingCDMI . . . . . . . . . . . . . . . . . . . . 103
Table60: RequestheadersUpdate acontainerobject usingCDMI . . . . . . . . . . . . . . . . . . . . 103
Table61: Requestmessagebody Updateacontainer objectusing CDMI . . . . . . . . . . . . . . . . . 103
Table62: ResponseheaderUpdate acontainerobject usingCDMI . . . . . . . . . . . . . . . . . . . . 105
Table63: HTTPstatuscodes Updateacontainer objectusing CDMI . . . . . . . . . . . . . . . . . . . 105
Table64: CapabilitiesDeletea CDMIcontainerobject usingCDMI . . . . . . . . . . . . . . . . . . . . 107
Table65: HTTPstatuscodes Deleteacontainer objectusing CDMI . . . . . . . . . . . . . . . . . . . . 108
Table66: CapabilitiesCreatea CDMIdataobject usingCDMI . . . . . . . . . . . . . . . . . . . . . . . 110
Table67: RequestheadersCreate anewdata objectUsing CDMI . . . . . . . . . . . . . . . . . . . . 111
Table68: Requestmessagebody Createanew dataobject Using CDMI . . . . . . . . . . . . . . . . . 111
Table69: ResponseheadersCreate anewdata objectusing CDMI . . . . . . . . . . . . . . . . . . . . 115
Table70: Responsemessagebody Createanew dataobject using CDMI . . . . . . . . . . . . . . . . 115
Table71: HTTPstatuscodes Createanew dataobject using CDMI . . . . . . . . . . . . . . . . . . . 116
Table72: CapabilitiesCreatea CDMIQueueobject usingCDMI . . . . . . . . . . . . . . . . . . . . . 120
Table73: RequestheadersCreate anewqueue objectusing CDMI . . . . . . . . . . . . . . . . . . . . 120
Table74: Requestmessagebody Createanew queueobject using CDMI . . . . . . . . . . . . . . . . 121
Table75: ResponseheadersCreate anewqueue objectusing CDMI . . . . . . . . . . . . . . . . . . . 122
Table76: Responsemessagebody Createanew queueobject using CDMI . . . . . . . . . . . . . . . 122
Table77: HTTPstatuscodes Createanew queueobject using CDMI . . . . . . . . . . . . . . . . . . 123
Table78: Requiredmetadatafora domainobject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
Table79: Contentsofdomainsummary objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
Table80: Requiredsettingsfordomain memberuserobjects . . . . . . . . . . . . . . . . . . . . . . . . 134
Table81: Requiredsettingsfordomain memberdelegationobjects . . . . . . . . . . . . . . . . . . . . . 135
Table82: CapabilitiesCreatea CDMIdomainobject usingCDMI . . . . . . . . . . . . . . . . . . . . . 137
Table83: RequestheadersCreate adomainobject usingCDMI . . . . . . . . . . . . . . . . . . . . . . 137
Table84: Requestmessagebody Createadomain objectusing CDMI . . . . . . . . . . . . . . . . . . 138
Table85: ResponseheadersCreate adomainobject usingCDMI . . . . . . . . . . . . . . . . . . . . . 139
Table86: Responsemessagebody Createadomain objectusing CDMI . . . . . . . . . . . . . . . . . 139
Table87: HTTPstatuscodes Createadomain objectusing CDMI . . . . . . . . . . . . . . . . . . . . 140
Table88: CapabilitiesReada CDMIdomainobject usingCDMI . . . . . . . . . . . . . . . . . . . . . . 141
Table89: RequestheadersRead adomainobject usingCDMI . . . . . . . . . . . . . . . . . . . . . . 141
Table90: ResponseheadersRead adomainobject usingCDMI . . . . . . . . . . . . . . . . . . . . . 142
Table91: Responsemessagebody Readadomain objectusing CDMI . . . . . . . . . . . . . . . . . . 142
Table92: HTTPstatuscodes Readadomain objectusing CDMI . . . . . . . . . . . . . . . . . . . . . 143
Table93: CapabilitiesUpdatea CDMIdomainobject usingCDMI . . . . . . . . . . . . . . . . . . . . . 145
Table94: RequestheadersUpdate adomainobject usingCDMI . . . . . . . . . . . . . . . . . . . . . 145
Table95: Requestmessagebody Updateadomain objectusing CDMI . . . . . . . . . . . . . . . . . . 146
Table96: ResponseheaderUpdate adomainobject usingCDMI . . . . . . . . . . . . . . . . . . . . . 147
Table97: HTTPstatuscodes Updateadomain objectusing CDMI . . . . . . . . . . . . . . . . . . . . 147
Table98: CapabilitiesDeletea CDMIdomainobject usingCDMI . . . . . . . . . . . . . . . . . . . . . 149
Table99: HTTPstatuscodes Deleteadomain objectusing CDMI . . . . . . . . . . . . . . . . . . . . . 150
Table100: Capabilities Create aCDMI queueobject usingCDMI . . . . . . . . . . . . . . . . . . . . . . 155
Table101: Request headers Createa queueobject UsingCDMI . . . . . . . . . . . . . . . . . . . . . . 156
Table102: Request messagebody Create aqueue objectusing CDMI . . . . . . . . . . . . . . . . . . . 156
Table103: Response headers Createa queueobject UsingCDMI . . . . . . . . . . . . . . . . . . . . . 158
Table104: Response messagebody Create aqueue objectusing CDMI . . . . . . . . . . . . . . . . . . 158
Table105: HTTP statuscodes Create aqueue objectusing CDMI . . . . . . . . . . . . . . . . . . . . . 159
Table106: Capabilities Read aCDMI queueobject usingCDMI . . . . . . . . . . . . . . . . . . . . . . 161
Table107: Request headers Reada queueobject usingCDMI . . . . . . . . . . . . . . . . . . . . . . . 162
Table108: Response headers Reada queueobject usingCDMI . . . . . . . . . . . . . . . . . . . . . . 162
Table109: Response messagebody Read aqueue objectusing CDMI . . . . . . . . . . . . . . . . . . 162
Table110: HTTP statuscodes Read aqueue objectusing CDMI . . . . . . . . . . . . . . . . . . . . . . 165
Table111: Capabilities Update aqueue objectusing CDMI . . . . . . . . . . . . . . . . . . . . . . . . . 168
Table112: Request headers Updatea queueobject UsingCDMI . . . . . . . . . . . . . . . . . . . . . . 168
Table113: Request messagebody Update aqueue objectUsing CDMI . . . . . . . . . . . . . . . . . . 168
Table114: Response header Updatea queueobject UsingCDMI . . . . . . . . . . . . . . . . . . . . . 170
Table115: HTTP statuscodes Update aqueue objectusing CDMI . . . . . . . . . . . . . . . . . . . . . 170
Table116: Capabilities Delete aqueue objectusing CDMI . . . . . . . . . . . . . . . . . . . . . . . . . 172
Table117: HTTP statuscodes Delete aqueue objectUsing CDMI . . . . . . . . . . . . . . . . . . . . . 173
Table118: Capabilities Enqueue anew queueobject valueusing CDMI . . . . . . . . . . . . . . . . . . 174
Table119: Request headers Enqueuea newqueue objectvalue usingCDMI . . . . . . . . . . . . . . . 174
Table120: Request messagebody Enqueue anew queueobject valueusingCDMI . . . . . . . . . . . 175
©SNIA2021 SNIATechnicalPosition viii
© ISO/IEC 2022 – All rights reserved
x
CloudData Management Interface2.0.0
Table121: HTTP status codesEnqueue anew queueobject valueUsing CDMI . . . . . . . . . . . . . . 177
Table122: Capabilities Delete aqueue objectvalue usingCDMI . . . . . . . . . . . . . . . . . . . . . . 180
Table123: HTTP statuscodes Delete aqueue objectvalue usingCDMI . . . . . . . . . . . . . . . . . . 181
Table124: Systemwide capabilities. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
Table125: Capabilities forstorage systemmetadata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
Table126: Capabilities fordata systemmetadata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
Table127: Capabilities fordata objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
Table128: Capabilities forcontainer objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
Table129: Capabilities fordomain objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
Table130: Capabilities forqueue objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
Table131: Capabilities Read acapabilities objectusing CDMI . . . . . . . . . . . . . . . . . . . . . . . 199
Table132: Request headers Reada capabilitiesobject usingCDMI . . . . . . . . . . . . . . . . . . . . 199
Table133: Response headers Reada capabilitiesobject UsingCDMI . . . . . . . . . . . . . . . . . . . 200
Table134: Response messagebody Read acapabilities objectusing CDMI . . . . . . . . . . . . . . . . 200
Table135: HTTP statuscodes Read acapabilities objectusing CDMI . . . . . . . . . . . . . . . . . . . 201
Table136: Elements ofthe NFSprotocol exportstructure . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
Table137: Elements ofthe SMBprotocol exportstructure . . . . . . . . . . . . . . . . . . . . . . . . . . 210
Table138: Elements ofthe iSCSIprotocol exportstructure . . . . . . . . . . . . . . . . . . . . . . . . . . 211
Table139: Elements ofthe WebDAVprotocolexport structure . . . . . . . . . . . . . . . . . . . . . . . . 212
Table140: Serialization importbehaviour . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
Table141: Storage systemmetadata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
Table142: Data systemmetadata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
Table143: Provided valuesof datasystem metadata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
Table144: ACE types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
Table145: Who identifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
Table146: ACE flags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
Table147: ACE masksbits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
Table148: ACE bitmask/string . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
Table149: Query matchingexpressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
Table150: Required metadatafor anotification queue . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
Table151: Notification statusmetadata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
Table152: Required metadatafor aquery queue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
Table153: Query statusmetadata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
Table154: Access modesfor DAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
Table155: DAC request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
Table156: Packaged DACrequest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
Table157: DAC response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
Table158: Packaged DACresponse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
Table159: Versionenableddata objectmetadataitems . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
Table161: Response headers Inspecta dataobject usingHTTP . . . . . . . . . . . . . . . . . . . . . . 330
Table162: HTTP statuscodes Inspect adata objectusing HTTP . . . . . . . . . . . . . . . . . . . . . . 331
Table163: Request headers Createa containerobject usingHTTP . . . . . . . . . . . . . . . . . . . . 333
Table164: Response Headers Inspecta containerobject usingHTTP . . . . . . . . . . . . . . . . . . . 334
Table165: HTTP statuscodes Inspect acontainer objectusing HTTP . . . . . . . . . . . . . . . . . . . 334
Table167: Required metadatafor aquery queue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
©SNIA2021 SNIATechnicalPosition ix
© ISO/IEC 2022 – All rights reserved
xi
CloudData Management Interface2.0.0
Part I
CDMIPreamble
©SNIA2021 SNIATechnicalPosition 1
© ISO/IEC 2022 – All rights reserved
CloudData Management Interface2.0.0
ThisCloudDataManagementInterface(CDMI™)InternationalStandardisintendedforapplicationdeveloperswho
areimplementingorusingcloudstorage. Itdocumentshowtoaccesscloudstorageandtomanagethedatastored
there.
Thisdocumentis organized asfollows:
Table1: Overviewof thisdocument
Clause1 Scope Definesthescope ofthisdocument
Clause2 Normativereferences Liststhenormativereferences forthisdocument
Clause3 Terms Providesterminology used inthisdocument
Clause4 Conventions Describestheconventionsused inpresentingthe interfacesand
thetypographicalconventions used inthisdocument
Clause5 OverviewofCloud Providesa briefoverviewofcloudstorage anddetails the
Storage philosophybehindthis International Standardasa modelfor the
operations
Clause6 DataObjectResource Providesthenormativestandardofdataobject resourceoperations
OperationsusingHTTP usingHTTP
Clause7 ContainerObject Providesthenormativestandardofcontainerobject resource
ResourceOperations operationsusingHTTP
usingHTTP
Clause8 DataObjectResource Providesthenormativestandardofdataobject resourceoperations
OperationsusingCDMI usingCDMI
Clause9 ContainerObject Providesthenormativestandardofcontainerobject resource
ResourceOperations operationsusingCDMI
usingCDMI
Clause10 DomainObjectResource Providesthenormativestandardofdomainobject resource
OperationsusingCDMI operationsusingCDMI
Clause11 QueueObjectResource Providesthenormativestandardofqueueobject resource
OperationsusingCDMI operationsusingCDMI
Clause12 CapabilityObject Providesthenormativestandardofcapabilityobject resource
ResourceOperations operationsusingCDMI
usingCDMI
Clause13 ExportedProtocols Discusseshowvirtual machinesinthecloud computing
environmentcanuse the exportedprotocolsfrom CDMIcontainers
Clause14 Snapshots Discusseshowsnapshots areaccessedunderCDMI containers
Clause15 Serialization/ Discussesserializationand deserialization, includingimportand
Deserialization exportofserialized data underCDMI
Clause16 Metadata Providesthenormativestandardofthemetadata usedin the
interface
Clause18 Retentionand Hold Describestheoptionalretentionmanagementdisciplinesto be
Management implementedintothe system managementfunctions
Clause19 ScopeSpecification Describesthestructureofthescopespecification forJSON objects
Clause20 ResultsSpecification Providesa standardized mechanism todefinesubsets ofCDMI
objectcontents
Clause21 NotificationQueues DescribeshowCDMI clientscanefficientlydiscover whatchanges
haveoccurredto the system
Clause22 QueryQueues DescribeshowCDMI clientscanefficientlydiscover whatcontent
matchesagiven set ofmetadataquery crite
...
記事のタイトル:ISO/IEC 17826:2022 - 情報技術 - クラウドデータ管理インタフェース(CDMI)バージョン2.0.0 記事内容:この文書は、クラウドストレージへのアクセスとそこに保存されているデータの管理のためのインタフェースを定義しています。この国際標準は、クラウドストレージの実装または使用を行う開発者に適用されます。
The article discusses ISO/IEC 17826:2022, which is a standard that defines the interface for accessing and managing data stored in cloud storage. It applies to developers who are either implementing or using cloud storage.
기사 제목: ISO/IEC 17826:2022 - 정보 기술 - 클라우드 데이터 관리 인터페이스 (CDMI) 버전 2.0.0 기사 내용: 이 문서는 클라우드 스토리지에 액세스하고 그 안에 저장된 데이터를 관리하기 위한 인터페이스를 명시합니다. 이 국제 표준은 클라우드 스토리지를 구현하거나 사용하는 개발자에게 적용됩니다.










Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.
Loading comments...