8 Resource-type specific procedures and definitions
8.1 Resource Type
8.1.1 Introduction
A resource shall represent a MAF. This resource shall be the root for all the resources that are residing on the MAF.
Table 8.1.1‑1: Data Type Definition of
Data Type ID
|
File Name
|
Note
|
MAFBase
|
SEC-MAFBase-v2_1_0.xsd
|
|
The resource has no resource-specific attributes.
Table 8.1.1‑2: Child resources of resource
Child Resource Type
|
Child Resource Name
|
Multiplicity
|
Ref. to Resource Type Definition
|
|
[variable]
|
0..n
|
|
|
[variable]
|
0..n
|
|
8.1.2 resource specific procedures on CRUD operations
8.1.2.1 Create
Originator:
The resource shall not be created via API.
Receiver:
Primitive specific operation on Recv-1.0 "Check the syntax of received message":
- If the request is received, the MAF shall execute the following steps in order:
- "Create an unsuccessful Response primitive" with the Response Status Code indicating "OPERATION_NOT_ALLOWED" error.
- "Send the Response primitive".
8.1.2.2 Retrieve
Originator:
No change from the generic procedures in clause 7.2.2.1 of [3] with clarifications discussed in clauses5.1 and 6.
Receiver:
Same as the generic procedures in clause 7.2.2.2 of [3] with clarifications discussed in clauses5.1 and 6, and performing the following step in the place of step Recv-6.3: "Check authorization of the Originator":
The Receiver shall allow all Originators to retrieve this resource.
8.1.2.3 Update
Originator:
The resource shall not be updated via API.
Receiver :
Primitive specific operation on Recv-1.0 "Check the syntax of received message":
- If the request is received, the MAF shall execute the following steps in order:
- "Create an unsuccessful Response primitive" with the Response Status Code indicating "OPERATION_NOT_ALLOWED" error.
- "Send the Response primitive".
8.1.2.4 Delete
Originator:
The resource shall not be deleted via API.
Receiver :
Primitive specific operation on Recv-1.0 "Check the syntax of received message":
- If the request is received, the MAF shall execute the following steps in order:
- "Create an unsuccessful Response primitive" with the Response Status Code indicating "OPERATION_NOT_ALLOWED" error.
- "Send the Response primitive".
8.2 Resource Type
8.2.1 Introduction
A resource shall represent a MEF. This resource shall be the root for all the resources that are residing on the MEF.
Table 8.2.1‑1: Data Type Definition of
Data Type ID
|
File Name
|
Note
|
MEFBase
|
SEC-MEFBase-v2_1_0.xsd
|
|
The resource has no resource-specific attributes.
Table 8.2.1‑2 : Child resources of resource
Child Resource Type
|
Child Resource Name
|
Multiplicity
|
Ref. to Resource Type Definition
|
|
[variable]
|
0..n
|
|
|
[variable]
|
0..n
|
|
8.2.2 resource specific procedures on CRUD operations
8.2.2.1 Create
Originator:
The resource shall not be created via API.
Receiver:
Primitive specific operation on Recv-1.0 "Check the syntax of received message":
- If the request is received, the MEF shall execute the following steps in order:
- "Create an unsuccessful Response primitive" with the Response Status Code indicating "OPERATION_NOT_ALLOWED" error.
- "Send the Response primitive".
8.2.2.2 Retrieve
Originator:
No change from the generic procedures in clause 7.2.2.1 of [3] with clarifications discussed in clauses5.2 and 6.
Receiver:
Same as the generic procedures in clause 7.2.2.2 of [3] with clarifications discussed in clauses5.2 and 6, and performing the following step in the place of step Recv-6.3: "Check authorization of the Originator":
- The Receiver shall allow all Originators to retrieve this resource.
8.2.2.3 Update
Originator:
The resource shall not be updated via API.
Receiver :
Primitive specific operation on Recv-1.0 "Check the syntax of received message":
- If the request is received, the MEF shall execute the following steps in order:
- "Create an unsuccessful Response primitive" with the Response Status Code indicating "OPERATION_NOT_ALLOWED" error.
- "Send the Response primitive".
8.2.2.4 Delete
Originator:
The resource shall not be deleted via API.
Receiver :
Primitive specific operation on Recv-1.0 "Check the syntax of received message":
- If the request is received, the MEF shall execute the following steps in order:
- "Create an unsuccessful Response primitive" with the Response Status Code indicating "OPERATION_NOT_ALLOWED" error.
- "Send the Response primitive".
8.3 Resource Type
8.3.1 Introduction
A resource shall represent a MAF Client enrolled with the MAF on behalf of an M2M Service Provider or M2M Trust Enabler. A resource shall be a child resource of the MAF's resource.
Table 8.3.1‑1: Data Type Definition of
Data Type ID
|
File Name
|
Note
|
mafClientReg
|
SEC-mafClientReg-v2_1_0.xsd
|
|
Table 8.3.1‑2 : Universal/Common Attributes of resource
Attribute Name
|
Request Optionality
|
Create
|
Update
|
@resourceName
|
NP
|
NP
|
resourceType
|
NP
|
NP
|
resourceID
|
NP
|
NP
|
parentID
|
NP
|
NP
|
creationTime
|
NP
|
NP
|
labels
|
O
|
O
|
expirationTime
|
M
|
M
|
creator
|
NP
|
NP
|
Table 8.3.1‑3 : Resource Specific Attributes of resource
Attribute Name
|
Request Optionality
|
Data Type
|
Default Value and Constraints
|
Create
|
Update
|
adminFQDN
|
M
|
NP
|
xs:anyURI
|
No default
|
assignedSymmKeyID
|
NP
|
NP
|
sec:credentialID
|
No default
|
The resource shall contain no child resources.
8.3.2 resource specific procedures on CRUD operations
8.3.2.1 Create
This procedure is denoted MAF Client Registration in clause 8.8.2.3 of oneM2M TS-0003 [2]. The To parameter of the create request primitive includes the MAF-FQDN and the character "-" (dash) as a shorthand notation for the name of the resource:
//{MAF-FQDN}/-/
EXAMPLE: //maf123.mafprovider.org/-/
The MAF-FQDN represents a globally unique identifier of a MAF (aka. MAF ID).
The From parameter of the create request primitive shall be left empty if the MAF client does not have a MAF Client ID assigned yet. If the MAF client interfaces with the MAF on behalf of the node (see clause 5.1.1), the Node-ID of the respective ADN, ASN, MN or IN shall serve as MAF Client ID.
Originator:
No change from the generic procedures in clause 7.2.2.1 of [3] with clarifications discussed in clauses5.1.2 and 6.2, and with following differences.
In step Orig-6.0: "Process Response primitive", if the Originator used a symmetric key to authenticate to the MAF, and the resource in the response contained an assignedSymmKeyID attribute then the originator shall use the assignedSymmKeyID attribute to identify this symmetric key when it is subsequently used in authenticating to the MAF.
Receiver:
Same as the generic procedures in clause 7.2.2.2 of [3] with clarifications discussed in clauses5.1.2 and 6.2, and with following differences.
The Receiver shall perform the following steps in order in the place of Recv-6.3: "Check authorization of the Originator":
- The Receiver shall determine if the Originator is authorized to register with the administrating stakeholder (M2M SP or MTE) identified by adminFQDN attribute. The present document does not specify how the Receiver makes this determination:
- If the Originator is not authorized, then the Receiver shall execute the following steps in order:
- "Create an unsuccessful Response primitive" with the Response Status Code indicating "ACCESS_DENIED" error.
- "Send the Response primitive".
- If the Originator is authorized, then the Receiver shall allow the request.
The Receiver shall perform the following steps in order as part of "Create the resource" (clause 7.3.3.5 of [3] ) during Step Recv-6.5: "Create/Update/Retrieve/Delete/Notify operation is performed":
- If the Originator authenticated using symmetric key with a key identifier which does not use the Receiver's FQDN, then:
- The Receiver shall assign a symmetric key identifier with the Receiver's FQDN and with relative part which is unique within the scope of symmetric key identifiers issued by the Receiver. The Receiver shall associate this symmetric key identifier with the symmetric key used for authenticating the Originator.
- The Receiver shall set the assignedSymmKeyID attribute to be the Credential-ID formed from the assigned symmetric key identifier as specified in clause 10.4 of [2].
- If the Originator authenticated using a symmetric key with a key identifier which does not use the Receiver's FQDN, or if the Originator authenticated using a certificate, then the Receiver shall not include an assignedSymmKeyID attribute in the created resource.
- The Receiver shall assign the creator attribute to an AE-ID or CSE-ID or Node-ID on instructions from the administrating stakeholder. The present document does not specify any details of how the AE-ID or CSE-ID or Node-ID is determined.
8.3.2.2 Retrieve
This procedure is denoted MAF Client Configuration Retrieval in clause 8.8.2.4 of oneM2M TS-0003 [2]. This procedure is used to retrieve the resource.
Originator:
No change from the generic procedures in clause 7.2.2.1 of [3] with clarifications discussed in clauses5.1.2 and 6.2.
Receiver:
Same as the generic procedures in clause 7.2.2.2 of [3] with clarifications discussed in clauses5.1.2 and 6.2, performing the following steps in order in the place of Recv-6.3: "Check authorization of the Originator":
- The Receiver shall determine if the Originator is authorized by checking if the Originator is the creator of the resource:
- If the Originator is not authorized, then the Receiver shall execute the following steps in order:
- "Create an unsuccessful Response primitive" with the Response Status Code indicating "ACCESS_DENIED" error.
- "Send the Response primitive".
- If the Originator is authorized, then the Receiver shall allow the request.
8.3.2.3 Update
This procedure is denoted MAF Client Configuration Update in clause 8.8.2.5 of oneM2M TS-0003 [2]. This procedure is used to update attributes of the resource, such as e.g. labels, expiration time.
Originator:
The resource shall not be updated by a MAF client via API.
Receiver:
Same as the generic procedures in clause 7.2.2.2 of [3] with clarifications discussed in clauses5.1.2 and 6.2, and with the following differences:
The Receiver shall perform the following step in the place of Recv-6.3: "Check authorization of the Originator":
- The Receiver shall determine if the Originator is authorized by checking if the Originator is the creator of the resource:
- If the Originator is not authorized, then the Receiver shall execute the following steps in order:
- "Create an unsuccessful Response primitive" with the Response Status Code indicating "ACCESS_DENIED" error.
- "Send the Response primitive".
- If the Originator is authorized, then the Receiver shall allow the request.
The Receiver shall perform the following step as part of "Update the resource" (clause 7.3.3.7 of [3] )" during Step Recv-6.5: "Create/Update/Retrieve/Delete/Notify operation is performed":
- If the Originator was the Creator of the resource, then the Receiver shall perform steps 2 and 3 in clause 8.3.2.1.
8.3.2.4 Delete
This procedure is denoted MAF Client De-Registration in clause 8.8.2.6 of oneM2M TS-0003 [2]. This procedure enables the MAF client to delete its own resource on a MAF.
Originator:
No change from the generic procedures in clause 7.2.2.1 of [3] with clarifications discussed in clauses5.1.2 and 6.2.
Receiver:
Same as the generic procedures in clause 7.2.2.2 of [3] with clarifications discussed in clauses5.1.2 and 6.2, performing the following step in the place of Recv-6.3: "Check authorization of the Originator":
- The Receiver shall determine if the Originator is authorized by checking if the Originator is the creator of the resource:
- If the Originator is not authorized, then the Receiver shall execute the following steps in order:
- "Create an unsuccessful Response primitive" with the Response Status Code indicating "ACCESS_DENIED" error.
- "Send the Response primitive".
- If the Originator is authorized, then the Receiver shall allow the request.
8.4 Resource Type
8.4.1 Introduction
A resource shall represent a MEF Client enrolled with the MEF on behalf of an M2M Service Provider or M2M Trust Enabler. A resource shall be a child resource of the MEF's resource.
Table 8.4.1‑1: Data Type Definition of
Data Type ID
|
File Name
|
Note
|
mefClientReg
|
SEC-mefClientReg-v2_1_0.xsd
|
|
Table 8.4.1‑2: Universal/Common Attributes of resource
Attribute Name
|
Request Optionality
|
Create
|
Update
|
@resourceName
|
NP
|
NP
|
resourceType
|
NP
|
NP
|
resourceID
|
NP
|
NP
|
parentID
|
NP
|
NP
|
creationTime
|
NP
|
NP
|
labels
|
O
|
O
|
expirationTime
|
M
|
M
|
creator
|
NP
|
NP
|
Table 8.4.1‑3: Resource Specific Attributes of resource
Attribute Name
|
Request Optionality
|
Data Type
|
Default Value and Constraints
|
Create
|
Update
|
adminFQDN
|
M
|
NP
|
xs:anyURI
|
No default
|
assignedSymmKeyID
|
NP
|
NP
|
sec:credentialID
|
No default
|
sourceIDs
|
O
|
NP
|
list of m2m:ID
|
No default
|
Table 8.4.1‑4: Child resources of resource
Child Resource Type
|
Child Resource Name
|
Multiplicity
|
Ref. to Resource Type Definition
|
|
"cmd"
|
1
|
|
8.4.2 resource specific procedures on CRUD operations
8.4.2.1 Create
This procedure is denoted MEF Client Registration in clause 8.3.5.2.3 of oneM2M TS-0003 [2]. The To parameter of the create request primitive includes the MEF-FQDN and the character "-" (dash) as a shorthand notation for the name of the resource:
//{MEF-FQDN}/-/
EXAMPLE: //mef123.mefprovider.org/-/
The MEF-FQDN represents a globally unique identifier of a MEF (aka. MEF ID).
The From parameter of the create request primitive shall be left empty if the MEF client does not have a MEF Client ID assigned yet. If the MEF client interfaces with the MEF on behalf of the node (see clause 5.2.1), the Node-ID of the respective ADN, ASN, MN or IN shall serve as MEF Client ID.
Originator:
No change from the generic procedures in clause 7.2.2.1 of [3] with clarifications discussed in clauses5.2.2 and 6.3, and with following differences:
In step Orig-6.0: "Process Response primitive", if the Originator used a symmetric key to authenticate to the MEF, and the resource in the response contained an assignedSymmKeyID then the originator shall use the assignedSymmKeyID to identify this symmetric key when it is subsequently used in authenticating to the MEF.
Receiver:
Same as the generic procedures in clause 7.2.2.2 of [3] with clarifications discussed in clauses5.2.2 and 6.3, and with following differences:
The Receiver shall perform the following steps in order in the place of Recv-6.3: "Check authorization of the Originator":
- The Receiver shall determine if the Originator is authorized to register with the administrating stakeholder (M2M SP or MTE) identified by fqdn attribute. The present document does not specify how the Receiver makes this determination:
- If the Originator is not authorized, then the Receiver shall execute the following steps in order:
- "Create an unsuccessful Response primitive" with the Response Status Code indicating "ACCESS_DENIED" error.
- "Send the Response primitive".
- If the Originator is authorized, then the Receiver shall allow the request.
The Receiver shall perform the following steps in order as part of "Create the resource" (clause 7.3.3.5 of [3] ) during Step Recv-6.5: "Create/Update/Retrieve/Delete/Notify operation is performed":
- If the Originator authenticated using symmetric key with a key identifier which does not use the Receiver's FQDN, then:
- The Receiver shall assign a symmetric key identifier with the Receiver's FQDN and with relative part which is unique within the scope of symmetric key identifiers issued by the Receiver. The Receiver shall associate this symmetric key identifier with the symmetric key used for authenticating the Originator.
- The Receiver shall set the assignedSymmKeyID attribute to be the Credential-ID formed from the assigned symmetric key identifier as specified in clause 10.4 of [2].
- If the Originator authenticated using a symmetric key with a key identifier which does not use the Receiver's FQDN, or if the Originator authenticated using a certificate, then the Receiver shall not include an assignedSymmKeyID attribute in the created resource.
- The Receiver shall assign the creator attribute to an AE-ID or CSE-ID or Node-ID on instructions from the administrating stakeholder. The present document does not specify any details of how the AE-ID or CSE-ID or Node-ID is determined.
- The Receiver shall instantiate the <mefClientCmd> child resource.
8.4.2.2 Retrieve
This procedure is denoted MEF Client Configuration Retrieval in clause 8.3.5.2.4 of oneM2M TS-0003 [2]. This procedure is used to retrieve the resource.
Originator:
No change from the generic procedures in clause 7.2.2.1 of [3] with clarifications discussed in clauses5.2.2 and 6.3.
Receiver:
Same as the generic procedures in clause 7.2.2.2 of [3] with clarifications discussed in clauses5.2.2 and 6.3, performing the following steps in order in the place of Recv-6.3: "Check authorization of the Originator":
- The Receiver shall determine if the Originator is authorized by checking if the Originator is the creator of the resource:
- If the Originator is not authorized, then the Receiver shall execute the following steps in order:
- "Create an unsuccessful Response primitive" with the Response Status Code indicating "ACCESS_DENIED" error.
- "Send the Response primitive".
- If the Originator is authorized, then the Receiver shall allow the request.
8.4.2.3 Update
This procedure is denoted MEF Client Configuration Update in clause 8.3.5.2.5 of oneM2M TS-0003 [2]. This procedure is used to update attributes of the resource, such as e.g. labels, expiration time.
Originator:
The resource shall not be updated by a MEF client via API.
Receiver:
Same as the generic procedures in clause 7.2.2.2 of [3] with clarifications discussed in clauses5.2.2 and 6.3, and with the following differences:
The Receiver shall perform the following step in the place of Recv-6.3: "Check authorization of the Originator":
- The Receiver shall determine if the Originator is authorized by checking if the Originator is the creator of the resource:
- If the Originator is not authorized, then the Receiver shall execute the following steps in order:
- "Create an unsuccessful Response primitive" with the Response Status Code indicating "ACCESS_DENIED" error.
- "Send the Response primitive".
- If the Originator is authorized, then the Receiver shall allow the request.
The Receiver shall perform the following step as part of "Update the resource" (clause 7.3.3.7 of [3] )" during Step Recv-6.5: "Create/Update/Retrieve/Delete/Notify operation is performed":
- If the Originator was the Creator of the resource, then the Receiver shall perform steps 2 and 3 in clause 8.4.2.1.
8.4.2.4 Delete
This procedure is denoted MEF Client De-Registration in clause 8.3.5.2.6 of oneM2M TS-0003 [2]. This procedure enables the MEF client to delete its own resource on a MEF.
Originator:
No change from the generic procedures in clause 7.2.2.1 of [3] with clarifications discussed in clauses5.2.2 and 6.3.
Receiver:
Same as the generic procedures in clause 7.2.2.2 of [3] with clarifications discussed in clauses5.2.2 and 6.3, performing the following step in the place of Recv-6.3: "Check authorization of the Originator":
- The Receiver shall determine if the Originator is authorized by checking if the Originator is the creator of the resource:
- If the Originator is not authorized, then the Receiver shall execute the following steps in order:
- "Create an unsuccessful Response primitive" with the Response Status Code indicating "ACCESS_DENIED" error.
- "Send the Response primitive".
- If the Originator is authorized, then the Receiver shall allow the request.
8.5 Resource Type <symmKeyReg>
8.5.1 Introduction
A resource shall represent a symmetric key registered with a MAF or MEF and administrated by the identified administrating stakeholder. A resource shall be a child resource of a or a resource.
Table 8.5.1‑1: Data Type Definition of
Data Type ID
|
File Name
|
Note
|
symmKeyReg
|
SEC-symmKeyReg-v2_1_0.xsd
|
|
Table 8.5.1‑2: Universal/Common Attributes of resource
Attribute Name
|
Request Optionality
|
Create
|
Update
|
@resourceName
|
NP
|
NP
|
resourceType
|
NP
|
NP
|
resourceID
|
NP
|
NP
|
parentID
|
NP
|
NP
|
creationTime
|
NP
|
NP
|
labels
|
O
|
O
|
creator
|
NP
|
NP
|
expirationTime
|
M
|
M
|
Table 8.5.1‑3: Resource Specific Attributes of resource
Attribute Name
|
Request Optionality
|
Data Type
|
Default Value and Constraints
|
Create
|
Update
|
adminFQDN
|
M
|
NP
|
xs:anyURI
|
No default
|
SUID
|
M
|
NP
|
m2m:suid
|
No default
|
targetIDs
|
O
|
O
|
m2m:listOfM2MID
|
No default
|
keyValue
|
O
|
NP
|
xs:hexBinary
|
No default
|
The resource shall contain no child resources.
8.5.2 resource specific procedures on CRUD operations
8.5.2.1 Create
This procedure is denoted MAF Key Registration in clause 8.8.2.7 of oneM2M TS-0003 [2] and MEF Key Registration in clause 8.3.5.2.7 of oneM2M TS-0003. This procedure enables a Source MAF Client or a Source MEF Client to establish a symmetric key with the MAF or MEF, respectively, which can be retrieved for use by one or more Target MAF Clients or Target MEF Clients.
Originator:
No change from the generic procedures in clause 7.2.2.1 of [3] with clarifications discussed in clauses5.1.2 and 6.2 for Mmaf and in clauses5.2.2 and 6.3 for Mmef, respectively, and with following differences:
In step Orig-1.0: "Compose of a Request primitive", the:
- Originator shall select to either use a key derived from the TLS handshake or use another key provided by the Originator:
- If the Originator selects to use a key derived from the TLS handshake, then the Originator shall not include the keyValue attribute in the resource of the request.
- If the Originator selects to provide a key other than a key derived from the TLS handshake, the Originator shall include the value of this key in the keyValue attribute in the resource of the request.
In step Orig-6.0: "Process Response primitive", the following steps shall be performed:
- If the Originator selected to use a key derived from the TLS handshake (see difference to step Orig-1.0 above), then the Originator shall perform the following steps in order to generate the value for the keyValue attribute:
- The Originator shall apply the TLS export mechanism described in clause 10.3.1 of [2] to generate a TLS-export-key. For MAF Key Registration the "TLS Key Export Details for M2M Secure Connection Key", for MEF Key Registration the "TLS Key Export Details for Enrolment Key" apply, respectively.
- The Originator shall apply the usage-constrained key derivation algorithm in clause 10.3.7 of [2] to derive the keyValue from TLS-export-key, adminFQDN, SUID and the resourceName assigned by the Receiver to the created resource.
- The originator shall record the resourceName attribute of the created resource as the relative part of the key identifier for the symmetric key which is to be assigned to the value for the keyValue attribute.
Receiver:
Same as the generic procedures in clause 7.2.2.2 of [3] with clarifications discussed in clauses5.2 and 6, and with following differences:
The Receiver shall perform the following steps in order in the place of Recv-6.3: "Check authorization of the Originator":
- The Receiver shall ensure that the following criteria are satisfied, with administrating stakeholder being the stakeholder matching the adminFQDN attribute of the resource in the Create request:
- The Originator is enrolled with the administrating stakeholder; that is, there is a non-expired resource whose creator attribute matches the Originator's AE-ID or CSE-ID or Node-ID, and whose adminFQDN attribute identifies the administrating stakeholder.
- The Receiver determines that the administrating stakeholder allows the creation of the resource. The present document does not specify how the Receiver makes this determination.
- If these criteria are not met, then the Receiver shall execute the following steps in order:
- "Create an unsuccessful Response primitive" with the Response Status Code indicating "ACCESS_DENIED" error.
- "Send the Response primitive".
- Otherwise, then the Receiver shall allow the request.
The Receiver shall perform the following steps in order as part of "Create the resource" (clause 7.3.3.5 of [3] )" during Step Recv-6.5: "Create/Update/Retrieve/Delete/Notify operation is performed":
- If the keyValue attribute is not present in the resource in the request, then the Receiver shall perform the following step to generate the value for the keyValue attribute:
- The Receiver shall apply the TLS export mechanism described in clause 10.3.1 of [2] to generate a TLS-export-key.
- The Receiver shall apply the usage-constrained key derivation algorithm in clause 10.3.7 of [2] to derive the value for the keyValue attribute from TLS-export-key, adminFQDN, SUID and the resourceName assigned by the Receiver to the created resource.
8.5.2.2 Retrieve
This procedure is denoted MAF Key Retrieval in clause 8.8.2.8 of oneM2M TS-0003 [2] and MEFKey Retrieval in clause 8.3.5.2.8 of oneM2M TS-0003. It enables a Target MAF Client to retrieve the Key Value from a MAF corresponding to a RelativeKeyID available to the Target MAF Client.
Originator:
No change from the generic procedures in clause 7.2.2.1 of [3] with clarifications discussed in clauses5.1.2 and 6.2 for Mmaf and in clauses5.2.2 and 6.3 for Mmef, respectively.
Receiver:
Same as the generic procedures in clause 7.2.2.2 of [3] with clarifications discussed in clauses5.2 and 6, and with following differences:
The Receiver shall perform the following step in the place of Recv-6.3: "Check authorization of the Originator":
- The Receiver shall determine if the Originator is authorized by checking if the Originator is the creator of the resource or the Originator is identified in the targetIDs :
- If the Originator is not authorized, then the Receiver shall execute the following steps in order:
- "Create an unsuccessful Response primitive" with the Response Status Code indicating "ACCESS_DENIED" error.
- "Send the Response primitive".
- If the Originator is authorized, then the Receiver shall allow the request.
8.5.2.3 Update
This procedure is denoted MAF Key Registration Update in clause 8.8.2.9 of oneM2M TS-0003 [2] and MEF Key Registration Update in clause 8.3.5.2.9 of oneM2M TS-0003. It enables a Source MAF Client or Source MEF Client to update the metadata associated with a registered key.
Originator:
No change from the generic procedures in clause 7.2.2.1 of [3] with clarifications discussed in clauses5.1.2 and 6.2 for Mmaf and in clauses5.2.2 and 6.3 for Mmef, respectively.
Receiver:
Same as the generic procedures in clause 7.2.2.2 of [3] with clarifications discussed in clauses5.2 and 6, and performing the following step in the place of Recv-6.3: "Check authorization of the Originator":
- The Receiver shall determine if the Originator is authorized by checking if the Originator is the creator of the resource:
- If the Originator is not authorized, then the Receiver shall execute the following steps in order:
- "Create an unsuccessful Response primitive" with the Response Status Code indicating "ACCESS_DENIED" error.
- "Send the Response primitive".
- If the Originator is authorized, then the Receiver shall allow the request.
8.5.2.4 Delete
This procedure is denoted MAF Key De-Registration in clause 8.8.2.10 of oneM2M TS-0003 [2] and MEF Key De-Registration in clause 8.3.5.2.10 of oneM2M TS-0003. It enables a Source MAF Client to request the MAF to stop distributing the registered key.
Originator:
No change from the generic procedures in clause 7.2.2.1 of [3] with clarifications discussed in clause 5.1.2 and 6.2 for Mmaf and in clauses5.2.2 and 6.3 for Mmef, respectively.
Receiver:
Same as the generic procedures in clause 7.2.2.2 of [3] with clarifications discussed in clauses5.2 and 6, and performing the following step in the place of Recv-6.3: "Check authorization of the Originator":
- The Receiver shall determine if the Originator is authorized by checking if the Originator is the creator of the resource:
- If the Originator is not authorized, then the Receiver shall execute the following steps in order:
- "Create an unsuccessful Response primitive" with the Response Status Code indicating "ACCESS_DENIED" error.
- "Send the Response primitive".
- If the Originator is authorized, then the Receiver shall allow the request.
8.6 Resource Type
8.6.1 Introduction
A resource shall represent a command to be indicated to a MEF client by a MEF, and a status report on the attempted parsing and execution of that command to be indicated to the MEF by a MEF Client. The retrieve procedure and update procedure are used for this purpose.
Table 8.6.1‑1: Data Type Definition of
Data Type ID
|
File Name
|
Note
|
mefClientCmd
|
SEC-mefClientCmd-v2_1_0.xsd
|
|
Table 8.6.1‑2: Universal/Common Attributes of resource
Attribute Name
|
Request Optionality
|
Update
|
@resourceName
|
NP
|
resourceType
|
NP
|
resourceID
|
NP
|
parentID
|
NP
|
creationTime
|
NP
|
labels
|
O
|
expirationTime
|
NP
|
Table 8.6.1‑3: Resource Specific Attributes of resource
Attribute Name
|
Request Optionality
|
Data Type
|
Default Value and Constraints
|
Update
|
cmdID
|
M
|
m2m:requestID
|
No default
|
cmdDescription
|
NP
|
sec:cmdDescription
|
No default
|
cmdStatusCode
|
M
|
sec:cmdStatusCode
|
No default
|
The resource shall contain no child resources.
8.6.2 resource specific procedures on CRUD operations
8.6.2.1 Create
Originator:
The resource shall not be created via API. It is instantiated by a MEF when the parent resource is created as described in clause 8.4.2.1.
Receiver:
The primitive specific operation on Recv-1.0 "Check the syntax of received message" defined in TS-0004 [3] applies:
- If the request is received, the Receiver CSE shall execute the following steps in order.
- "Create an unsuccessful Response primitive" with the Response Status Code indicating "OPERATION_NOT_ALLOWED" error.
- "Send the Response primitive".
8.6.2.2 Retrieve
This procedure is denoted MEF Client Command Retrieval in clause 8.3.9.2 of TS-0003 [2]. This procedure is used to retrieve the <mefClientCmd> resource.
Originator:
No change from the generic procedures in clause 7.2.2.1 of [3] with clarifications discussed in clauses5.2.2 and 6.3, and with following difference:
In step Orig-6.0: "Process Response primitive", the Originator shall extract the cmdID, cmdDescription and cmdStatusCode from the response and pass these to the MEF Client Command processing as specified in clause 8.3.9.2 in oneM2M TS-0003 [2].
Receiver:
Same as the generic procedures in clause 7.2.2.2 of [3] with clarifications discussed in clauses5.2.2 and 6.3, and with following differences:
The Receiver shall perform the following in the place of Recv-6.3: "Check authorization of the Originator":
- The Receiver shall determine if the Originator is authorized by checking if the Originator is the creator of the parent resource.
- If the Originator is not authorized, then the Receiver shall execute the following steps in order.
- "Create an unsuccessful Response primitive" with the Response Status Code indicating "ACCESS_DENIED" error.
- "Send the Response primitive".
- If the Originator is authorized, then the Receiver shall allow the request.
The Receiver shall perform the following step as part of "Create the resource" (clause 7.3.3.5 of [2]) during Step Recv-6.5: "Create/Update/Retrieve/Delete/Notify operation is performed":
- If the Receiver has a pending MEF Client Command to be issued to the Originator, then the Receiver shall set the cmdID, cmdDescription and cmdStatusCode attributes as specified in clause 8.3.9.2 of oneM2M TS-0003 [2]. The values of these attributes should remain set to these values until the MEF Client performs an Update on the Resource (see clause 8.6.2.3). If the MEF Client takes too long to perform an Update (for example, if the Response is not received by the Originator) then the MEF may choose to replace the attributes with a new MEF Client Command.
NOTE: The cmdDescription includes the cmdClass attribute which can be set to "NO_MORE_COMMANDS" by the MEF to indicate that there are no further commands to be issued.
8.6.2.3 Update
This procedure is denoted MEF Client Command Update in clause 8.3.9.3 of TS-0003 [2]. This procedure is used by the MEF Client to report on the status of an issued MEF Client Command, and for an MEF to issue another MEF Client Command.
Originator:
No change from the generic procedures in clause 7.2.2.1 of [3] with clarifications discussed in clauses5.2.2 and 6.3, and with following differences:
In step Orig-1.0: "Compose of a Request primitive", the Originator shall include the cmdID and cmdStatusCode attributes in the Content of the request, with attribute values assigned as described in clause 8.3.9.3 of oneM2M TS-0003 [2].
In step Orig-6.0: "Process Response primitive", the Originator shall extract the cmdID, cmdDescription and cmdStatusCode attributes from the response and pass these to the MEF Client Command processing specified in clause 8.3.9.3 in oneM2M TS-0003 [2].
Receiver:
Same as the generic procedures in clause 7.2.2.2 of [3] with clarifications discussed in clauses5.2.2 and 6.3, and with the following differences:
The Receiver shall perform the following step in the place of Recv-6.3: "Check authorization of the Originator":
- The Receiver shall determine if the Originator is authorized by checking if the Originator is the creator of the parent resource.
- If the Originator is not authorized, then the Receiver shall execute the following steps in order.
- "Create an unsuccessful Response primitive" with the Response Status Code indicating "ACCESS_DENIED" error.
- "Send the Response primitive".
- If the Originator is authorized, then the Receiver shall allow the request.
The Receiver shall perform the following steps in order as part of "Update the resource" (clause 7.3.3.7) during Step Recv-6.5: "Create/Update/Retrieve/Delete/Notify operation is performed":
- The Receiver shall extract the cmdID and cmdStatusCode attributes and pass these to the MEF Client Command processing in the MEF described in clause 8.3.9.3 of oneM2M TS-0003 [2].
- If the Receiver has a pending MEF Client Command to be issued to the Originator, then the Receiver shall set the cmdID, cmdDescription and cmdStatusCode attributes as specified in clause 8.3.9.3 of oneM2M TS-0003 [2]. The values of these attributes should remain set to these values until the MEF Client performs a subsequent Update on the Resource. If the MEF Client takes too long to perform an Update (for example, if the Response is not received by the Originator) then the MEF may choose to replace the attributes with a new MEF Client Command.
NOTE 2: The cmdDescription includes the cmdClass attribute which can be set to "NO_MORE_COMMANDS" to indicate that there are no further commands to be issued.
8.6.2.4 Delete
Originator:
The resource shall not be deleted via API. It is deleted by a MEF when the parent resource is deleted.
Receiver:
The primitive specific operation on Recv-1.0 "Check the syntax of received message" defined in TS-0004 [3] applies:
- If the request is received, the Receiver CSE shall execute the following steps in order.
- "Create an unsuccessful Response primitive" with the Response Status Code indicating "OPERATION_NOT_ALLOWED" error.
- "Send the Response primitive".