|
PACS System 0.1.0
PACS DICOM system library
|
RFC 3881 XML audit message generator. More...
#include <atna_audit_logger.h>

Static Public Member Functions | |
| static std::string | to_xml (const atna_audit_message &message) |
| Serialize an audit message to RFC 3881 XML. | |
| static atna_audit_message | build_application_activity (const std::string &source_id, const std::string &app_name, bool is_start, atna_event_outcome outcome=atna_event_outcome::success) |
| Build Application Activity audit message (start/stop) | |
| static atna_audit_message | build_dicom_instances_accessed (const std::string &source_id, const std::string &user_id, const std::string &user_ip, const std::string &study_uid, const std::string &patient_id="", atna_event_outcome outcome=atna_event_outcome::success) |
| Build DICOM Instances Accessed audit message (C-FIND, QIDO-RS) | |
| static atna_audit_message | build_dicom_instances_transferred (const std::string &source_id, const std::string &source_ae, const std::string &source_ip, const std::string &dest_ae, const std::string &dest_ip, const std::string &study_uid, const std::string &patient_id="", bool is_import=true, atna_event_outcome outcome=atna_event_outcome::success) |
| Build DICOM Instances Transferred audit message (C-STORE, C-MOVE) | |
| static atna_audit_message | build_study_deleted (const std::string &source_id, const std::string &user_id, const std::string &user_ip, const std::string &study_uid, const std::string &patient_id="", atna_event_outcome outcome=atna_event_outcome::success) |
| Build Study Deleted audit message. | |
| static atna_audit_message | build_security_alert (const std::string &source_id, const std::string &user_id, const std::string &user_ip, const std::string &alert_description, atna_event_outcome outcome=atna_event_outcome::serious_failure) |
| Build Security Alert audit message. | |
| static atna_audit_message | build_user_authentication (const std::string &source_id, const std::string &user_id, const std::string &user_ip, bool is_login, atna_event_outcome outcome=atna_event_outcome::success) |
| Build User Authentication audit message (login/logout) | |
| static atna_audit_message | build_query (const std::string &source_id, const std::string &user_id, const std::string &user_ip, const std::string &query_data, const std::string &patient_id="", atna_event_outcome outcome=atna_event_outcome::success) |
| Build Query audit message (C-FIND, QIDO-RS) | |
| static atna_audit_message | build_export (const std::string &source_id, const std::string &user_id, const std::string &user_ip, const std::string &dest_id, const std::string &study_uid, const std::string &patient_id="", atna_event_outcome outcome=atna_event_outcome::success) |
| Build Export audit message (media/network export) | |
Static Private Member Functions | |
| static std::string | xml_escape (const std::string &str) |
| static std::string | format_datetime (std::chrono::system_clock::time_point tp) |
| static std::string | format_coded_value_attrs (const atna_coded_value &cv) |
RFC 3881 XML audit message generator.
Generates well-formed XML audit messages compliant with DICOM PS3.15 Annex A.5 / RFC 3881.
Definition at line 423 of file atna_audit_logger.h.
|
staticnodiscard |
Build Application Activity audit message (start/stop)
| source_id | Audit source identifier |
| app_name | Application name |
| is_start | true for application start, false for stop |
| outcome | Event outcome |
Definition at line 156 of file atna_audit_logger.cpp.
References kcenon::pacs::security::atna_audit_message::active_participants, kcenon::pacs::security::atna_role_ids::application, kcenon::pacs::security::atna_event_ids::application_activity, kcenon::pacs::security::atna_event_types::application_start, kcenon::pacs::security::atna_event_types::application_stop, kcenon::pacs::security::atna_audit_message::audit_source, kcenon::pacs::security::atna_audit_source::audit_source_id, kcenon::pacs::security::atna_audit_message::event_action, kcenon::pacs::security::atna_audit_message::event_date_time, kcenon::pacs::security::atna_audit_message::event_id, kcenon::pacs::security::atna_audit_message::event_outcome, kcenon::pacs::security::atna_audit_message::event_type_codes, and kcenon::pacs::security::execute.
|
staticnodiscard |
Build DICOM Instances Accessed audit message (C-FIND, QIDO-RS)
| source_id | Audit source identifier |
| user_id | User/AE Title that performed the access |
| user_ip | Source IP address |
| study_uid | Study Instance UID accessed |
| patient_id | Patient ID (if available) |
| outcome | Event outcome |
Definition at line 182 of file atna_audit_logger.cpp.
References kcenon::pacs::security::atna_audit_message::active_participants, kcenon::pacs::security::atna_audit_message::audit_source, kcenon::pacs::security::atna_audit_source::audit_source_id, kcenon::pacs::security::atna_event_ids::dicom_instances_accessed, kcenon::pacs::security::atna_audit_message::event_action, kcenon::pacs::security::atna_audit_message::event_date_time, kcenon::pacs::security::atna_audit_message::event_id, kcenon::pacs::security::atna_audit_message::event_outcome, kcenon::pacs::security::ip_address, kcenon::pacs::security::atna_participant_object::object_id, kcenon::pacs::security::atna_participant_object::object_id_type_code, kcenon::pacs::security::atna_participant_object::object_role, kcenon::pacs::security::atna_participant_object::object_type, kcenon::pacs::security::atna_audit_message::participant_objects, kcenon::pacs::security::patient, kcenon::pacs::security::atna_object_id_types::patient_number, kcenon::pacs::security::person, kcenon::pacs::security::read, kcenon::pacs::security::report, kcenon::pacs::security::atna_object_id_types::study_instance_uid, and kcenon::pacs::security::system_object.
|
staticnodiscard |
Build DICOM Instances Transferred audit message (C-STORE, C-MOVE)
| source_id | Audit source identifier |
| source_ae | Source AE Title |
| source_ip | Source IP address |
| dest_ae | Destination AE Title |
| dest_ip | Destination IP address |
| study_uid | Study Instance UID |
| patient_id | Patient ID (if available) |
| is_import | true if receiving (import), false if sending (export) |
| outcome | Event outcome |
Definition at line 228 of file atna_audit_logger.cpp.
References kcenon::pacs::security::atna_audit_message::active_participants, kcenon::pacs::security::atna_audit_message::audit_source, kcenon::pacs::security::atna_audit_source::audit_source_id, kcenon::pacs::security::create, kcenon::pacs::security::atna_role_ids::destination, kcenon::pacs::security::atna_event_ids::dicom_instances_transferred, kcenon::pacs::security::atna_audit_message::event_action, kcenon::pacs::security::atna_audit_message::event_date_time, kcenon::pacs::security::atna_audit_message::event_id, kcenon::pacs::security::atna_audit_message::event_outcome, kcenon::pacs::security::ip_address, kcenon::pacs::security::atna_active_participant::network_access_point_id, kcenon::pacs::security::atna_active_participant::network_access_point_type, kcenon::pacs::security::atna_participant_object::object_id, kcenon::pacs::security::atna_participant_object::object_id_type_code, kcenon::pacs::security::atna_participant_object::object_role, kcenon::pacs::security::atna_participant_object::object_type, kcenon::pacs::security::atna_audit_message::participant_objects, kcenon::pacs::security::patient, kcenon::pacs::security::atna_object_id_types::patient_number, kcenon::pacs::security::person, kcenon::pacs::security::read, kcenon::pacs::security::report, kcenon::pacs::security::atna_active_participant::role_id_codes, kcenon::pacs::security::atna_role_ids::source, kcenon::pacs::security::atna_object_id_types::study_instance_uid, kcenon::pacs::security::system_object, kcenon::pacs::security::atna_active_participant::user_id, and kcenon::pacs::security::atna_active_participant::user_is_requestor.
Referenced by kcenon::pacs::security::atna_service_auditor::audit_instance_stored().

|
staticnodiscard |
Build Export audit message (media/network export)
| source_id | Audit source identifier |
| user_id | User/AE Title that exported data |
| user_ip | Source IP address |
| dest_id | Destination identifier |
| study_uid | Study Instance UID |
| patient_id | Patient ID |
| outcome | Event outcome |
Definition at line 438 of file atna_audit_logger.cpp.
References kcenon::pacs::security::atna_audit_message::active_participants, kcenon::pacs::security::atna_audit_message::audit_source, kcenon::pacs::security::atna_audit_source::audit_source_id, kcenon::pacs::security::atna_event_ids::data_export, kcenon::pacs::security::atna_role_ids::destination, kcenon::pacs::security::atna_audit_message::event_action, kcenon::pacs::security::atna_audit_message::event_date_time, kcenon::pacs::security::atna_audit_message::event_id, kcenon::pacs::security::atna_audit_message::event_outcome, kcenon::pacs::security::ip_address, kcenon::pacs::security::atna_active_participant::network_access_point_id, kcenon::pacs::security::atna_active_participant::network_access_point_type, kcenon::pacs::security::atna_participant_object::object_id, kcenon::pacs::security::atna_participant_object::object_id_type_code, kcenon::pacs::security::atna_participant_object::object_role, kcenon::pacs::security::atna_participant_object::object_type, kcenon::pacs::security::atna_audit_message::participant_objects, kcenon::pacs::security::patient, kcenon::pacs::security::atna_object_id_types::patient_number, kcenon::pacs::security::person, kcenon::pacs::security::read, kcenon::pacs::security::report, kcenon::pacs::security::atna_active_participant::role_id_codes, kcenon::pacs::security::atna_role_ids::source, kcenon::pacs::security::atna_object_id_types::study_instance_uid, kcenon::pacs::security::system_object, kcenon::pacs::security::atna_active_participant::user_id, and kcenon::pacs::security::atna_active_participant::user_is_requestor.
|
staticnodiscard |
Build Query audit message (C-FIND, QIDO-RS)
| source_id | Audit source identifier |
| user_id | User/AE Title that performed the query |
| user_ip | Source IP address |
| query_data | The query parameters (will be encoded) |
| patient_id | Patient ID from query (if available) |
| outcome | Event outcome |
Definition at line 393 of file atna_audit_logger.cpp.
References kcenon::pacs::security::atna_audit_message::active_participants, kcenon::pacs::security::atna_audit_message::audit_source, kcenon::pacs::security::atna_audit_source::audit_source_id, kcenon::pacs::security::atna_audit_message::event_action, kcenon::pacs::security::atna_audit_message::event_date_time, kcenon::pacs::security::atna_audit_message::event_id, kcenon::pacs::security::atna_audit_message::event_outcome, kcenon::pacs::security::execute, kcenon::pacs::security::ip_address, kcenon::pacs::security::atna_participant_object::object_id, kcenon::pacs::security::atna_participant_object::object_id_type_code, kcenon::pacs::security::atna_participant_object::object_query, kcenon::pacs::security::atna_participant_object::object_role, kcenon::pacs::security::atna_participant_object::object_type, kcenon::pacs::security::atna_audit_message::participant_objects, kcenon::pacs::security::patient, kcenon::pacs::security::atna_object_id_types::patient_number, kcenon::pacs::security::person, kcenon::pacs::security::atna_event_ids::query, kcenon::pacs::security::query, kcenon::pacs::security::atna_object_id_types::sop_class_uid, kcenon::pacs::security::atna_role_ids::source, and kcenon::pacs::security::system_object.
Referenced by kcenon::pacs::security::atna_service_auditor::audit_query().

|
staticnodiscard |
Build Security Alert audit message.
| source_id | Audit source identifier |
| user_id | User/system that triggered the alert |
| user_ip | Source IP address |
| alert_description | Description of the security alert |
| outcome | Event outcome |
Definition at line 333 of file atna_audit_logger.cpp.
References kcenon::pacs::security::atna_audit_message::active_participants, kcenon::pacs::security::atna_audit_message::audit_source, kcenon::pacs::security::atna_audit_source::audit_source_id, kcenon::pacs::security::atna_audit_message::event_action, kcenon::pacs::security::atna_audit_message::event_date_time, kcenon::pacs::security::atna_audit_message::event_id, kcenon::pacs::security::atna_audit_message::event_outcome, kcenon::pacs::security::execute, kcenon::pacs::security::ip_address, kcenon::pacs::security::atna_participant_object::object_id, kcenon::pacs::security::atna_participant_object::object_name, kcenon::pacs::security::atna_participant_object::object_role, kcenon::pacs::security::atna_participant_object::object_type, kcenon::pacs::security::atna_audit_message::participant_objects, kcenon::pacs::security::atna_event_ids::security_alert, kcenon::pacs::security::security_resource, and kcenon::pacs::security::system_object.
Referenced by kcenon::pacs::security::atna_service_auditor::audit_security_alert().

|
staticnodiscard |
Build Study Deleted audit message.
| source_id | Audit source identifier |
| user_id | User/AE Title that deleted the study |
| user_ip | Source IP address |
| study_uid | Deleted Study Instance UID |
| patient_id | Patient ID |
| outcome | Event outcome |
Definition at line 289 of file atna_audit_logger.cpp.
References kcenon::pacs::security::atna_audit_message::active_participants, kcenon::pacs::security::atna_audit_message::audit_source, kcenon::pacs::security::atna_audit_source::audit_source_id, kcenon::pacs::security::delete_action, kcenon::pacs::security::atna_event_ids::dicom_study_deleted, kcenon::pacs::security::atna_audit_message::event_action, kcenon::pacs::security::atna_audit_message::event_date_time, kcenon::pacs::security::atna_audit_message::event_id, kcenon::pacs::security::atna_audit_message::event_outcome, kcenon::pacs::security::ip_address, kcenon::pacs::security::atna_participant_object::object_id, kcenon::pacs::security::atna_participant_object::object_id_type_code, kcenon::pacs::security::atna_participant_object::object_role, kcenon::pacs::security::atna_participant_object::object_type, kcenon::pacs::security::atna_audit_message::participant_objects, kcenon::pacs::security::patient, kcenon::pacs::security::atna_object_id_types::patient_number, kcenon::pacs::security::person, kcenon::pacs::security::report, kcenon::pacs::security::atna_object_id_types::study_instance_uid, and kcenon::pacs::security::system_object.
|
staticnodiscard |
Build User Authentication audit message (login/logout)
| source_id | Audit source identifier |
| user_id | User that authenticated |
| user_ip | Source IP address |
| is_login | true for login, false for logout |
| outcome | Event outcome (success/failure) |
Definition at line 366 of file atna_audit_logger.cpp.
References kcenon::pacs::security::atna_audit_message::active_participants, kcenon::pacs::security::atna_audit_message::audit_source, kcenon::pacs::security::atna_audit_source::audit_source_id, kcenon::pacs::security::atna_audit_message::event_action, kcenon::pacs::security::atna_audit_message::event_date_time, kcenon::pacs::security::atna_audit_message::event_id, kcenon::pacs::security::atna_audit_message::event_outcome, kcenon::pacs::security::atna_audit_message::event_type_codes, kcenon::pacs::security::execute, kcenon::pacs::security::ip_address, kcenon::pacs::security::atna_event_types::login, kcenon::pacs::security::atna_event_types::logout, and kcenon::pacs::security::atna_event_ids::user_authentication.
Referenced by kcenon::pacs::security::atna_service_auditor::audit_authentication().

|
staticnodiscardprivate |
Definition at line 538 of file atna_audit_logger.cpp.
References xml_escape().
Referenced by to_xml().


|
staticnodiscardprivate |
Definition at line 516 of file atna_audit_logger.cpp.
Referenced by to_xml().

|
staticnodiscard |
Serialize an audit message to RFC 3881 XML.
| message | The audit message to serialize |
Definition at line 18 of file atna_audit_logger.cpp.
References kcenon::pacs::security::atna_audit_message::active_participants, kcenon::pacs::security::atna_audit_source::audit_enterprise_site_id, kcenon::pacs::security::atna_audit_message::audit_source, kcenon::pacs::security::atna_audit_source::audit_source_id, kcenon::pacs::security::atna_audit_source::audit_source_type_codes, kcenon::pacs::security::atna_audit_message::event_action, kcenon::pacs::security::atna_audit_message::event_date_time, kcenon::pacs::security::atna_audit_message::event_id, kcenon::pacs::security::atna_audit_message::event_outcome, kcenon::pacs::security::atna_audit_message::event_type_codes, format_coded_value_attrs(), format_datetime(), kcenon::pacs::security::atna_audit_message::participant_objects, and xml_escape().
Referenced by kcenon::pacs::security::atna_service_auditor::send_audit().


|
staticnodiscardprivate |
Definition at line 498 of file atna_audit_logger.cpp.
Referenced by format_coded_value_attrs(), and to_xml().
