Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TFP-5952 fjerne ubrukt legacy-abac #1415

Merged
merged 1 commit into from
Feb 12, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -60,19 +60,15 @@ private Object ikkeTilgang(AbacResultat abacResultat) {
private BeskyttetRessursAttributter hentBeskyttetRessursAttributter(Method method, Class<?> mClass, AbacDataAttributter dataAttributter) {
var beskyttetRessurs = method.getAnnotation(BeskyttetRessurs.class);

var token = Token.withOidcToken(tokenProvider.openIdToken());

return BeskyttetRessursAttributter.builder()
.medBrukerId(tokenProvider.getUid())
.medBrukerOid(tokenProvider.getOid())
.medIdentType(tokenProvider.getIdentType())
.medAnsattGrupper(tokenProvider.getAnsattGrupper())
.medToken(token)
.medActionType(beskyttetRessurs.actionType())
.medAvailabilityType(beskyttetRessurs.availabilityType())
.medResourceType(finnResource(beskyttetRessurs))
.medSporingslogg(beskyttetRessurs.sporingslogg())
.medPepId(pep.pepId())
.medServicePath(utledAction(mClass, method))
.medDataAttributter(dataAttributter)
.build();
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,13 +1,9 @@
package no.nav.vedtak.sikkerhet.abac;

import no.nav.foreldrepenger.konfig.Environment;
import no.nav.vedtak.sikkerhet.abac.internal.BeskyttetRessursAttributter;

public interface Pep {

AbacResultat vurderTilgang(BeskyttetRessursAttributter beskyttetRessursAttributter);

default String pepId() {
return Environment.current().getNaisAppName();
}
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,23 +1,14 @@
package no.nav.vedtak.sikkerhet.abac.beskyttet;

public enum ActionType {
READ("read"),
UPDATE("update"),
CREATE("create"),
DELETE("delete"),
READ,
UPDATE,
CREATE,
DELETE,

/**
* Skal kun brukes av Interceptor
*/
DUMMY(null);
DUMMY;

private String eksternKode;

ActionType(String eksternKode) {
this.eksternKode = eksternKode;
}

public String getEksternKode() {
return eksternKode;
}
}
Original file line number Diff line number Diff line change
@@ -1,44 +1,25 @@
package no.nav.vedtak.sikkerhet.abac.beskyttet;

import static no.nav.vedtak.sikkerhet.abac.policy.ForeldrepengerAttributter.RESOURCE_TYPE_FP_APPLIKASJON;
import static no.nav.vedtak.sikkerhet.abac.policy.ForeldrepengerAttributter.RESOURCE_TYPE_FP_AVDELINGENHET;
import static no.nav.vedtak.sikkerhet.abac.policy.ForeldrepengerAttributter.RESOURCE_TYPE_FP_DRIFT;
import static no.nav.vedtak.sikkerhet.abac.policy.ForeldrepengerAttributter.RESOURCE_TYPE_FP_FAGSAK;
import static no.nav.vedtak.sikkerhet.abac.policy.ForeldrepengerAttributter.RESOURCE_TYPE_FP_OPPGAVESTYRING;
import static no.nav.vedtak.sikkerhet.abac.policy.ForeldrepengerAttributter.RESOURCE_TYPE_FP_UTTAKSPLAN;
import static no.nav.vedtak.sikkerhet.abac.policy.ForeldrepengerAttributter.RESOURCE_TYPE_FP_VENTEFRIST;
import static no.nav.vedtak.sikkerhet.abac.policy.ForeldrepengerAttributter.RESOURCE_TYPE_INTERNAL_PIP;

public enum ResourceType {

// Til bruk i annotering
APPLIKASJON(RESOURCE_TYPE_FP_APPLIKASJON),
DRIFT(RESOURCE_TYPE_FP_DRIFT),
FAGSAK(RESOURCE_TYPE_FP_FAGSAK),
VENTEFRIST(RESOURCE_TYPE_FP_VENTEFRIST),
APPLIKASJON,
DRIFT,
FAGSAK,
VENTEFRIST,
// LOS
OPPGAVESTYRING_AVDELINGENHET(RESOURCE_TYPE_FP_AVDELINGENHET),
OPPGAVESTYRING(RESOURCE_TYPE_FP_OPPGAVESTYRING),
// OPPGAVEKØ(RESOURCE_TYPE_FP_OPPGAVEKØ), TODO: Vurder om skal brukes for å lese oppgaver for LOS. Nå brukes FAGSAK
OPPGAVESTYRING_AVDELINGENHET,
OPPGAVESTYRING,
// OPPGAVEKØ, TODO: Vurder om skal brukes for å lese oppgaver for LOS. Nå brukes FAGSAK

// Selvbetjening
UTTAKSPLAN(RESOURCE_TYPE_FP_UTTAKSPLAN),
UTTAKSPLAN,

// Til bruk i annotering for endepunkt som er PIP-tjenester
PIP(RESOURCE_TYPE_INTERNAL_PIP),
PIP,

/**
* Skal kun brukes av Interceptor
*/
DUMMY("");

private final String resourceTypeAttribute;

ResourceType(String resourceTypeAttribute) {
this.resourceTypeAttribute = resourceTypeAttribute;
}

public String getResourceTypeAttribute() {
return this != DUMMY ? resourceTypeAttribute : null;
}
DUMMY
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
import java.util.UUID;

import no.nav.vedtak.sikkerhet.abac.AbacDataAttributter;
import no.nav.vedtak.sikkerhet.abac.Token;
import no.nav.vedtak.sikkerhet.abac.beskyttet.ActionType;
import no.nav.vedtak.sikkerhet.abac.beskyttet.AvailabilityType;
import no.nav.vedtak.sikkerhet.abac.beskyttet.ResourceType;
Expand All @@ -23,8 +22,6 @@ public class BeskyttetRessursAttributter {
private ActionType actionType;
private ResourceType resourceType;
private AvailabilityType availabilityType;
private Token token;
private String pepId;
private String servicePath;
private boolean sporingslogg = true;
private AbacDataAttributter dataAttributter;
Expand Down Expand Up @@ -65,14 +62,6 @@ public boolean isSporingslogg() {
return sporingslogg;
}

public Token getToken() {
return token;
}

public String getPepId() {
return pepId;
}

public String getServicePath() {
return servicePath;
}
Expand All @@ -84,7 +73,7 @@ public AbacDataAttributter getDataAttributter() {
@Override
public String toString() {
return "BeskyttetRessursAttributter{" + "userId=MASKERT" + ", actionType=" + actionType + ", resourceType="
+ resourceType + ", token=" + token + ", pepId=" + pepId + ", servicePath=" + servicePath + '}';
+ resourceType + ", servicePath=" + servicePath + '}';
}

public static class Builder {
Expand Down Expand Up @@ -114,11 +103,6 @@ public Builder medAnsattGrupper(Set<AnsattGruppe> ansattGrupper) {
return this;
}

public Builder medToken(Token token) {
pdpRequest.token = token;
return this;
}

public Builder medActionType(ActionType actionType) {
pdpRequest.actionType = actionType;
return this;
Expand All @@ -139,11 +123,6 @@ public Builder medSporingslogg(boolean sporingslogg) {
return this;
}

public Builder medPepId(String pepId) {
pdpRequest.pepId = pepId;
return this;
}

public Builder medServicePath(String servicePath) {
pdpRequest.servicePath = servicePath;
return this;
Expand All @@ -161,10 +140,9 @@ public BeskyttetRessursAttributter build() {

private void validateBeforeBuild() {
Objects.requireNonNull(pdpRequest.brukerId, "userId");
Objects.requireNonNull(pdpRequest.token, "idToken");
Objects.requireNonNull(pdpRequest.actionType, "actionType");
Objects.requireNonNull(pdpRequest.resourceType, "resourceType");
Objects.requireNonNull(pdpRequest.pepId, "pepId");
Objects.requireNonNull(pdpRequest.identType, "identType");
Objects.requireNonNull(pdpRequest.servicePath, "servicePath");
Objects.requireNonNull(pdpRequest.dataAttributter, "dataAttributter");
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,24 +38,4 @@ private ForeldrepengerAttributter() {
public static final String VALUE_FP_AVDELING_ENHET_ADRESSEBESKYTTET = "2103";
public static final String VALUE_FP_AVDELING_ENHET_SKJERMET = "4883";

/**
* Attributter brukt som resource_type
* TODO: Behov for AvdelingEnhet og OppgaveStyring? Fjerne risikoklassifisering?
* TODO: OPPGAVEKØ ikke i bruk - vurder FAGSAK vs OPPGAVEKØ + evt bruk som dataattributt (køer på 2103. Mangler policies)
*/
public static final String RESOURCE_TYPE_FP_APPLIKASJON = "no.nav.abac.attributter.foreldrepenger";
public static final String RESOURCE_TYPE_FP_DRIFT = "no.nav.abac.attributter.foreldrepenger.drift";
public static final String RESOURCE_TYPE_FP_FAGSAK = "no.nav.abac.attributter.foreldrepenger.fagsak";
public static final String RESOURCE_TYPE_FP_VENTEFRIST = "no.nav.abac.attributter.foreldrepenger.fagsak.ventefrist";
public static final String RESOURCE_TYPE_FP_AVDELINGENHET = "no.nav.abac.attributter.foreldrepenger.oppgavestyring.avdelingsenhet";
// public static final String RESOURCE_TYPE_FP_OPPGAVEKØ = "no.nav.abac.attributter.foreldrepenger.oppgaveko"; TODO: Vurder om skal brukes for å lese oppgaver for LOS. Nå brukes FAGSAK. Evt bruk som dataAttributt.
public static final String RESOURCE_TYPE_FP_OPPGAVESTYRING = "no.nav.abac.attributter.foreldrepenger.oppgavestyring";
public static final String RESOURCE_TYPE_FP_UTTAKSPLAN = "no.nav.abac.attributter.resource.foreldrepenger.uttaksplan";

/**
* Attributter brukt til interne formål
*/
public static final String RESOURCE_TYPE_INTERNAL_PIP = "pip.tjeneste.kan.kun.kalles.av.pdp.servicebruker";
public static final String RESOURCE_TYPE_INTERNAL_DUMMY = "";

}
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package no.nav.vedtak.sikkerhet.abac.policy;

import java.util.Objects;
import java.util.Optional;
import java.util.Set;

import no.nav.foreldrepenger.konfig.Cluster;
Expand All @@ -25,7 +26,8 @@ public class SystemressursPolicies {
private static final Environment ENV = Environment.current();

// Format: json array av objekt("name", "clientId");
private static final String PRE_AUTHORIZED = ENV.getProperty(AzureProperty.AZURE_APP_PRE_AUTHORIZED_APPS.name());
private static final String PRE_AUTHORIZED = Optional.ofNullable(ENV.getProperty(AzureProperty.AZURE_APP_PRE_AUTHORIZED_APPS.name()))
.orElseGet(() -> ENV.getProperty(AzureProperty.AZURE_APP_PRE_AUTHORIZED_APPS.name().toLowerCase().replace('_', '.')));
private static final Cluster RESIDENT_CLUSTER = ENV.getCluster();
private static final String RESIDENT_NAMESPACE = ENV.namespace();
private static final Set<ResourceType> IKKE_TILLATT_RESOURCE_TYPE = Set.of(ResourceType.UTTAKSPLAN);
Expand Down

This file was deleted.

Loading
Loading