Skip to main content

Audit | Java SDK

The audit API is designed for recording a trail of application-based user activity in a scalable, tamper-proof log.

Log an entry

log(cloud.pangeacyber.pangea.audit.models.IEvent, cloud.pangeacyber.pangea.audit.models.LogConfig)

Create a log entry in the Secure Audit Log.

required parameters

cloud.pangeacyber.pangea.audit.models.IEvent

event to log

cloud.pangeacyber.pangea.audit.models.LogConfig

Response Object

LogResponse
 StandardEvent event = new StandardEvent
 	.Builder("Hello, World!")
 	.action("Login")
 	.actor("Terminal")
 	.build();
 LogConfig config = new LogConfig.Builder().build();

 LogResponse response = client.log(event, config);

Log multiple entries

logBulk(cloud.pangeacyber.pangea.audit.models.IEvent[], cloud.pangeacyber.pangea.audit.models.LogConfig)

Create multiple log entries in the Secure Audit Log.

required parameters

cloud.pangeacyber.pangea.audit.models.IEvent[]

events to log

cloud.pangeacyber.pangea.audit.models.LogConfig

Response Object

LogBulkResponse
 StandardEvent event = new StandardEvent
 	.Builder("Hello, World!")
 	.action("Login")
 	.actor("Terminal")
 	.build();
 StandardEvent[] events = {event};
 LogConfig config = new LogConfig.Builder().build();

 LogBulkResponse response = client.logBulk(events, config);

Log multiple entries asynchronously

logBulkAsync(cloud.pangeacyber.pangea.audit.models.IEvent[], cloud.pangeacyber.pangea.audit.models.LogConfig)

Asynchronously create multiple log entries in the Secure Audit Log.

required parameters

cloud.pangeacyber.pangea.audit.models.IEvent[]

events to log

cloud.pangeacyber.pangea.audit.models.LogConfig

Response Object

LogBulkResponse
 StandardEvent event = new StandardEvent
 	.Builder("Hello, World!")
 	.action("Login")
 	.actor("Terminal")
 	.build();
 StandardEvent[] events = {event};
 LogConfig config = new LogConfig.Builder().build();

 LogBulkResponse response = client.logBulkAsync(events, config);

Get last root

getRoot()

Get last root from Pangea Server

Response Object

RootResponse
 RootResponse response = client.getRoot();

Tamperproof verification

getRoot(int)

Returns current root hash and consistency proof.

required parameters

int

tree size to get root

Response Object

RootResponse
 RootResponse response = client.getRoot(treeSize);

Download search results

downloadResults(cloud.pangeacyber.pangea.audit.requests.DownloadRequest)

Get all search results as a compressed (gzip) CSV file.

required parameters

cloud.pangeacyber.pangea.audit.requests.DownloadRequest

Request parameters.

Response Object

URL where search results can be downloaded.
 var response = client.downloadResults(
     new DownloadRequest.Builder("pas_[...]")
         .format(DownloadFormat.CSV)
         .build()
 );
search(cloud.pangeacyber.pangea.audit.requests.SearchRequest, cloud.pangeacyber.pangea.audit.models.SearchConfig)

Perform a search of logs according to input param. By default verify logs consistency and events hash and signature.

required parameters

cloud.pangeacyber.pangea.audit.requests.SearchRequest
cloud.pangeacyber.pangea.audit.models.SearchConfig

Response Object

SearchResponse
 SearchRequest searchRequest = new SearchRequest
 	.Builder("message:\"\"").limit(10).build();
 SearchConfig searchConfig = new SearchConfig.Builder().build();

 SearchResponse response = client.search(searchRequest, searchConfig);
results(cloud.pangeacyber.pangea.audit.requests.ResultRequest, cloud.pangeacyber.pangea.audit.models.SearchConfig)

Fetch paginated results of a previously executed search. By default: verifyEvents is true and verifyConsistency is false.

required parameters

cloud.pangeacyber.pangea.audit.requests.ResultRequest
cloud.pangeacyber.pangea.audit.models.SearchConfig

Response Object

ResultsResponse
 ResultRequest request = new ResultRequest
 	.Builder("pas_sqilrhruwu54uggihqj3aie24wrctakr")
 	.limit(3)
 	.offset(0)
 	.build();
 SearchConfig searchConfig = new SearchConfig.Builder().build();

 ResultsResponse response = client.results(request, searchConfig);