OPENDJ-3394 Deliver example configuration files for CAUD handlers.
Also includes examples for ELK and JDBC setup
1 files modified
8 files added
| New file |
| | |
| | | // |
| | | // Example configuration for Elastic Search handler. |
| | | // Edit a copy of the file with your settings. |
| | | // Strip comments before use with grep -v '^[ ]*//' < your-file.json |
| | | // |
| | | { |
| | | "class": "org.forgerock.audit.handlers.elasticsearch.ElasticsearchAuditEventHandler", |
| | | "config": { |
| | | // Buffering is optional. Once enabled, its fields are optional. |
| | | "buffering": { |
| | | "enabled": false, |
| | | "maxBatchedEvents": 500, |
| | | "maxSize": 10000, |
| | | "writeInterval": "100 millis" |
| | | }, |
| | | // Optional |
| | | "connection": { |
| | | "host": "localhost", |
| | | "port": 9200, |
| | | "useSSL": false, |
| | | "username": "myUsername", |
| | | "password": "myPassword" |
| | | }, |
| | | "enabled": false, |
| | | // Optional |
| | | "indexMapping": { |
| | | "indexName": "audit" |
| | | }, |
| | | "name": "elasticsearch", |
| | | "topics": [ |
| | | "ldap-access", |
| | | "http-access" |
| | | ] |
| | | } |
| | | } |
| | | |
| New file |
| | |
| | | { |
| | | "settings": {}, |
| | | "mappings": { |
| | | "ldap-access": { |
| | | "_source": { |
| | | "enabled": true |
| | | }, |
| | | "properties": { |
| | | "timestamp": { |
| | | "type": "date" |
| | | }, |
| | | "eventName": { |
| | | "type": "string", |
| | | "index": "not_analyzed" |
| | | }, |
| | | "transactionId": { |
| | | "type": "string", |
| | | "index": "not_analyzed" |
| | | }, |
| | | "userId": { |
| | | "type": "string", |
| | | "index": "not_analyzed" |
| | | }, |
| | | "server": { |
| | | "properties": { |
| | | "ip": { |
| | | "type": "string", |
| | | "index": "not_analyzed" |
| | | }, |
| | | "port": { |
| | | "type": "integer" |
| | | } |
| | | } |
| | | }, |
| | | "client": { |
| | | "properties": { |
| | | "ip": { |
| | | "type": "string", |
| | | "index": "not_analyzed" |
| | | }, |
| | | "port": { |
| | | "type": "integer" |
| | | } |
| | | } |
| | | }, |
| | | "request": { |
| | | "properties": { |
| | | "protocol": { |
| | | "type": "string", |
| | | "index": "not_analyzed" |
| | | }, |
| | | "operation": { |
| | | "type": "string", |
| | | "index": "not_analyzed" |
| | | }, |
| | | "connId": { |
| | | "type": "integer", |
| | | "index": "not_analyzed" |
| | | }, |
| | | "msgId": { |
| | | "type": "integer" |
| | | }, |
| | | "dn": { |
| | | "type": "string" |
| | | }, |
| | | "scope": { |
| | | "type": "string" |
| | | }, |
| | | "filter": { |
| | | "type": "string" |
| | | }, |
| | | "attrs": { |
| | | "type": "string" |
| | | }, |
| | | "authType": { |
| | | "type": "string" |
| | | }, |
| | | "controls": { |
| | | "type": "string" |
| | | }, |
| | | "attr": { |
| | | "type": "string" |
| | | }, |
| | | "idToAbandon": { |
| | | "type": "integer" |
| | | }, |
| | | "message": { |
| | | "type": "string" |
| | | }, |
| | | "name": { |
| | | "type": "string" |
| | | }, |
| | | "newRDN": { |
| | | "type": "string" |
| | | }, |
| | | "newSup": { |
| | | "type": "string" |
| | | }, |
| | | "deleteOldRDN": { |
| | | "type": "boolean" |
| | | }, |
| | | "oid": { |
| | | "type": "string" |
| | | }, |
| | | "version": { |
| | | "type": "string" |
| | | }, |
| | | "opType": { |
| | | "type": "string" |
| | | } |
| | | } |
| | | }, |
| | | "response": { |
| | | "properties": { |
| | | "status": { |
| | | "type": "string", |
| | | "index": "not_analyzed" |
| | | }, |
| | | "statusCode": { |
| | | "type": "string", |
| | | "index": "not_analyzed" |
| | | }, |
| | | "detail": { |
| | | "type": "string", |
| | | "index": "not_analyzed" |
| | | }, |
| | | "elapsedTime": { |
| | | "type": "integer" |
| | | }, |
| | | "elapsedTimeUnits": { |
| | | "type": "string", |
| | | "index": "not_analyzed" |
| | | }, |
| | | "nentries": { |
| | | "type": "string" |
| | | }, |
| | | "controls": { |
| | | "type": "string" |
| | | }, |
| | | "additionalItems": { |
| | | "type": "string" |
| | | }, |
| | | "failureReason": { |
| | | "type": "string" |
| | | }, |
| | | "maskedResult": { |
| | | "type": "integer" |
| | | }, |
| | | "maskedMessage": { |
| | | "type": "string" |
| | | }, |
| | | "reason": { |
| | | "type": "string" |
| | | } |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | "http-access": { |
| | | "_source": { |
| | | "enabled": true |
| | | }, |
| | | "properties": { |
| | | "timestamp": { |
| | | "type": "date" |
| | | }, |
| | | "eventName": { |
| | | "type": "string", |
| | | "index": "not_analyzed" |
| | | }, |
| | | "transactionId": { |
| | | "type": "string", |
| | | "index": "not_analyzed" |
| | | }, |
| | | "userId": { |
| | | "type": "string", |
| | | "index": "not_analyzed" |
| | | }, |
| | | "server": { |
| | | "properties": { |
| | | "ip": { |
| | | "type": "string", |
| | | "index": "not_analyzed" |
| | | }, |
| | | "port": { |
| | | "type": "integer" |
| | | } |
| | | } |
| | | }, |
| | | "client": { |
| | | "properties": { |
| | | "ip": { |
| | | "type": "string", |
| | | "index": "not_analyzed" |
| | | }, |
| | | "port": { |
| | | "type": "integer" |
| | | } |
| | | } |
| | | }, |
| | | "request": { |
| | | "properties": { |
| | | "protocol": { |
| | | "type": "string", |
| | | "index": "not_analyzed" |
| | | }, |
| | | "operation": { |
| | | "type": "string", |
| | | "index": "not_analyzed" |
| | | }, |
| | | "detail": { |
| | | "type": "nested" |
| | | } |
| | | } |
| | | }, |
| | | "http": { |
| | | "properties": { |
| | | "request": { |
| | | "properties": { |
| | | "secure": { |
| | | "type": "boolean" |
| | | }, |
| | | "method": { |
| | | "type": "string", |
| | | "index": "not_analyzed" |
| | | }, |
| | | "path": { |
| | | "type": "string", |
| | | "index": "not_analyzed" |
| | | }, |
| | | "queryParameters": { |
| | | "type": "nested" |
| | | }, |
| | | "headers": { |
| | | "type": "nested" |
| | | }, |
| | | "cookies": { |
| | | "type": "nested" |
| | | } |
| | | } |
| | | }, |
| | | "response": { |
| | | "properties": { |
| | | "headers": { |
| | | "type": "nested" |
| | | } |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | "response": { |
| | | "properties": { |
| | | "status": { |
| | | "type": "string", |
| | | "index": "not_analyzed" |
| | | }, |
| | | "statusCode": { |
| | | "type": "string", |
| | | "index": "not_analyzed" |
| | | }, |
| | | "detail": { |
| | | "type": "string", |
| | | "index": "not_analyzed" |
| | | }, |
| | | "elapsedTime": { |
| | | "type": "integer" |
| | | }, |
| | | "elapsedTimeUnits": { |
| | | "type": "string", |
| | | "index": "not_analyzed" |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| New file |
| | |
| | | // |
| | | // Example configuration for JDBC handler. |
| | | // Edit a copy of the file with your settings. |
| | | // Strip comments before use with grep -v '^[ ]*//' < your-file.json |
| | | // |
| | | { |
| | | "class": "org.forgerock.audit.handlers.jdbc.JdbcAuditEventHandler", |
| | | "config": { |
| | | // buffering is optional; once enabled any other fields are optional |
| | | "buffering": { |
| | | "enabled": false, |
| | | "autoFlush": true, |
| | | "maxSize": 5000, |
| | | "interval": "disabled", |
| | | "writerThreads": 1, |
| | | "maxBatchedEvents": 100 |
| | | }, |
| | | "connectionPool": { |
| | | // Make sure the class is in your classpath |
| | | "dataSourceClassName": "com.mysql.jdbc.jdbc2.optional.MysqlDataSource", |
| | | // jdbcURL depends on the JDBC driver |
| | | "jdbcUrl": "jdbc:mysql://localhost:3306/audit?allowMultiQueries=true&characterEncoding=utf8", |
| | | "password": "auditAdminPassword", |
| | | "username": "auditAdmin", |
| | | // Following connectionPool fields are optional |
| | | "autoCommit": true, |
| | | "connectionTimeOut": 30000, |
| | | "idleTimeout": 600000, |
| | | "maxLifeTime": 1800000, |
| | | "minIdle": 10, |
| | | "maxPoolSize": 10, |
| | | "poolName": "audit", |
| | | "driverClassName": null |
| | | }, |
| | | "databaseType": "mysql", |
| | | "enabled": false, |
| | | "name": "jdbc", |
| | | "tableMappings": [ |
| | | { |
| | | "event": "ldap-access", |
| | | "fieldToColumn": { |
| | | "_id": "id", |
| | | "eventName": "eventname", |
| | | "runAs": "runAs", |
| | | "timestamp": "timestamp_", |
| | | "transactionId": "transactionid", |
| | | "userId": "userid", |
| | | "client/host": "client_host", |
| | | "client/ip": "client_ip", |
| | | "client/port": "client_port", |
| | | "server/ip": "server_ip", |
| | | "server/port": "server_port", |
| | | "request/attr": "request_attr", |
| | | "request/attrs": "request_attrs", |
| | | "request/authType": "request_authType", |
| | | "request/connId": "request_connId", |
| | | "request/controls": "request_controls", |
| | | "request/deleteOldRDN": "request_deleteOldRDN", |
| | | "request/dn": "request_dn", |
| | | "request/filter": "request_filter", |
| | | "request/idToAbandon": "request_idToAbandon", |
| | | "request/message": "request_message", |
| | | "request/msgId": "request_msgId", |
| | | "request/name": "request_name", |
| | | "request/newRDN": "request_newRDN", |
| | | "request/newSup": "request_newSup", |
| | | "request/oid": "request_oid", |
| | | "request/opType": "request_opType", |
| | | "request/operation": "request_operation", |
| | | "request/protocol": "request_protocol", |
| | | "request/scope": "request_scope", |
| | | "request/version": "request_version", |
| | | "response/additionalItems": "response_additionalItems", |
| | | "response/controls": "response_controls", |
| | | "response/failureReason": "response_failureReason", |
| | | "response/maskedMessage": "response_maskedMessage", |
| | | "response/maskedResult": "response_maskedResult", |
| | | "response/nentries": "response_nentries", |
| | | "response/reason": "response_reason" |
| | | }, |
| | | "table": "ldapaccess" |
| | | }, |
| | | { |
| | | "event": "http-access", |
| | | "fieldToColumn": { |
| | | "_id": "id", |
| | | "eventName": "eventname", |
| | | "timestamp": "timestamp_", |
| | | "transactionId": "transactionid", |
| | | "userId": "userid", |
| | | "client/host": "client_host", |
| | | "client/ip": "client_ip", |
| | | "client/port": "client_port", |
| | | "server/ip": "server_ip", |
| | | "server/port": "server_port", |
| | | "http/request/cookies": "request_cookies", |
| | | "http/request/headers": "request_headers", |
| | | "http/request/method": "request_method", |
| | | "http/request/path": "request_path", |
| | | "http/request/queryParameters": "request_queryparameters", |
| | | "http/request/secure": "request_secure", |
| | | "http/response/headers": "response_headers", |
| | | "request/operation": "request_operation", |
| | | "request/protocol": "request_protocol", |
| | | "response/elapsedTime": "response_elapsedtime", |
| | | "response/elapsedTimeUnits": "response_elapsedtimeunits", |
| | | "response/status": "response_status", |
| | | "response/statusCode": "response_statuscode" |
| | | }, |
| | | "table": "httpaccess" |
| | | } |
| | | ], |
| | | "topics": [ |
| | | "ldap-access", |
| | | "http-access" |
| | | ] |
| | | } |
| | | } |
| | | |
| New file |
| | |
| | | // |
| | | // Example configuration for splunk handler. |
| | | // Edit a copy of the file with your settings. |
| | | // Strip comments before use with grep -v '^[ ]*//' < your-file.json |
| | | // |
| | | { |
| | | "class": "org.forgerock.audit.handlers.jms.JmsAuditEventHandler", |
| | | "config": { |
| | | "batch": { |
| | | "batchEnabled": false, |
| | | "capacity": 1, |
| | | "maxBatchedEvents": 1, |
| | | "threadCount": 1, |
| | | "insertTimeoutSec": 60, |
| | | "pollTimeoutSec": 10, |
| | | "shutdownTimeoutSec": 60 |
| | | }, |
| | | // Permitted values: NON_PERSISTENT, PERSISTENT |
| | | "deliveryMode": "NON_PERSISTENT", |
| | | "enabled": false, |
| | | // Optional |
| | | "topicName": "audit", |
| | | "jndi": { |
| | | // Optional |
| | | "connectionFactoryName": "connectionFactory", |
| | | "contextProperties": { |
| | | "java.naming.factory.initial": "org.apache.activemq.jndi.ActiveMQInitialContextFactory", |
| | | "java.naming.provider.url": "tcp://localhost:61616", |
| | | "topic.audit": "audit" |
| | | } |
| | | }, |
| | | "name": "jms", |
| | | // Permitted values: AUTO, CLIENT, DUPS_OK |
| | | "sessionMode": "AUTO", |
| | | "topics": [ |
| | | "ldap-access", |
| | | "http-access" |
| | | ] |
| | | } |
| | | } |
| | | |
| New file |
| | |
| | | SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0; |
| | | SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0; |
| | | SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL'; |
| | | |
| | | CREATE SCHEMA IF NOT EXISTS `audit` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin ; |
| | | USE `audit` ; |
| | | -- ----------------------------------------------------- |
| | | -- Table `audit`.`ldapaccess` |
| | | -- ----------------------------------------------------- |
| | | CREATE TABLE IF NOT EXISTS `audit`.`ldapaccess` ( |
| | | `id` VARCHAR(56) NOT NULL , |
| | | `timestamp_` VARCHAR(29) NULL COMMENT 'Date format: 2011-09-09T14:58:17.654+02:00' , |
| | | `transactionid` VARCHAR(255) NULL , |
| | | `eventname` VARCHAR(255) , |
| | | `userid` VARCHAR(255) NULL , |
| | | `server_ip` VARCHAR(40) , |
| | | `server_port` VARCHAR(5) , |
| | | `client_host` VARCHAR(255) , |
| | | `client_ip` VARCHAR(40) , |
| | | `client_port` VARCHAR(5) , |
| | | `request_protocol` VARCHAR(255) , |
| | | `request_operation` VARCHAR(255) , |
| | | `request_attr` VARCHAR(255) NULL, |
| | | `request_attrs` VARCHAR(255) NULL , |
| | | `request_authType` VARCHAR(255) NULL , |
| | | `request_connId` INTEGER , |
| | | `request_msgId` INTEGER , |
| | | `request_controls` VARCHAR(255) NULL , |
| | | `request_deleteOldRDN` BOOLEAN NULL , |
| | | `request_dn` VARCHAR(255) NULL , |
| | | `request_filter` VARCHAR(255) NULL , |
| | | `request_idToAbandon` VARCHAR(255) NULL , |
| | | `request_message` VARCHAR(255) NULL , |
| | | `request_name` VARCHAR(255) NULL , |
| | | `request_newRDN` VARCHAR(255) NULL , |
| | | `request_newSup` VARCHAR(255) NULL , |
| | | `request_oid` VARCHAR(255) NULL , |
| | | `request_opType` VARCHAR(255) NULL , |
| | | `request_operation` VARCHAR(255) NULL , |
| | | `request_protocol` VARCHAR(255) NULL , |
| | | `request_scope` VARCHAR(255) NULL , |
| | | `request_version` VARCHAR(255) NULL , |
| | | `response_additionalItems` VARCHAR(255) NULL , |
| | | `response_controls` VARCHAR(255) NULL , |
| | | `response_failureReason` VARCHAR(255) NULL , |
| | | `response_maskedMessage` VARCHAR(255) NULL , |
| | | `response_maskedResult` VARCHAR(255) NULL , |
| | | `response_nentries` INTEGER NULL , |
| | | `response_reason` VARCHAR(255) NULL , |
| | | `response_status` VARCHAR(10) NULL , |
| | | `response_statuscode` VARCHAR(255) NULL , |
| | | `response_elapsedtime` VARCHAR(255) NULL , |
| | | `response_elapsedtimeunits` VARCHAR(255) NULL , |
| | | PRIMARY KEY (`id`), |
| | | INDEX `idx_ldapaccess_dn` (`request_dn` ASC), |
| | | INDEX `idx_ldapaccess_userid` (`userid` ASC) ) |
| | | ENGINE = InnoDB; |
| | | |
| | | -- ----------------------------------------------------- |
| | | -- Table `audit`.`httpaccess` |
| | | -- ----------------------------------------------------- |
| | | CREATE TABLE IF NOT EXISTS `audit`.`httpaccess` ( |
| | | `id` VARCHAR(56) NOT NULL , |
| | | `timestamp_` VARCHAR(29) NULL COMMENT 'Date format: 2011-09-09T14:58:17.654+02:00' , |
| | | `transactionid` VARCHAR(255) NULL , |
| | | `eventname` VARCHAR(255) , |
| | | `userid` VARCHAR(255) NULL , |
| | | `server_ip` VARCHAR(40) , |
| | | `server_port` VARCHAR(5) , |
| | | `client_host` VARCHAR(255) , |
| | | `client_ip` VARCHAR(40) , |
| | | `client_port` VARCHAR(5) , |
| | | `request_protocol` VARCHAR(255) NULL , |
| | | `request_operation` VARCHAR(255) NULL , |
| | | `request_secure` BOOLEAN NULL , |
| | | `request_method` VARCHAR(7) NULL , |
| | | `request_path` VARCHAR(255) NULL , |
| | | `request_queryparameters` MEDIUMTEXT NULL , |
| | | `request_headers` MEDIUMTEXT NULL , |
| | | `request_cookies` MEDIUMTEXT NULL , |
| | | `response_headers` MEDIUMTEXT NULL , |
| | | `response_status` VARCHAR(10) NULL , |
| | | `response_statuscode` VARCHAR(255) NULL , |
| | | `response_elapsedtime` VARCHAR(255) NULL , |
| | | `response_elapsedtimeunits` VARCHAR(255) NULL , |
| | | PRIMARY KEY (`id`), |
| | | INDEX `idx_httpaccess_userid` (`userid` ASC) ) |
| | | ENGINE = InnoDB; |
| | | |
| | | SET SQL_MODE=@OLD_SQL_MODE; |
| | | SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS; |
| | | SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS; |
| | | |
| | | -- ------------------------------------------- |
| | | -- audit database user |
| | | -- ------------------------------------------ |
| | | GRANT ALL PRIVILEGES on audit.* TO audit IDENTIFIED BY 'audit'; |
| | | GRANT ALL PRIVILEGES on audit.* TO audit@'%' IDENTIFIED BY 'audit'; |
| | | GRANT ALL PRIVILEGES on audit.* TO audit@localhost IDENTIFIED BY 'audit'; |
| New file |
| | |
| | | -- ----------------------------------------------------- |
| | | -- Table auditaccess |
| | | -- ----------------------------------------------------- |
| | | PROMPT Creating Table httpaccess ... |
| | | CREATE TABLE httpaccess ( |
| | | id VARCHAR2(56 CHAR) NOT NULL, |
| | | timestamp_ VARCHAR2(29 CHAR) NOT NULL, |
| | | transactionid VARCHAR2(255 CHAR) NOT NULL, |
| | | eventname VARCHAR2(255 CHAR), |
| | | userid VARCHAR2(255 CHAR), |
| | | server_ip VARCHAR2(40 CHAR), |
| | | server_port VARCHAR2(5 CHAR), |
| | | client_host VARCHAR2(255 CHAR), |
| | | client_ip VARCHAR2(40 CHAR), |
| | | client_port VARCHAR2(5 CHAR), |
| | | request_protocol VARCHAR2(255 CHAR) NULL , |
| | | request_operation VARCHAR2(255 CHAR) NULL , |
| | | request_secure VARCHAR2(255 CHAR) NULL , |
| | | request_method VARCHAR2(7 CHAR) NULL , |
| | | request_path VARCHAR2(255 CHAR) NULL , |
| | | request_queryparameters CLOB(2M) NULL , |
| | | request_headers CLOB NULL , |
| | | request_cookies CLOB NULL , |
| | | response_headers CLOB NULL , |
| | | response_status VARCHAR2(10 CHAR) NULL , |
| | | response_statuscode VARCHAR2(255 CHAR) NULL , |
| | | response_elapsedtime VARCHAR2(255 CHAR) NULL , |
| | | response_elapsedtimeunits VARCHAR2(255 CHAR) NULL |
| | | ); |
| | | |
| | | |
| | | COMMENT ON COLUMN httpaccess.timestamp IS 'Date format: 2011-09-09T14:58:17.654+02:00' |
| | | ; |
| | | |
| | | PROMPT Creating Primary Key Constraint PRIMARY_ACCESS on table httpaccess ... |
| | | ALTER TABLE httpaccess |
| | | ADD CONSTRAINT PRIMARY_ACCESS PRIMARY KEY |
| | | ( |
| | | id |
| | | ) |
| | | ENABLE |
| | | ; |
| | | |
| | | -- ----------------------------------------------------- |
| | | -- Table auditauthentication |
| | | -- ----------------------------------------------------- |
| | | PROMPT Creating TABLE ldapaccess ... |
| | | CREATE TABLE ldapaccess ( |
| | | id VARCHAR2(56 CHAR) NOT NULL, |
| | | timestamp_ VARCHAR2(29 CHAR) NOT NULL, |
| | | transactionid VARCHAR2(255 CHAR) NOT NULL, |
| | | eventname VARCHAR2(255 CHAR), |
| | | userid VARCHAR2(255 CHAR), |
| | | server_ip VARCHAR2(40 CHAR), |
| | | server_port VARCHAR2(5 CHAR), |
| | | client_host VARCHAR2(255 CHAR), |
| | | client_ip VARCHAR2(40 CHAR), |
| | | client_port VARCHAR2(5 CHAR), |
| | | request_protocol VARCHAR(255) , |
| | | request_operation VARCHAR(255) , |
| | | request_attr VARCHAR(255) NULL, |
| | | request_attrs VARCHAR(255) NULL , |
| | | request_authType VARCHAR(255) NULL , |
| | | request_connId INTEGER , |
| | | request_msgId INTEGER , |
| | | request_controls VARCHAR(255) NULL , |
| | | request_deleteOldRDN BOOLEAN NULL , |
| | | request_dn VARCHAR(255) NULL , |
| | | request_filter VARCHAR(255) NULL , |
| | | request_idToAbandon VARCHAR(255) NULL , |
| | | request_message VARCHAR(255) NULL , |
| | | request_name VARCHAR(255) NULL , |
| | | request_newRDN VARCHAR(255) NULL , |
| | | request_newSup VARCHAR(255) NULL , |
| | | request_oid VARCHAR(255) NULL , |
| | | request_opType VARCHAR(255) NULL , |
| | | request_operation VARCHAR(255) NULL , |
| | | request_protocol VARCHAR(255) NULL , |
| | | request_scope VARCHAR(255) NULL , |
| | | request_version VARCHAR(255) NULL , |
| | | response_additionalItems VARCHAR(255) NULL , |
| | | response_controls VARCHAR(255) NULL , |
| | | response_failureReason VARCHAR(255) NULL , |
| | | response_maskedMessage VARCHAR(255) NULL , |
| | | response_maskedResult VARCHAR(255) NULL , |
| | | response_nentries INTEGER NULL , |
| | | response_reason VARCHAR(255) NULL , |
| | | response_status VARCHAR(10) NULL , |
| | | response_statuscode VARCHAR(255) NULL , |
| | | response_elapsedtime VARCHAR(255) NULL , |
| | | response_elapsedtimeunits VARCHAR(255) NULL , |
| | | ); |
| | | |
| | | COMMENT ON COLUMN ldapaccess.timestamp IS 'Date format: 2011-09-09T14:58:17.654+02:00' |
| | | ; |
| | | |
| | | PROMPT Creating PRIMARY KEY CONSTRAINT PRIMARY_AUTHENTICATION ON TABLE ldapaccess ... |
| | | ALTER TABLE ldapaccess |
| | | ADD CONSTRAINT PRIMARY_AUTHENTICATION PRIMARY KEY |
| | | ( |
| | | userid, |
| | | request_dn |
| | | ) |
| | | ENABLE |
| | | ; |
| | | |
| | | COMMIT; |
| New file |
| | |
| | | // |
| | | // Example configuration for splunk handler. |
| | | // Edit a copy of the file with your settings. |
| | | // Strip comments before use with grep -v '^[ ]*//' < your-file.json |
| | | // |
| | | { |
| | | "class": "org.forgerock.audit.handlers.splunk.SplunkAuditEventHandler", |
| | | "config": { |
| | | "authzToken": "00000000-0000-0000-0000-000000000000", |
| | | "buffering": { |
| | | "maxBatchedEvents": 500, |
| | | "maxSize": 10000, |
| | | "writeInterval": "100 millis" |
| | | }, |
| | | "connection": { |
| | | // Optional |
| | | "host": "localhost", |
| | | "port": 8088, |
| | | "useSSL": false |
| | | }, |
| | | "enabled": false, |
| | | "name": "splunk", |
| | | "topics": [ |
| | | "ldap-access", |
| | | "http-access" |
| | | ] |
| | | } |
| | | } |
| New file |
| | |
| | | // |
| | | // Example configuration for syslog handler. |
| | | // Edit a copy of the file with your settings. |
| | | // Strip comments before use with grep -v '^[ ]*//' < your-file.json |
| | | // |
| | | { |
| | | "class": "org.forgerock.audit.handlers.syslog.SyslogAuditEventHandler", |
| | | "config": { |
| | | // Optional |
| | | "buffering": { |
| | | "enabled": false, |
| | | "maxSize": 5000 |
| | | }, |
| | | "enabled": false, |
| | | "facility": "LOCAL0", |
| | | "host": "localhost", |
| | | "name": "syslog", |
| | | "port": 514, |
| | | // Permitted values: UDP, TCP |
| | | "transportProtocol": "TCP", |
| | | // Only applies to transportProtocol TCP, in which case it is mandatory |
| | | "connectionTimeout": "30", |
| | | "topics": [ |
| | | "ldap-acces", |
| | | "http-access" |
| | | ] |
| | | } |
| | | } |
| | | |
| | |
| | | { |
| | | "additionalTopics" : { |
| | | "http-access": { |
| | | "schema": { |
| | | "$schema": "http://json-schema.org/draft-04/schema#", |
| | | "id": "/", |
| | | "type": "object", |
| | | "properties": { |
| | | "_id": { |
| | | "description": "org.forgerock.audit.events.access.id", |
| | | "additionalTopics": { |
| | | "http-access": { |
| | | "schema": { |
| | | "$schema": "http://json-schema.org/draft-04/schema#", |
| | | "id": "/", |
| | | "type": "object", |
| | | "properties": { |
| | | "_id": { |
| | | "description": "org.forgerock.audit.events.access.id", |
| | | "type": "string" |
| | | }, |
| | | "timestamp": { |
| | | "description": "org.forgerock.audit.events.access.timestamp", |
| | | "type": "string" |
| | | }, |
| | | "eventName": { |
| | | "description": "org.forgerock.audit.events.access.eventName", |
| | | "type": "string" |
| | | }, |
| | | "transactionId": { |
| | | "description": "org.forgerock.audit.events.access.transactionId", |
| | | "type": "string" |
| | | }, |
| | | "userId": { |
| | | "description": "org.forgerock.audit.events.access.userId", |
| | | "type": "string" |
| | | }, |
| | | "trackingIds": { |
| | | "description": "org.forgerock.audit.events.access.trackingIds", |
| | | "type": "array", |
| | | "items": { |
| | | "id": "0", |
| | | "type": "string" |
| | | }, |
| | | "timestamp": { |
| | | "description": "org.forgerock.audit.events.access.timestamp", |
| | | "type": "string" |
| | | }, |
| | | "eventName": { |
| | | "description": "org.forgerock.audit.events.access.eventName", |
| | | "type": "string" |
| | | }, |
| | | "transactionId": { |
| | | "description": "org.forgerock.audit.events.access.transactionId", |
| | | "type": "string" |
| | | }, |
| | | "userId": { |
| | | "description": "org.forgerock.audit.events.access.userId", |
| | | "type": "string" |
| | | }, |
| | | "trackingIds": { |
| | | "description": "org.forgerock.audit.events.access.trackingIds", |
| | | "type": "array", |
| | | "items": { |
| | | "id": "0", |
| | | } |
| | | }, |
| | | "server": { |
| | | "type": "object", |
| | | "properties": { |
| | | "ip": { |
| | | "description": "org.forgerock.audit.events.access.server.ip", |
| | | "type": "string" |
| | | }, |
| | | "port": { |
| | | "description": "org.forgerock.audit.events.access.server.port", |
| | | "type": "string" |
| | | } |
| | | }, |
| | | "server": { |
| | | "type": "object", |
| | | "properties": { |
| | | "ip": { |
| | | "description": "org.forgerock.audit.events.access.server.ip", |
| | | "type": "string" |
| | | }, |
| | | "port": { |
| | | "description": "org.forgerock.audit.events.access.server.port", |
| | | "type": "string" |
| | | } |
| | | } |
| | | }, |
| | | "client": { |
| | | "type": "object", |
| | | "properties": { |
| | | "host": { |
| | | "description": "org.forgerock.audit.events.access.client.host", |
| | | "type": "string" |
| | | }, |
| | | "ip": { |
| | | "description": "org.forgerock.audit.events.access.client.ip", |
| | | "type": "string" |
| | | }, |
| | | "port": { |
| | | "description": "org.forgerock.audit.events.access.client.port", |
| | | "type": "string" |
| | | } |
| | | }, |
| | | "client": { |
| | | "type": "object", |
| | | "properties": { |
| | | "host": { |
| | | "description": "org.forgerock.audit.events.access.client.host", |
| | | "type": "string" |
| | | }, |
| | | "ip": { |
| | | "description": "org.forgerock.audit.events.access.client.ip", |
| | | "type": "string" |
| | | }, |
| | | "port": { |
| | | "description": "org.forgerock.audit.events.access.client.port", |
| | | "type": "string" |
| | | } |
| | | } |
| | | }, |
| | | "request": { |
| | | "type": "object", |
| | | "properties": { |
| | | "protocol": { |
| | | "description": "org.forgerock.audit.events.access.request.protocol", |
| | | "type": "string" |
| | | }, |
| | | "operation": { |
| | | "description": "org.forgerock.audit.events.access.request.operation", |
| | | "type": "string" |
| | | }, |
| | | "detail": { |
| | | "description": "org.forgerock.audit.events.access.request.detail", |
| | | "type": "object" |
| | | } |
| | | }, |
| | | "request": { |
| | | "type": "object", |
| | | "properties": { |
| | | "protocol": { |
| | | "description": "org.forgerock.audit.events.access.request.protocol", |
| | | "type": "string" |
| | | }, |
| | | "operation": { |
| | | "description": "org.forgerock.audit.events.access.request.operation", |
| | | "type": "string" |
| | | }, |
| | | "detail": { |
| | | "description": "org.forgerock.audit.events.access.request.detail", |
| | | "type": "object" |
| | | } |
| | | } |
| | | }, |
| | | "http": { |
| | | "type": "object", |
| | | "properties": { |
| | | "request": { |
| | | "description": "org.forgerock.audit.events.access.http.request", |
| | | "type": "object", |
| | | "properties": { |
| | | "secure": { |
| | | "description": "org.forgerock.audit.events.access.http.secure", |
| | | "type": "boolean" |
| | | }, |
| | | "method": { |
| | | "description": "org.forgerock.audit.events.access.http.method", |
| | | "type": "string" |
| | | }, |
| | | "path": { |
| | | "description": "org.forgerock.audit.events.access.http.path", |
| | | "type": "string" |
| | | }, |
| | | "queryParameters": { |
| | | "description": "org.forgerock.audit.events.access.http.queryParameters", |
| | | "type": "object", |
| | | "additionalProperties": { |
| | | "type": "array", |
| | | "items": { |
| | | "type": "string" |
| | | } |
| | | } |
| | | }, |
| | | "http": { |
| | | "type": "object", |
| | | "properties": { |
| | | "request": { |
| | | "description": "org.forgerock.audit.events.access.http.request", |
| | | "type": "object", |
| | | "properties": { |
| | | "secure": { |
| | | "description": "org.forgerock.audit.events.access.http.secure", |
| | | "type": "boolean" |
| | | }, |
| | | "method": { |
| | | "description": "org.forgerock.audit.events.access.http.method", |
| | | "type": "string" |
| | | }, |
| | | "path": { |
| | | "description": "org.forgerock.audit.events.access.http.path", |
| | | "type": "string" |
| | | }, |
| | | "queryParameters": { |
| | | "description": "org.forgerock.audit.events.access.http.queryParameters", |
| | | "type": "object", |
| | | "additionalProperties": { |
| | | "type": "array", |
| | | "items": { |
| | | "type": "string" |
| | | } |
| | | }, |
| | | "headers": { |
| | | "description": "org.forgerock.audit.events.access.http.headers", |
| | | "type": "object", |
| | | "additionalProperties": { |
| | | "type": "array", |
| | | "items": { |
| | | "type": "string" |
| | | } |
| | | } |
| | | }, |
| | | "headers": { |
| | | "description": "org.forgerock.audit.events.access.http.headers", |
| | | "type": "object", |
| | | "additionalProperties": { |
| | | "type": "array", |
| | | "items": { |
| | | "type": "string" |
| | | } |
| | | }, |
| | | "cookies": { |
| | | "description": "org.forgerock.audit.events.access.http.cookies", |
| | | "type": "object", |
| | | "additionalProperties": { |
| | | } |
| | | }, |
| | | "cookies": { |
| | | "description": "org.forgerock.audit.events.access.http.cookies", |
| | | "type": "object", |
| | | "additionalProperties": { |
| | | "type": "string" |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | "response": { |
| | | "description": "org.forgerock.audit.events.access.http.response", |
| | | "type": "object", |
| | | "properties": { |
| | | "headers": { |
| | | "description": "org.forgerock.audit.events.access.http.request.headers", |
| | | "type": "object", |
| | | "additionalProperties": { |
| | | "type": "array", |
| | | "items": { |
| | | "type": "string" |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | "response": { |
| | | "description": "org.forgerock.audit.events.access.http.response", |
| | | "type": "object", |
| | | "properties": { |
| | | "headers": { |
| | | "description": "org.forgerock.audit.events.access.http.request.headers", |
| | | "type": "object", |
| | | "additionalProperties": { |
| | | "type": "array", |
| | | "items": { |
| | | "type": "string" |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | "response": { |
| | | "type": "object", |
| | | "properties": { |
| | | "status": { |
| | | "description": "org.forgerock.audit.events.access.response.status", |
| | | "type": "string" |
| | | }, |
| | | "statusCode": { |
| | | "description": "org.forgerock.audit.events.access.response.statusCode", |
| | | "type": "string" |
| | | }, |
| | | "detail": { |
| | | "description": "org.forgerock.audit.events.access.response.detail", |
| | | "type": "string" |
| | | }, |
| | | "elapsedTime": { |
| | | "description": "org.forgerock.audit.events.access.response.elapsedTime", |
| | | "type": "integer" |
| | | }, |
| | | "elapsedTimeUnits": { |
| | | "description": "org.forgerock.audit.events.access.response.elapsedTimeUnits", |
| | | "type": "string" |
| | | } |
| | | } |
| | | }, |
| | | "response": { |
| | | "type": "object", |
| | | "properties": { |
| | | "status": { |
| | | "description": "org.forgerock.audit.events.access.response.status", |
| | | "type": "string" |
| | | }, |
| | | "statusCode": { |
| | | "description": "org.forgerock.audit.events.access.response.statusCode", |
| | | "type": "string" |
| | | }, |
| | | "detail": { |
| | | "description": "org.forgerock.audit.events.access.response.detail", |
| | | "type": "string" |
| | | }, |
| | | "elapsedTime": { |
| | | "description": "org.forgerock.audit.events.access.response.elapsedTime", |
| | | "type": "integer" |
| | | }, |
| | | "elapsedTimeUnits": { |
| | | "description": "org.forgerock.audit.events.access.response.elapsedTimeUnits", |
| | | "type": "string" |
| | | } |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | "ldap-access": { |
| | | "schema": { |
| | | "$schema": "http://json-schema.org/draft-04/schema#", |
| | | "id": "/", |
| | | "type": "object", |
| | | "properties": { |
| | | "_id": { |
| | | "description": "org.forgerock.audit.events.access.id", |
| | | "type": "string" |
| | | }, |
| | | "timestamp": { |
| | | "description": "org.forgerock.audit.events.access.timestamp", |
| | | "type": "string" |
| | | }, |
| | | "eventName": { |
| | | "description": "org.forgerock.audit.events.access.eventName", |
| | | "type": "string" |
| | | }, |
| | | "transactionId": { |
| | | "description": "org.forgerock.audit.events.access.transactionId", |
| | | "type": "string" |
| | | }, |
| | | "userId": { |
| | | "description": "org.forgerock.audit.events.access.userId", |
| | | "type": "string" |
| | | }, |
| | | "runAs": { |
| | | "description": "org.forgerock.audit.events.activity.runAs", |
| | | "type": "string" |
| | | }, |
| | | "server": { |
| | | "type": "object", |
| | | "properties": { |
| | | "ip": { |
| | | "description": "org.forgerock.audit.events.access.server.ip", |
| | | "type": "string" |
| | | }, |
| | | "port": { |
| | | "description": "org.forgerock.audit.events.access.server.port", |
| | | "type": "string" |
| | | } |
| | | } |
| | | }, |
| | | "ldap-access": { |
| | | "schema": { |
| | | "$schema": "http://json-schema.org/draft-04/schema#", |
| | | "id": "/", |
| | | "type": "object", |
| | | "properties": { |
| | | "_id": { |
| | | "description": "org.forgerock.audit.events.access.id", |
| | | "type": "string" |
| | | }, |
| | | "timestamp": { |
| | | "description": "org.forgerock.audit.events.access.timestamp", |
| | | "type": "string" |
| | | }, |
| | | "eventName": { |
| | | "description": "org.forgerock.audit.events.access.eventName", |
| | | "type": "string" |
| | | }, |
| | | "transactionId": { |
| | | "description": "org.forgerock.audit.events.access.transactionId", |
| | | "type": "string" |
| | | }, |
| | | "userId": { |
| | | "description": "org.forgerock.audit.events.access.userId", |
| | | "type": "string" |
| | | }, |
| | | "runAs": { |
| | | "description": "org.forgerock.audit.events.activity.runAs", |
| | | "type": "string" |
| | | }, |
| | | "server": { |
| | | "type": "object", |
| | | "properties": { |
| | | "ip": { |
| | | "description": "org.forgerock.audit.events.access.server.ip", |
| | | "type": "string" |
| | | }, |
| | | "port": { |
| | | "description": "org.forgerock.audit.events.access.server.port", |
| | | "type": "string" |
| | | } |
| | | }, |
| | | "client": { |
| | | "type": "object", |
| | | "properties": { |
| | | "host": { |
| | | "description": "org.forgerock.audit.events.access.client.host", |
| | | "type": "string" |
| | | }, |
| | | "ip": { |
| | | "description": "org.forgerock.audit.events.access.client.ip", |
| | | "type": "string" |
| | | }, |
| | | "port": { |
| | | "description": "org.forgerock.audit.events.access.client.port", |
| | | "type": "string" |
| | | } |
| | | } |
| | | }, |
| | | "client": { |
| | | "type": "object", |
| | | "properties": { |
| | | "host": { |
| | | "description": "org.forgerock.audit.events.access.client.host", |
| | | "type": "string" |
| | | }, |
| | | "ip": { |
| | | "description": "org.forgerock.audit.events.access.client.ip", |
| | | "type": "string" |
| | | }, |
| | | "port": { |
| | | "description": "org.forgerock.audit.events.access.client.port", |
| | | "type": "string" |
| | | } |
| | | }, |
| | | "request": { |
| | | "type": "object", |
| | | "properties": { |
| | | "protocol": { |
| | | "description": "org.forgerock.audit.events.access.request.protocol", |
| | | "type": "string" |
| | | }, |
| | | "operation": { |
| | | "description": "org.forgerock.audit.events.access.request.operation", |
| | | "type": "string" |
| | | }, |
| | | "connId": { |
| | | "id": "connId", |
| | | "type": "string" |
| | | }, |
| | | "msgId": { |
| | | "id": "msgId", |
| | | "type": "string" |
| | | }, |
| | | "dn": { |
| | | "id": "dn", |
| | | "type": "string" |
| | | }, |
| | | "scope": { |
| | | "id": "scope", |
| | | "type": "string" |
| | | }, |
| | | "filter": { |
| | | "id": "filter", |
| | | "type": "string" |
| | | }, |
| | | "attrs": { |
| | | "id": "attrs", |
| | | "type": "array", |
| | | "items": { |
| | | "type": "string" |
| | | } |
| | | }, |
| | | "authType": { |
| | | "id": "authType", |
| | | "type": "string" |
| | | }, |
| | | "controls": { |
| | | "id": "controls", |
| | | "type": "array", |
| | | "items": { |
| | | "type": "string" |
| | | } |
| | | }, |
| | | "attr" : { |
| | | "id" : "attr", |
| | | "type" : "string" |
| | | }, |
| | | "idToAbandon" : { |
| | | "id" : "idToAbandon", |
| | | "type" : "integer" |
| | | }, |
| | | "message" : { |
| | | "id" : "message", |
| | | "type" : "string" |
| | | }, |
| | | "name" : { |
| | | "id" : "name", |
| | | "type" : "string" |
| | | }, |
| | | "newRDN" : { |
| | | "id" : "newRDN", |
| | | "type" : "string" |
| | | }, |
| | | "newSup" : { |
| | | "id" : "newSup", |
| | | "type" : "string" |
| | | }, |
| | | "deleteOldRDN" : { |
| | | "id" : "deleteOldRDN", |
| | | "type" : "boolean" |
| | | }, |
| | | "oid" : { |
| | | "id" : "oid", |
| | | "type" : "string" |
| | | }, |
| | | "version" : { |
| | | "id" : "version", |
| | | "type" : "string" |
| | | }, |
| | | "opType": { |
| | | "id": "opType", |
| | | } |
| | | }, |
| | | "request": { |
| | | "type": "object", |
| | | "properties": { |
| | | "protocol": { |
| | | "description": "org.forgerock.audit.events.access.request.protocol", |
| | | "type": "string" |
| | | }, |
| | | "operation": { |
| | | "description": "org.forgerock.audit.events.access.request.operation", |
| | | "type": "string" |
| | | }, |
| | | "connId": { |
| | | "id": "connId", |
| | | "type": "string" |
| | | }, |
| | | "msgId": { |
| | | "id": "msgId", |
| | | "type": "string" |
| | | }, |
| | | "dn": { |
| | | "id": "dn", |
| | | "type": "string" |
| | | }, |
| | | "scope": { |
| | | "id": "scope", |
| | | "type": "string" |
| | | }, |
| | | "filter": { |
| | | "id": "filter", |
| | | "type": "string" |
| | | }, |
| | | "attrs": { |
| | | "id": "attrs", |
| | | "type": "array", |
| | | "items": { |
| | | "type": "string" |
| | | } |
| | | }, |
| | | "authType": { |
| | | "id": "authType", |
| | | "type": "string" |
| | | }, |
| | | "controls": { |
| | | "id": "controls", |
| | | "type": "array", |
| | | "items": { |
| | | "type": "string" |
| | | } |
| | | }, |
| | | "attr": { |
| | | "id": "attr", |
| | | "type": "string" |
| | | }, |
| | | "idToAbandon": { |
| | | "id": "idToAbandon", |
| | | "type": "integer" |
| | | }, |
| | | "message": { |
| | | "id": "message", |
| | | "type": "string" |
| | | }, |
| | | "name": { |
| | | "id": "name", |
| | | "type": "string" |
| | | }, |
| | | "newRDN": { |
| | | "id": "newRDN", |
| | | "type": "string" |
| | | }, |
| | | "newSup": { |
| | | "id": "newSup", |
| | | "type": "string" |
| | | }, |
| | | "deleteOldRDN": { |
| | | "id": "deleteOldRDN", |
| | | "type": "boolean" |
| | | }, |
| | | "oid": { |
| | | "id": "oid", |
| | | "type": "string" |
| | | }, |
| | | "version": { |
| | | "id": "version", |
| | | "type": "string" |
| | | }, |
| | | "opType": { |
| | | "id": "opType", |
| | | "type": "string" |
| | | } |
| | | }, |
| | | "response": { |
| | | "type": "object", |
| | | "properties": { |
| | | "status": { |
| | | "description": "org.forgerock.audit.events.access.response.status", |
| | | } |
| | | }, |
| | | "response": { |
| | | "type": "object", |
| | | "properties": { |
| | | "status": { |
| | | "description": "org.forgerock.audit.events.access.response.status", |
| | | "type": "string" |
| | | }, |
| | | "statusCode": { |
| | | "description": "org.forgerock.audit.events.access.response.statusCode", |
| | | "type": "string" |
| | | }, |
| | | "detail": { |
| | | "description": "org.forgerock.audit.events.access.response.detail", |
| | | "type": "string" |
| | | }, |
| | | "elapsedTime": { |
| | | "description": "org.forgerock.audit.events.access.response.elapsedTime", |
| | | "type": "integer" |
| | | }, |
| | | "elapsedTimeUnits": { |
| | | "description": "org.forgerock.audit.events.access.response.elapsedTimeUnits", |
| | | "type": "string" |
| | | }, |
| | | "nentries": { |
| | | "id": "nentries", |
| | | "type": "string" |
| | | }, |
| | | "controls": { |
| | | "id": "controls", |
| | | "type": "array", |
| | | "items": { |
| | | "type": "string" |
| | | }, |
| | | "statusCode": { |
| | | "description": "org.forgerock.audit.events.access.response.statusCode", |
| | | "type": "string" |
| | | }, |
| | | "detail": { |
| | | "description": "org.forgerock.audit.events.access.response.detail", |
| | | "type": "string" |
| | | }, |
| | | "elapsedTime": { |
| | | "description": "org.forgerock.audit.events.access.response.elapsedTime", |
| | | "type": "integer" |
| | | }, |
| | | "elapsedTimeUnits": { |
| | | "description": "org.forgerock.audit.events.access.response.elapsedTimeUnits", |
| | | "type": "string" |
| | | }, |
| | | "nentries": { |
| | | "id": "nentries", |
| | | "type": "string" |
| | | }, |
| | | "controls": { |
| | | "id": "controls", |
| | | "type": "array", |
| | | "items": { |
| | | "type": "string" |
| | | } |
| | | }, |
| | | "additionalItems" : { |
| | | "id" : "additionalItems", |
| | | "type" : "string" |
| | | }, |
| | | "failureReason" : { |
| | | "id" : "failureReason", |
| | | "type" : "string" |
| | | }, |
| | | "maskedResult" : { |
| | | "id" : "maskedResult", |
| | | "type" : "integer" |
| | | }, |
| | | "maskedMessage" : { |
| | | "id" : "maskedMessage", |
| | | "type" : "string" |
| | | }, |
| | | "reason" : { |
| | | "id" : "reason", |
| | | "type" : "string" |
| | | } |
| | | }, |
| | | "additionalItems": { |
| | | "id": "additionalItems", |
| | | "type": "string" |
| | | }, |
| | | "failureReason": { |
| | | "id": "failureReason", |
| | | "type": "string" |
| | | }, |
| | | "maskedResult": { |
| | | "id": "maskedResult", |
| | | "type": "integer" |
| | | }, |
| | | "maskedMessage": { |
| | | "id": "maskedMessage", |
| | | "type": "string" |
| | | }, |
| | | "reason": { |
| | | "id": "reason", |
| | | "type": "string" |
| | | } |
| | | } |
| | | } |
| | | } |