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
Current Stage
4060 - Close of voting
Start Date
18-Dec-2021
Completion Date
17-Dec-2021
Ref Project

RELATIONS

Buy Standard

Standard
ISO/IEC 17826:2022 - Information technology — Cloud Data Management Interface (CDMI) Version 2.0.0 Released:5/19/2022
English language
342 pages
sale 15% off
Preview
sale 15% off
Preview

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
© 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
---------------------- 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 auto­deletion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258

©SNIA2021 SNIATechnicalPosition iv
© ISO/IEC 2022 – All rights reserved
---------------------- 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 Traversingversion­enabled data objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313

25.3 Concurrent updates andversion­enableddata objects . . . . . . . . . . . . . . . . . . . . . . . . . . 314

25.4 Capabilities for version­enableddataobjects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316

25.5 Updates triggering versioncreation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317

25.6 Operations on version­enableddataobjects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318

25.7 Operations on dataobjectversions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319

25.8 Query of dataobjectversions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320

25.9 Version­enableddataobjectserialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 Header­based 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 andID­only . . . . . . . . . . . . . . . . . . . . . . . . . . 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: Non­delegated(ACL­based)access controldata flow . . . . . . . . . . . . . . . . . . . . . . 286

Fig. 18: Delegatedaccesscontrol dataflow example fornon­encryptedobject . . . . . . . . . . . . . 290

Fig. 19: Delegatedaccesscontrol dataflow example forencryptedobject . . . . . . . . . . . . . . . . 291

Fig. 20: Updatestoa non­version­enableddata object . . . . . . . . . . . . . . . . . . . . . . . . . . 311

Fig. 21: Updatestoa version­enableddata object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312

Fig. 22: Linkagesbetweena version­enableddata 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: Capabilities­Reada CDMIdataobject usingHTTP . . . . . . . . . . . . . . . . . . . . . . . 36

Table12: Requestheader­Read aCDMIdata objectusing HTTP . . . . . . . . . . . . . . . . . . . . . 36

Table13: Responseheaders­Read aCDMIData Objectusing HTTP . . . . . . . . . . . . . . . . . . . 37

Table14: HTTPstatuscodes­ ReadaCDMI dataobject using HTTP . . . . . . . . . . . . . . . . . . . 37

Table15: Capabilities­Updatea CDMIdataobject usingHTTP . . . . . . . . . . . . . . . . . . . . . . 39

Table16: Requestheaders­Update aCDMIdata objectusing HTTP . . . . . . . . . . . . . . . . . . . 39

Table17: Responseheader­Update aCDMIdata objectusing HTTP . . . . . . . . . . . . . . . . . . . 40

Table18: HTTPstatuscodes­ UpdateaCDMI dataobject using HTTP . . . . . . . . . . . . . . . . . . 40

Table19: Capabilities­Deletea CDMIdataobject usingHTTP . . . . . . . . . . . . . . . . . . . . . . . 41

Table20: HTTPstatuscodes­ DeleteaCDMI dataobject using HTTP . . . . . . . . . . . . . . . . . . . 41

Table21: Capabilities­Createa CDMIcontainerobject usingHTTP . . . . . . . . . . . . . . . . . . . . 44

Table22: HTTPstatuscodes­ Createacontainer objectusing HTTP . . . . . . . . . . . . . . . . . . . 44

Table23: Capabilities­Deletea CDMIcontainerobject usingHTTP . . . . . . . . . . . . . . . . . . . . 48

Table24: HTTPstatuscodes­ DeleteaCDMI containerobject using HTTP . . . . . . . . . . . . . . . . 49

Table25: Capabilities­Createa CDMIdataobject usingHTTP POST . . . . . . . . . . . . . . . . . . . 50

Table26: Requestheader­Create anewdata objectusing HTTP . . . . . . . . . . . . . . . . . . . . . 50

Table27: Responseheader­Create anewdata objectusing HTTP . . . . . . . . . . . . . . . . . . . . 51

Table28: HTTPstatuscodes­ Createanew dataobject using HTTP . . . . . . . . . . . . . . . . . . . 51

Table29: Capabilities­Createa CDMIdataobject usingCDMI . . . . . . . . . . . . . . . . . . . . . . . 57

Table30: Requestheaders­Create aCDMIdata objectusing CDMI . . . . . . . . . . . . . . . . . . . . 57

Table31: Requestmessagebody­ Createadata objectusing CDMI . . . . . . . . . . . . . . . . . . . . 58

Table32: Responseheaders­Create adataobject usingCDMI . . . . . . . . . . . . . . . . . . . . . . 61

Table33: Responsemessagebody­ Createadata objectusing CDMI . . . . . . . . . . . . . . . . . . . 61

Table34: HTTPstatuscodes­ Createadata objectusing CDMI . . . . . . . . . . . . . . . . . . . . . . 62

Table35: Capabilities­Reada CDMIdataobject usingCDMI . . . . . . . . . . . . . . . . . . . . . . . . 67

Table36: Requestheaders­Read aCDMIdata objectusing CDMI . . . . . . . . . . . . . . . . . . . . 67

Table37: Responseheaders­Read aCDMIdata objectusing CDMI . . . . . . . . . . . . . . . . . . . 68

Table38: Responsemessagebody­ ReadaCDMI dataobject using CDMI . . . . . . . . . . . . . . . . 68

Table39: HTTPstatuscodes­ ReadaCDMI dataobject using CDMI . . . . . . . . . . . . . . . . . . . 70

Table40: Capabilities­Updatea CDMIdataobject usingCDMI . . . . . . . . . . . . . . . . . . . . . . 76

Table41: Requestheaders­Update aCDMIdata objectusing CDMI . . . . . . . . . . . . . . . . . . . 77

Table42: Requestmessagebody­ UpdateaCDMI dataobject using CDMI . . . . . . . . . . . . . . . . 77

Table43: Responseheader­Update aCDMIdata objectusing CDMI . . . . . . . . . . . . . . . . . . . 80

Table44: HTTPstatuscodes­ UpdateaCDMI dataobject using CDMI . . . . . . . . . . . . . . . . . . 80

Table45: Capabilities­Deletea CDMIdataobject usingCDMI . . . . . . . . . . . . . . . . . . . . . . . 85

Table46: HTTPstatuscodes­ DeleteaCDMI dataobject using CDMI . . . . . . . . . . . . . . . . . . . 85

Table47: Containermetadata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

Table48: Capabilities­Createa CDMIcontainerobject usingCDMI . . . . . . . . . . . . . . . . . . . . 91

Table49: Requestheaders­Create acontainerobject usingCDMI . . . . . . . . . . . . . . . . . . . . . 91

Table50: Requestmessagebody­ Createacontainer objectusing CDMI . . . . . . . . . . . . . . . . . 91

Table51: Responseheaders­Create acontainerobject usingCDMI . . . . . . . . . . . . . . . . . . . . 93

Table52: Responsemessagebody­ Createacontainer objectusing CDMI . . . . . . . . . . . . . . . . 93

©SNIA2021 SNIATechnicalPosition vii
© ISO/IEC 2022 – All rights reserved
---------------------- Page: 9 ----------------------
CloudData Management Interface2.0.0
ISO/IEC 17826:2022(E)

Table53: HTTP status codes­ CreateaCDMI container objectusing CDMI . . . . . . . . . . . . . . . . 94

Table54: Capabilities­Reada 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.