View Issue Details

IDProjectCategoryView StatusLast Update
0013798mantisbtapi soappublic2014-01-23 17:57
Reporterrombert Assigned To 
PrioritynormalSeverityfeatureReproducibilityN/A
Status acknowledgedResolutionopen 
Summary0013798: Provide audit logging for SOAP calls
Description

The SOAP API should be auditable using the current logging mechanism . Each method call should be logged, including:

  • method name
  • username
  • primary id

The primary id, if any, is the id of the single object handled by the method. For instance, when updating a bug it is the bug id.

TagsNo tags attached.

Activities

vboctor

vboctor

2012-03-06 15:11

manager   ~0031389

Here are some thoughts:

  1. I think of this as a log that has the following columns: timestamp, method name, user name, client-ip, transaction id, primary object id, data. I'm also OK with the object id being folded into the data field.
  2. A single method call can emit multiple rows. Each set of rows emitted from the same call with share a transaction id.
  3. The data field of each row will communicate useful data, e.g. start of a method, some parameters, access denied, object not found, end of method, etc.
  4. Fields that are common for all rows emitted from a row should be set at the entry of the method, and should automatically show up in logs emitted by the method or core APIs calls within the method. The latter can be added over time.
  5. The logging used should fit with the existing logging technology and should work with plugins like the EventLog plugins that allow logging to the database and viewing such logs via the web interface.
rombert

rombert

2012-03-06 17:45

reporter   ~0031398

Sounds good to me. One note - 'Fields that are common for all rows emitted from a row' should be 'Fields that are common for all rows emitted from a method ' , right?

dregad

dregad

2012-03-07 03:09

developer   ~0031403

If storing data in the log, we should be careful that this does not contain any sensitive information.

rombert

rombert

2012-03-07 10:10

reporter   ~0031404

(In reply to comment 0013798:0031403)

If storing data in the log, we should be careful that this does not contain any
sensitive information.

The safest way to do that is to have a whitelist approach, e.g. log project id, username and issue_id , rather than exclude specific fields.