Skip to content

Commit ac8e6ce

Browse files
EXT-1497 Check AppData before audit enabled (#24877) (#24996)
Co-authored-by: Vasily Gerasimov <[email protected]>
1 parent 4453b1e commit ac8e6ce

File tree

4 files changed

+25
-3
lines changed

4 files changed

+25
-3
lines changed

ydb/core/mon/audit/audit.cpp

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,16 @@ namespace {
5959
}
6060
}
6161

62+
bool TAuditCtx::AuditEnabled(NKikimrConfig::TAuditConfig::TLogClassConfig::ELogPhase logPhase, NACLibProto::ESubjectType subjectType)
63+
{
64+
if (NKikimr::HasAppData()) {
65+
return NKikimr::AppData()->AuditConfig.EnableLogging(NKikimrConfig::TAuditConfig::TLogClassConfig::ClusterAdmin,
66+
logPhase, subjectType);
67+
}
68+
return false;
69+
}
70+
71+
6272
void TAuditCtx::AddAuditLogPart(TStringBuf name, const TString& value) {
6373
Parts.emplace_back(name, value);
6474
}
@@ -151,9 +161,7 @@ void TAuditCtx::SetSubjectType(NACLibProto::ESubjectType subjectType) {
151161
}
152162

153163
void TAuditCtx::LogAudit(ERequestStatus status, const TString& reason, NKikimrConfig::TAuditConfig::TLogClassConfig::ELogPhase logPhase) {
154-
auto auditEnabled = NKikimr::AppData()->AuditConfig.EnableLogging(NKikimrConfig::TAuditConfig::TLogClassConfig::ClusterAdmin, logPhase, SubjectType);
155-
156-
if (!Auditable || !auditEnabled) {
164+
if (!Auditable || !AuditEnabled(logPhase, SubjectType)) {
157165
return;
158166
}
159167

ydb/core/mon/audit/audit.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ class TAuditCtx {
2626
void LogOnReceived();
2727
void LogOnCompleted(const NHttp::THttpOutgoingResponsePtr& response);
2828
void SetSubjectType(NACLibProto::ESubjectType subjectType);
29+
static bool AuditEnabled(NKikimrConfig::TAuditConfig::TLogClassConfig::ELogPhase logPhase, NACLibProto::ESubjectType subjectType);
2930

3031
private:
3132
void AddAuditLogPart(TStringBuf name, const TString& value);

ydb/core/mon/audit/audit_ut.cpp

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
#include <ydb/core/mon/audit/audit.h>
2+
3+
#include <library/cpp/testing/unittest/registar.h>
4+
#include <library/cpp/testing/unittest/tests_data.h>
5+
6+
using namespace NMonitoring::NAudit;
7+
8+
Y_UNIT_TEST_SUITE(TAuditTest) {
9+
Y_UNIT_TEST(AuditDisabledWithoutAppData) {
10+
UNIT_ASSERT(!TAuditCtx::AuditEnabled(NKikimrConfig::TAuditConfig::TLogClassConfig::Completed, NACLibProto::SUBJECT_TYPE_ANONYMOUS));
11+
}
12+
}

ydb/core/mon/audit/ut/ya.make

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ PEERDIR(
99
)
1010

1111
SRCS(
12+
audit_ut.cpp
1213
url_matcher_ut.cpp
1314
)
1415

0 commit comments

Comments
 (0)