PACS System 0.1.0
PACS DICOM system library
Loading...
Searching...
No Matches
atna_config.h
Go to the documentation of this file.
1
16#ifndef PACS_SECURITY_ATNA_CONFIG_HPP
17#define PACS_SECURITY_ATNA_CONFIG_HPP
18
20
21#include <string>
22#include <string_view>
23#include <vector>
24
25namespace kcenon::pacs::security {
26
27// =============================================================================
28// ATNA Audit Configuration
29// =============================================================================
30
54 bool enabled{false};
55
57 std::string audit_source_id{"PACS_SYSTEM"};
58
61
62 // -- Event filtering --
63
65 bool audit_storage{true};
66
68 bool audit_query{true};
69
72
75};
76
77// =============================================================================
78// Default Configuration
79// =============================================================================
80
91[[nodiscard]] atna_config make_default_atna_config();
92
93// =============================================================================
94// JSON Serialization
95// =============================================================================
96
106[[nodiscard]] std::string to_json(const atna_config& config);
107
117[[nodiscard]] atna_config parse_atna_config(std::string_view json_str);
118
119// =============================================================================
120// Validation
121// =============================================================================
122
127 bool valid{true};
128 std::vector<std::string> errors;
129};
130
143[[nodiscard]] atna_config_validation validate(const atna_config& config);
144
145} // namespace kcenon::pacs::security
146
147#endif // PACS_SECURITY_ATNA_CONFIG_HPP
Syslog transport for ATNA audit messages (RFC 5424/5425/5426)
std::string to_json(const atna_config &config)
Serialize an atna_config to a JSON string.
atna_config make_default_atna_config()
Create a default ATNA configuration.
atna_config parse_atna_config(std::string_view json_str)
Parse an atna_config from a JSON string.
atna_config_validation validate(const atna_config &config)
Validate an ATNA configuration.
Validation result for ATNA configuration.
Configuration for ATNA audit logging.
Definition atna_config.h:52
bool audit_security_alerts
Audit security alert events (access denied, etc.)
Definition atna_config.h:74
syslog_transport_config transport
Syslog transport configuration.
Definition atna_config.h:60
bool enabled
Master enable/disable for ATNA audit logging.
Definition atna_config.h:54
bool audit_storage
Audit C-STORE events (DICOM Instances Transferred)
Definition atna_config.h:65
bool audit_query
Audit C-FIND events (Query)
Definition atna_config.h:68
bool audit_authentication
Audit login/logout events (User Authentication)
Definition atna_config.h:71
std::string audit_source_id
Audit source identifier (e.g., "PACS_SYSTEM_01")
Definition atna_config.h:57
Configuration for the Syslog transport.