8.6 CAPIF_Access_Control_Policy_API

29.2223GPPCommon API Framework for 3GPP Northbound APIsRelease 18TS

8.6.1 API URI

The CAPIF_Access_Control_Policy_API service shall use the CAPIF_Access_Control_Policy_API.

The request URIs used in HTTP requests from the API exposing function towards the CAPIF core function shall have the Resource URI structure as defined in clause 7.5 with the following clarifications:

– The <apiName> shall be "access-control-policy".

– The <apiVersion> shall be "v1".

– The <apiSpecificSuffixes> shall be set as described in clause 8.6.2.

8.6.2 Resources

8.6.2.1 Overview

This clause describes the structure for the Resource URIs and the resources and methods used for the service.

Figure 8.6.2.1-1 depicts the resource URIs structure for the CAPIF_Access_Control_Policy_API.

This resource is created by the CAPIF administrator on the CAPIF core function.

NOTE: The details of the mechanisms used to create the Access Control Policy List resource on the CAPIF core function is out of the scope of the present document.

Figure 8.6.2.1-1: Resource URI structure of the CAPIF_Access_Control_Policy_API

Table 8.6.2.1-1 provides an overview of the resources and applicable HTTP methods.

Table 8.6.2.1-1: Resources and methods overview

Resource name

Resource URI

HTTP method or custom operation

Description

Access Control Policy List

/accessControlPolicyList/{serviceApiId}

(NOTE)

GET

Retrieves the access control policy list for a published service API.

NOTE: The path segment "accessControlPolicyList" does not follow the related naming convention defined in clause 7.5.1. The path segment is however kept as currently defined in this specification for backward compatibility considerations.

8.6.2.2 Resource: Access Control Policy List

8.6.2.2.1 Description

The Access Control Policy List resource represents the access control information for all the service APIs per API invoker.

8.6.2.2.2 Resource Definition

Resource URI: {apiRoot}/access-control-policy/<apiVersion>/accessControlPolicyList/{serviceApiId}

This resource shall support the resource URI variables defined in table 8.6.2.2.2-1.

Table 8.6.2.2.2-1: Resource URI variables for this resource

Name

Data Type

Definition

apiRoot

string

See clause 7.5

serviceApiId

string

Identifies an individual published service API

8.6.2.2.3 Resource Standard Methods
8.6.2.2.3.1 GET

This method shall support the URI query parameters specified in table 8.6.2.2.3.1-1.

Table 8.6.2.2.3.1-1: URI query parameters supported by the GET method on this resource

Name

Data type

P

Cardinality

Description

aef-id

string

M

1

AEF identifier

api-invoker-id

string

O

1

String identifying the API invoker

supported-features

SupportedFeatures

O

0..1

To filter irrelevant responses related to unsupported features.

This method shall support the request data structures specified in table 8.6.2.2.3.1-2 and the response data structures and response codes specified in table 8.6.2.2.3.1-3.

Table 8.6.2.2.3.1-2: Data structures supported by the GET Request Body on this resource

Data type

P

Cardinality

Description

n/a

Table 8.6.2.2.3.1-3: Data structures supported by the GET Response Body on this resource

Data type

P

Cardinality

Response

codes

Description

AccessControlPolicyList

M

1

200 OK

List of the access control policy applicable for the service API requested.

n/a

307 Temporary Redirect

Temporary redirection, during resource retrieval. The response shall include a Location header field containing an alternative URI of the resource located in an alternative CAPIF core function.

Redirection handling is described in clause 5.2.10 of 3GPP TS 29.122 [14].

n/a

308 Permanent Redirect

Permanent redirection, during resource retrieval. The response shall include a Location header field containing an alternative URI of the resource located in an alternative CAPIF core function.

Redirection handling is described in clause 5.2.10 of 3GPP TS 29.122 [14].

NOTE: The mandatory HTTP error status codes for the GET method listed in table 5.2.6-1 of 3GPP TS 29.122 [14] also apply.

Table 8.6.2.2.3.1-4: Headers supported by the 307 Response Code on this resource

Name

Data type

P

Cardinality

Description

Location

string

M

1

An alternative URI of the resource located in an alternative CAPIF core function.

Table 8.6.2.2.3.1-5: Headers supported by the 308 Response Code on this resource

Name

Data type

P

Cardinality

Description

Location

string

M

1

An alternative URI of the resource located in an alternative CAPIF core function.

8.6.2.2.4 Resource Custom Operations

None.

8.6.3 Notifications

None.

8.6.4 Data Model

8.6.4.1 General

This clause specifies the application data model supported by the API. Data types listed in clause 7.2 also apply to this API.

Table 8.6.4.1-1 specifies the data types defined specifically for the CAPIF_Access_Control_Policy_API service.

Table 8.6.4.1-1: CAPIF_Access_Control_Policy_API specific Data Types

Data type

Section defined

Description

Applicability

AccessControlPolicyList

Clause 8.6.4.2.2

Represents the access control policy list for a published service API.

ApiInvokerPolicy

Clause 8.6.4.2.3

Represents the policy of an API Invoker.

TimeRangeList

Clause 8.6.4.2.4

Represents the time range during which the invocation of a service API is allowed by the API invoker.

Table 8.6.4.1-2 specifies data types re-used by the CAPIF_Access_Control_Policy_API service.

Table 8.6.4.1-2: Re-used Data Types

Data type

Reference

Comments

Applicability

DateTime

3GPP TS 29.122 [14]

Used to indicate start and end times.

SupportedFeatures

3GPP TS 29.571 [19]

Used to negotiate the applicability of optional features defined in table 8.6.6-1.

8.6.4.2 Structured data types

8.6.4.2.1 Introduction

This clause defines data structures to be used in resource representations.

8.6.4.2.2 Type: AccessControlPolicyList

Table 8.6.4.2.2-1: Definition of type AccessControlPolicyList

Attribute name

Data type

P

Cardinality

Description

Applicability

apiInvokerPolicies

array(ApiInvokerPolicy)

O

0..N

Policy of each API invoker.

8.6.4.2.3 Type: ApiInvokerPolicy

Table 8.6.4.2.3-1: Definition of type ApiInvokerPolicy

Attribute name

Data type

P

Cardinality

Description

Applicability

apiInvokerId

string

M

1

API invoker ID assigned by the CAPIF core function

allowedTotalInvocations

integer

O

0..1

Total number of invocations allowed on the service API by the API invoker.

allowedInvocationsPerSecond

integer

O

0..1

Invocations per second allowed on the service API by the API invoker.

allowedInvocationTimeRangeList

array(TimeRangeList)

O

0..N

The time ranges during which the invocations are allowed on the service API by the API invoker.

8.6.4.2.4 Type: TimeRangeList

Table 8.6.4.2.4-1: Definition of type TimeRangeList

Attribute name

Data type

P

Cardinality

Description

Applicability

startTime

DateTime

M

1

The start time for the invocations to be allowed on the service API by the API invoker.

stopTime

DateTime

M

1

The end time for the invocations to be allowed on the service API by the API invoker.

8.6.4.3 Simple data types and enumerations

None.

8.6.5 Error Handling

8.6.5.1 General

HTTP error handling shall be supported as specified in clause 7.7.

In addition, the requirements in the following clauses shall apply.

8.6.5.2 Protocol Errors

In this Release of the specification, there are no additional protocol errors applicable for the CAPIF_Access_Control_Policy_API.

8.6.5.3 Application Errors

The application errors defined for the CAPIF_Access_Control_Policy_API are listed in table 8.6.5.3-1.

Table 8.6.5.3-1: Application errors

Application Error

HTTP status code

Description

Applicability

8.6.6 Feature negotiation

General feature negotiation procedures are defined in clause 7.8.

Table 8.6.6-1: Supported Features

Feature number

Feature Name

Description

n/a