Skip to content

Commit 7875747

Browse files
authored
TFP-5951 opplegg for å auditlogge hovedbruker i saken (#1416)
TFP-5951 opplegg for å auditlogge hvoedbruker i saken
1 parent c60d167 commit 7875747

File tree

4 files changed

+33
-5
lines changed

4 files changed

+33
-5
lines changed

felles/abac/src/main/java/no/nav/vedtak/sikkerhet/abac/AbacAuditlogger.java

+7-1
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,9 @@ public AbacAuditlogger(Auditlogger auditlogger) {
5959
}
6060

6161
public void loggUtfall(AbacResultat utfall, BeskyttetRessursAttributter beskyttetRessursAttributter, AppRessursData appRessursData) {
62+
if (auditlogger.auditLogDisabled()) {
63+
return;
64+
}
6265
if (IdentType.Systemressurs.equals(beskyttetRessursAttributter.getIdentType())) {
6366
// Skal ikke auditlogge systemkall
6467
if (!utfall.fikkTilgang()) {
@@ -81,7 +84,7 @@ private void logg(BeskyttetRessursAttributter beskyttetRessursAttributter, AppRe
8184
var header = createHeader(beskyttetRessursAttributter.getActionType(), access);
8285
var fields = createDefaultAbacFields(beskyttetRessursAttributter);
8386

84-
List<String> ids = getBerortBrukerId(appRessursData); // TODO: Vurder å kun logge for hovedperson
87+
List<String> ids = getBerortBrukerId(appRessursData); // Beholder appRessursData for K9-tilbake
8588
for (String aktorId : ids) {
8689
loggTilgangPerBerortAktoer(header, fields, aktorId);
8790
}
@@ -125,6 +128,9 @@ protected Set<CefField> createDefaultAbacFields(BeskyttetRessursAttributter besk
125128
}
126129

127130
private List<String> getBerortBrukerId(AppRessursData appRessursData) {
131+
if (appRessursData.getAuditAktørId() != null) {
132+
return List.of(appRessursData.getAuditAktørId());
133+
}
128134
/*
129135
* Arcsight foretrekker FNR fremfor AktørID, men det er uklart hvordan de
130136
* håndterer blanding (har sendt forespørsel, men ikke fått svar). Velger derfor

felles/abac/src/main/java/no/nav/vedtak/sikkerhet/abac/pdp/AppRessursData.java

+11
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,16 @@
1616

1717
public class AppRessursData {
1818

19+
private String auditAktørId;
20+
1921
private final Set<String> aktørIdSet = new LinkedHashSet<>();
2022
private final Set<String> fødselsnumre = new LinkedHashSet<>();
2123
private final Map<RessursDataKey, RessursData> resources = new HashMap<>();
2224

25+
public String getAuditAktørId() {
26+
return auditAktørId;
27+
}
28+
2329
public Set<String> getAktørIdSet() {
2430
return aktørIdSet;
2531
}
@@ -52,6 +58,11 @@ public Builder() {
5258
pdpRequest = new AppRessursData();
5359
}
5460

61+
public Builder medAuditAktørId(String aktørId) {
62+
pdpRequest.auditAktørId = aktørId;
63+
return this;
64+
}
65+
5566
public Builder leggTilAktørId(String aktørId) {
5667
pdpRequest.aktørIdSet.add(aktørId);
5768
return this;

felles/abac/src/test/java/no/nav/vedtak/sikkerhet/abac/AbacAuditLoggerTest.java

+1
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,7 @@ private void assertGotPattern(final Auditlogger auditlogger, String expected) {
107107

108108
private static Auditlogger mockAuditLogger() {
109109
final Auditlogger auditlogger = mock(Auditlogger.class);
110+
when(auditlogger.auditLogDisabled()).thenReturn(Boolean.FALSE);
110111
when(auditlogger.getDefaultVendor()).thenReturn("felles");
111112
when(auditlogger.getDefaultProduct()).thenReturn("felles-test");
112113
return auditlogger;

felles/log/src/main/java/no/nav/vedtak/log/audit/Auditlogger.java

+14-4
Original file line numberDiff line numberDiff line change
@@ -22,25 +22,35 @@
2222
@Dependent
2323
public class Auditlogger {
2424

25-
private static final Logger auditLogger = LoggerFactory.getLogger("auditLogger");
25+
private static final Logger AUDIT_LOGGER = LoggerFactory.getLogger("auditLogger");
2626

27+
private final boolean enabled;
2728
private final String defaultVendor;
2829
private final String defaultProduct;
2930

3031
@Inject
31-
public Auditlogger(@KonfigVerdi(value = "auditlogger.vendor") String defaultVendor,
32+
public Auditlogger(@KonfigVerdi(value = "auditlogger.enabled", defaultVerdi = "true") String enabled,
33+
@KonfigVerdi(value = "auditlogger.vendor") String defaultVendor,
3234
@KonfigVerdi(value = "auditlogger.product") String defaultProduct) {
33-
35+
this.enabled = !Boolean.FALSE.toString().equalsIgnoreCase(enabled);
3436
this.defaultVendor = defaultVendor;
3537
this.defaultProduct = defaultProduct;
3638
}
3739

3840

3941
public void logg(Auditdata auditdata) {
40-
auditLogger.info(auditdata.toString());
42+
AUDIT_LOGGER.info(auditdata.toString());
4143
}
4244

4345

46+
public boolean auditLogEnabled() {
47+
return enabled;
48+
}
49+
50+
public boolean auditLogDisabled() {
51+
return !enabled;
52+
}
53+
4454
public String getDefaultVendor() {
4555
return defaultVendor;
4656
}

0 commit comments

Comments
 (0)