Kaspersky Industrial CyberSecurity for Networks API Developer's Guide

Services

This section contains descriptions of services provided by Kaspersky Industrial CyberSecurity for Networks API.

In this section

AssetProvider

ConfigurationProvider

DictionaryProvider

EventProvider

EventRegistrar

ProductFacade

TagNotifier

TagProvider

Page top
[Topic 146254]

AssetProvider

Kaspersky Industrial CyberSecurity for Networks asset provider service.

Defined in

This service is defined in the asset_provider_service.proto file.

Syntax

service AssetProvider

{

rpc GetAssetsUpdatedAfter(AssetsUpdatedAfterRequest) returns(stream Asset);

}

Service methods

The AssetProvider service has the following service methods.

AssetProvider service methods

Name

Request message

Response message

Description

GetAssetsUpdatedAfter

AssetsUpdatedAfterRequest

stream Asset

Returns a list of assets registered in Kaspersky Industrial CyberSecurity for Networks and updated after the time, specified in AssetsUpdatedAfterRequest method.

Page top
[Topic 189861]

ConfigurationProvider

Kaspersky Industrial CyberSecurity for Networks configuration provider service.

Defined in

This service is defined in the configuration_provider_service.proto file.

Syntax

service ConfigurationProvider

{

rpc GetKscConfiguration(google.protobuf.Empty) returns(KscConfiguration);

rpc GetConfigurationMetadata(google.protobuf.Empty) returns(ConfigurationMetadata);

rpc GetPlcConfiguration(google.protobuf.Empty) returns(stream PlcConfiguration);

rpc GetProtocolConfiguration(HashIdValue) returns(stream ProtocolConfiguration);

rpc GetTagsForPlc(HashIdValue) returns(stream TagDescriptor);

rpc GetTagsForProtocol(HashIdValue) returns(stream TagDescriptor);

rpc GetEventDescriptors(google.protobuf.Empty) returns(stream EventDescriptor);

}

Service methods

The ConfigurationProvider service has the following service methods.

ConfigurationProvider service methods

Name

Request message

Response message

Description

GetKscConfiguration

google.protobuf.Empty

KscConfiguration

Returns configuration for Kaspersky Security Center agent.

GetConfigurationMetadata

google.protobuf.Empty

ConfigurationMetadata

Returns current Kaspersky Industrial CyberSecurity for Networks configuration metadata.

GetPlcConfiguration

google.protobuf.Empty

stream PlcConfiguration

Returns a list of PLCs and information about them.

GetProtocolConfiguration

HashIdValue

stream ProtocolConfiguration

Returns configuration for protocols of the specified PLC.

GetTagsForPlc

HashIdValue

stream TagDescriptor

Returns tag descriptors for the specified PLC.

GetTagsForProtocol

HashIdValue

stream TagDescriptor

Returns tag descriptors for the specified protocol.

GetEventDescriptors

google.protobuf.Empty

stream EventDescriptor

Returns descriptors for event types.

Remarks

If no configuration is loaded into Kaspersky Industrial CyberSecurity for Networks, calling ConfigurationProvider service methods results in an error.

Page top
[Topic 148209]

DictionaryProvider

Dictionary provider service. This service provides dictionary values used by Kaspersky Industrial CyberSecurity for Networks.

Defined in

This service is defined in the dictionary_provider_service.proto file.

Syntax

service DictionaryProvider

{

rpc GetDictionary(DictionaryRequest) returns(stream google.protobuf.StringValue);

}

Service methods

The DictionaryProvider service has the following service methods.

DictionaryProvider service methods

Name

Request message

Response message

Description

GetDictionary

DictionaryRequest

stream google.protobuf.StringValue

Returns a stream of values in a specified dictionary.

Page top
[Topic 148230]

EventProvider

Event provider service.

Defined in

This service is defined in the event_provider_service.proto file.

Syntax

service EventProvider

{

rpc GetItem(EventId) returns(Event);

rpc RequestItems(Filter) returns(Cookie);

rpc GetItems(ItemsRequest) returns(stream Event);

rpc GetRequestState(Cookie) returns(RequestStateResponse);

rpc CancelItemsRequest(Cookie) returns(google.protobuf.Empty);

rpc GetItemsById(ItemsByIdRequest) returns(stream Event);

}

Service methods

The EventProvider service has the following service methods.

EventProvider service methods

Name

Request message

Response message

Description

GetItem

EventId

Event

Returns a single event according to its identifier.

Receives the event identifier and returns an event with the specified identifier.

RequestItems

Filter

Cookie

Makes an asynchronous request for a specific number of events in a certain time span.

Receives the parameters of an event request and returns a request cookie.

GetItems

ItemsRequest

stream Event

Returns the results of an asynchronous request.

Receives a request cookie and range parameters, and returns a stream of events.

After the events are received, you must make a CancelItemsRequest call to avoid resource leakage.

GetRequestState

Cookie

RequestStateResponse

Returns the state of an asynchronous request.

Receives a request cookie and returns the status of the request.

CancelItemsRequest

Cookie

google.protobuf.Empty

Cancels the processing of an asynchronous request (if processing is not yet complete) and frees resources allocated for the request.

Receives a request cookie.

GetItemsById

ItemsByIdRequest

stream Event

Returns a specified number of events starting from a certain event (but not including this event).

Receives request parameters (filter, identifier of the starting event, and maximum number of events) and returns a stream of events.

Page top
[Topic 146302]

EventRegistrar

Service that registers events in Kaspersky Industrial CyberSecurity for Networks.

Defined in

This service is defined in the event_registrar_service.proto file.

Syntax

service EventRegistrar

{

rpc PostGenericEvents(stream NewGenericEvent) returns(google.protobuf.Empty);

}

Service methods

The EventRegistrar service has the following service methods.

EventRegistrar service methods

Name

Request message

Response message

Description

PostGenericEvents

stream NewGenericEvent

google.protobuf.Empty

Registers one or more events.

Receives a stream of events.

Page top
[Topic 148255]

ProductFacade

Kaspersky Industrial CyberSecurity for Networks version provider service.

Defined in

This service is defined in the product_facade_service.proto file.

Syntax

service ProductFacade

{

rpc GetVersion(google.protobuf.Empty) returns (Version);

}

Service methods

The ProductFacade service has the following service methods.

ProductFacade service methods

Name

Request message

Response message

Description

GetVersion

google.protobuf.Empty

Version

Returns version information.

Page top
[Topic 146351]

TagNotifier

Service that handles requests with tag change events from Kaspersky Industrial CyberSecurity for Networks. This service must be implemented on the client side.

Defined in

This service is defined in the tag_notifier_service.proto file.

Syntax

service TagNotifier

{

rpc OnNewTags(stream TagEvent) returns(google.protobuf.Empty);

}

Service methods

The TagNotifier service has the following service methods.

TagNotifier service methods

Name

Request message

Response message

Description

OnNewTags

stream TagEvent

google.protobuf.Empty

This method is called when a message with a tag change event is received.

Receives a stream of tag events (tags and operation types).

Page top
[Topic 146363]

TagProvider

Service that provides information about tags and handles subscription to tag change events.

Defined in

This service is defined in the tag_provider_service.proto file.

Syntax

service TagProvider

{

rpc SubscribeTagNotifier(SubscriptionRequest) returns(Cookie);

rpc UnsubscribeNotifier(Cookie) returns(google.protobuf.Empty);

rpc GetTags(TagsRequest) returns(stream Tag);

}

Service methods

TagProvider service has the following service methods.

TagProvider service methods

Name

Request message

Response message

Description

SubscribeTagNotifier

SubscriptionRequest

Cookie

Subscribes to tag change events.

Receives subscription settings (address and filter) and returns the subscription cookie.

UnsubscribeNotifier

Cookie

google.protobuf.Empty

Removes an existing subscription to tag change events.

Receives a request cookie.

GetTags

TagsRequest

stream Tag

Returns a collection of tags.

Receives tag request and returns a continuous stream of tags.

Page top
[Topic 146357]