mirror of
https://github.com/open-metadata/OpenMetadata.git
synced 2026-01-07 04:56:54 +00:00
Rename CatalogAuthorizer to Authorizer (#1966)
This commit is contained in:
parent
b8d7e2bd11
commit
4a4124d45d
@ -49,8 +49,8 @@ import org.openmetadata.catalog.resources.CollectionRegistry;
|
||||
import org.openmetadata.catalog.resources.config.ConfigResource;
|
||||
import org.openmetadata.catalog.resources.search.SearchResource;
|
||||
import org.openmetadata.catalog.security.AuthenticationConfiguration;
|
||||
import org.openmetadata.catalog.security.Authorizer;
|
||||
import org.openmetadata.catalog.security.AuthorizerConfiguration;
|
||||
import org.openmetadata.catalog.security.CatalogAuthorizer;
|
||||
import org.openmetadata.catalog.security.NoopAuthorizer;
|
||||
import org.openmetadata.catalog.security.NoopFilter;
|
||||
import org.openmetadata.catalog.security.auth.CatalogSecurityContextRequestFilter;
|
||||
@ -61,7 +61,7 @@ import org.slf4j.LoggerFactory;
|
||||
public class CatalogApplication extends Application<CatalogApplicationConfig> {
|
||||
public static final Logger LOG = LoggerFactory.getLogger(CatalogApplication.class);
|
||||
private Injector injector;
|
||||
private CatalogAuthorizer authorizer;
|
||||
private Authorizer authorizer;
|
||||
|
||||
public CatalogApplication() {}
|
||||
|
||||
@ -138,8 +138,7 @@ public class CatalogApplication extends Application<CatalogApplicationConfig> {
|
||||
AuthorizerConfiguration authorizerConf = catalogConfig.getAuthorizerConfiguration();
|
||||
AuthenticationConfiguration authenticationConfiguration = catalogConfig.getAuthenticationConfiguration();
|
||||
if (authorizerConf != null) {
|
||||
authorizer =
|
||||
((Class<CatalogAuthorizer>) Class.forName(authorizerConf.getClassName())).getConstructor().newInstance();
|
||||
authorizer = ((Class<Authorizer>) Class.forName(authorizerConf.getClassName())).getConstructor().newInstance();
|
||||
authorizer.init(authorizerConf, jdbi);
|
||||
String filterClazzName = authorizerConf.getContainerRequestFilter();
|
||||
ContainerRequestFilter filter;
|
||||
|
||||
@ -15,18 +15,18 @@ package org.openmetadata.catalog.module;
|
||||
|
||||
import com.google.inject.AbstractModule;
|
||||
import com.google.inject.Provides;
|
||||
import org.openmetadata.catalog.security.CatalogAuthorizer;
|
||||
import org.openmetadata.catalog.security.Authorizer;
|
||||
|
||||
public class CatalogModule extends AbstractModule {
|
||||
private final CatalogAuthorizer authorizer;
|
||||
private final Authorizer authorizer;
|
||||
|
||||
public CatalogModule(CatalogAuthorizer authorizer) {
|
||||
public CatalogModule(Authorizer authorizer) {
|
||||
this.authorizer = authorizer;
|
||||
}
|
||||
|
||||
// Authorizer
|
||||
@Provides
|
||||
public CatalogAuthorizer providesAuthorizer() {
|
||||
public Authorizer providesAuthorizer() {
|
||||
return authorizer;
|
||||
}
|
||||
|
||||
|
||||
@ -32,7 +32,7 @@ import javax.ws.rs.core.UriInfo;
|
||||
import org.jdbi.v3.core.Jdbi;
|
||||
import org.openmetadata.catalog.CatalogApplicationConfig;
|
||||
import org.openmetadata.catalog.jdbi3.CollectionDAO;
|
||||
import org.openmetadata.catalog.security.CatalogAuthorizer;
|
||||
import org.openmetadata.catalog.security.Authorizer;
|
||||
import org.openmetadata.catalog.type.CollectionDescriptor;
|
||||
import org.openmetadata.catalog.type.CollectionInfo;
|
||||
import org.openmetadata.catalog.util.RestUtil;
|
||||
@ -118,7 +118,7 @@ public final class CollectionRegistry {
|
||||
|
||||
/** Register resources from CollectionRegistry */
|
||||
public void registerResources(
|
||||
Jdbi jdbi, Environment environment, CatalogApplicationConfig config, CatalogAuthorizer authorizer) {
|
||||
Jdbi jdbi, Environment environment, CatalogApplicationConfig config, Authorizer authorizer) {
|
||||
// Build list of ResourceDescriptors
|
||||
for (Map.Entry<String, CollectionDetails> e : collectionMap.entrySet()) {
|
||||
CollectionDetails details = e.getValue();
|
||||
@ -181,7 +181,7 @@ public final class CollectionRegistry {
|
||||
|
||||
/** Create a resource class based on dependencies declared in @Collection annotation */
|
||||
private static Object createResource(
|
||||
CollectionDAO daoObject, String resourceClass, CatalogApplicationConfig config, CatalogAuthorizer authorizer)
|
||||
CollectionDAO daoObject, String resourceClass, CatalogApplicationConfig config, Authorizer authorizer)
|
||||
throws ClassNotFoundException, NoSuchMethodException, IllegalAccessException, InvocationTargetException,
|
||||
InstantiationException {
|
||||
Object resource;
|
||||
@ -189,8 +189,7 @@ public final class CollectionRegistry {
|
||||
|
||||
// Create the resource identified by resourceClass
|
||||
try {
|
||||
resource =
|
||||
clz.getDeclaredConstructor(CollectionDAO.class, CatalogAuthorizer.class).newInstance(daoObject, authorizer);
|
||||
resource = clz.getDeclaredConstructor(CollectionDAO.class, Authorizer.class).newInstance(daoObject, authorizer);
|
||||
} catch (NoSuchMethodException ex) {
|
||||
resource = Class.forName(resourceClass).getConstructor().newInstance();
|
||||
}
|
||||
|
||||
@ -45,7 +45,7 @@ import org.openmetadata.catalog.entity.Bots;
|
||||
import org.openmetadata.catalog.jdbi3.BotsRepository;
|
||||
import org.openmetadata.catalog.jdbi3.CollectionDAO;
|
||||
import org.openmetadata.catalog.resources.Collection;
|
||||
import org.openmetadata.catalog.security.CatalogAuthorizer;
|
||||
import org.openmetadata.catalog.security.Authorizer;
|
||||
import org.openmetadata.catalog.security.SecurityUtil;
|
||||
import org.openmetadata.catalog.util.EntityUtil.Fields;
|
||||
import org.openmetadata.catalog.util.RestUtil;
|
||||
@ -59,10 +59,10 @@ import org.openmetadata.catalog.util.ResultList;
|
||||
public class BotsResource {
|
||||
public static final String COLLECTION_PATH = "/v1/bots/";
|
||||
private final BotsRepository dao;
|
||||
private final CatalogAuthorizer authorizer;
|
||||
private final Authorizer authorizer;
|
||||
|
||||
@Inject
|
||||
public BotsResource(CollectionDAO dao, CatalogAuthorizer authorizer) {
|
||||
public BotsResource(CollectionDAO dao, Authorizer authorizer) {
|
||||
this.dao = new BotsRepository(dao);
|
||||
this.authorizer = authorizer;
|
||||
}
|
||||
|
||||
@ -60,7 +60,7 @@ import org.openmetadata.catalog.jdbi3.ChartRepository;
|
||||
import org.openmetadata.catalog.jdbi3.ChartRepository.ChartEntityInterface;
|
||||
import org.openmetadata.catalog.jdbi3.CollectionDAO;
|
||||
import org.openmetadata.catalog.resources.Collection;
|
||||
import org.openmetadata.catalog.security.CatalogAuthorizer;
|
||||
import org.openmetadata.catalog.security.Authorizer;
|
||||
import org.openmetadata.catalog.security.SecurityUtil;
|
||||
import org.openmetadata.catalog.type.EntityHistory;
|
||||
import org.openmetadata.catalog.util.EntityUtil.Fields;
|
||||
@ -77,7 +77,7 @@ import org.openmetadata.catalog.util.ResultList;
|
||||
public class ChartResource {
|
||||
public static final String COLLECTION_PATH = "v1/charts/";
|
||||
private final ChartRepository dao;
|
||||
private final CatalogAuthorizer authorizer;
|
||||
private final Authorizer authorizer;
|
||||
|
||||
public static ResultList<Chart> addHref(UriInfo uriInfo, ResultList<Chart> charts) {
|
||||
Optional.ofNullable(charts.getData()).orElse(Collections.emptyList()).forEach(i -> addHref(uriInfo, i));
|
||||
@ -93,7 +93,7 @@ public class ChartResource {
|
||||
}
|
||||
|
||||
@Inject
|
||||
public ChartResource(CollectionDAO dao, CatalogAuthorizer authorizer) {
|
||||
public ChartResource(CollectionDAO dao, Authorizer authorizer) {
|
||||
this.dao = new ChartRepository(dao);
|
||||
this.authorizer = authorizer;
|
||||
}
|
||||
|
||||
@ -60,7 +60,7 @@ import org.openmetadata.catalog.entity.data.Dashboard;
|
||||
import org.openmetadata.catalog.jdbi3.CollectionDAO;
|
||||
import org.openmetadata.catalog.jdbi3.DashboardRepository;
|
||||
import org.openmetadata.catalog.resources.Collection;
|
||||
import org.openmetadata.catalog.security.CatalogAuthorizer;
|
||||
import org.openmetadata.catalog.security.Authorizer;
|
||||
import org.openmetadata.catalog.security.SecurityUtil;
|
||||
import org.openmetadata.catalog.type.EntityHistory;
|
||||
import org.openmetadata.catalog.util.EntityUtil.Fields;
|
||||
@ -77,7 +77,7 @@ import org.openmetadata.catalog.util.ResultList;
|
||||
public class DashboardResource {
|
||||
public static final String COLLECTION_PATH = "v1/dashboards/";
|
||||
private final DashboardRepository dao;
|
||||
private final CatalogAuthorizer authorizer;
|
||||
private final Authorizer authorizer;
|
||||
|
||||
public static ResultList<Dashboard> addHref(UriInfo uriInfo, ResultList<Dashboard> dashboards) {
|
||||
Optional.ofNullable(dashboards.getData()).orElse(Collections.emptyList()).forEach(i -> addHref(uriInfo, i));
|
||||
@ -93,7 +93,7 @@ public class DashboardResource {
|
||||
}
|
||||
|
||||
@Inject
|
||||
public DashboardResource(CollectionDAO dao, CatalogAuthorizer authorizer) {
|
||||
public DashboardResource(CollectionDAO dao, Authorizer authorizer) {
|
||||
Objects.requireNonNull(dao, "DashboardRepository must not be null");
|
||||
this.dao = new DashboardRepository(dao);
|
||||
this.authorizer = authorizer;
|
||||
|
||||
@ -60,7 +60,7 @@ import org.openmetadata.catalog.jdbi3.CollectionDAO;
|
||||
import org.openmetadata.catalog.jdbi3.DatabaseRepository;
|
||||
import org.openmetadata.catalog.jdbi3.DatabaseRepository.DatabaseEntityInterface;
|
||||
import org.openmetadata.catalog.resources.Collection;
|
||||
import org.openmetadata.catalog.security.CatalogAuthorizer;
|
||||
import org.openmetadata.catalog.security.Authorizer;
|
||||
import org.openmetadata.catalog.security.SecurityUtil;
|
||||
import org.openmetadata.catalog.type.EntityHistory;
|
||||
import org.openmetadata.catalog.type.EntityReference;
|
||||
@ -78,7 +78,7 @@ import org.openmetadata.catalog.util.ResultList;
|
||||
public class DatabaseResource {
|
||||
public static final String COLLECTION_PATH = "v1/databases/";
|
||||
private final DatabaseRepository dao;
|
||||
private final CatalogAuthorizer authorizer;
|
||||
private final Authorizer authorizer;
|
||||
|
||||
public static ResultList<Database> addHref(UriInfo uriInfo, ResultList<Database> databases) {
|
||||
Optional.ofNullable(databases.getData())
|
||||
@ -104,7 +104,7 @@ public class DatabaseResource {
|
||||
}
|
||||
|
||||
@Inject
|
||||
public DatabaseResource(CollectionDAO dao, CatalogAuthorizer authorizer) {
|
||||
public DatabaseResource(CollectionDAO dao, Authorizer authorizer) {
|
||||
this.dao = new DatabaseRepository(dao);
|
||||
this.authorizer = authorizer;
|
||||
}
|
||||
|
||||
@ -57,7 +57,7 @@ import org.openmetadata.catalog.entity.data.Table;
|
||||
import org.openmetadata.catalog.jdbi3.CollectionDAO;
|
||||
import org.openmetadata.catalog.jdbi3.TableRepository;
|
||||
import org.openmetadata.catalog.resources.Collection;
|
||||
import org.openmetadata.catalog.security.CatalogAuthorizer;
|
||||
import org.openmetadata.catalog.security.Authorizer;
|
||||
import org.openmetadata.catalog.security.SecurityUtil;
|
||||
import org.openmetadata.catalog.type.DataModel;
|
||||
import org.openmetadata.catalog.type.EntityHistory;
|
||||
@ -80,7 +80,7 @@ import org.openmetadata.catalog.util.ResultList;
|
||||
public class TableResource {
|
||||
public static final String COLLECTION_PATH = "v1/tables/";
|
||||
private final TableRepository dao;
|
||||
private final CatalogAuthorizer authorizer;
|
||||
private final Authorizer authorizer;
|
||||
|
||||
public static Table addHref(UriInfo uriInfo, Table table) {
|
||||
Entity.withHref(uriInfo, table.getDatabase());
|
||||
@ -91,7 +91,7 @@ public class TableResource {
|
||||
}
|
||||
|
||||
@Inject
|
||||
public TableResource(CollectionDAO dao, CatalogAuthorizer authorizer) {
|
||||
public TableResource(CollectionDAO dao, Authorizer authorizer) {
|
||||
this.dao = new TableRepository(dao);
|
||||
this.authorizer = authorizer;
|
||||
}
|
||||
|
||||
@ -40,7 +40,7 @@ import org.openmetadata.catalog.Entity.EntityList;
|
||||
import org.openmetadata.catalog.jdbi3.ChangeEventRepository;
|
||||
import org.openmetadata.catalog.jdbi3.CollectionDAO;
|
||||
import org.openmetadata.catalog.resources.Collection;
|
||||
import org.openmetadata.catalog.security.CatalogAuthorizer;
|
||||
import org.openmetadata.catalog.security.Authorizer;
|
||||
import org.openmetadata.catalog.type.ChangeEvent;
|
||||
import org.openmetadata.catalog.util.RestUtil;
|
||||
import org.openmetadata.catalog.util.ResultList;
|
||||
@ -52,7 +52,7 @@ import org.openmetadata.catalog.util.ResultList;
|
||||
@Collection(name = "events")
|
||||
public class EventResource {
|
||||
private final ChangeEventRepository dao;
|
||||
private final CatalogAuthorizer authorizer;
|
||||
private final Authorizer authorizer;
|
||||
|
||||
public static class ChangeEventList extends ResultList<ChangeEvent> {
|
||||
|
||||
@ -66,7 +66,7 @@ public class EventResource {
|
||||
}
|
||||
|
||||
@Inject
|
||||
public EventResource(CollectionDAO dao, CatalogAuthorizer authorizer) {
|
||||
public EventResource(CollectionDAO dao, Authorizer authorizer) {
|
||||
Objects.requireNonNull(dao, "ChangeEventRepository must not be null");
|
||||
this.dao = new ChangeEventRepository(dao);
|
||||
this.authorizer = authorizer;
|
||||
|
||||
@ -50,7 +50,7 @@ import org.openmetadata.catalog.api.events.CreateWebhook;
|
||||
import org.openmetadata.catalog.jdbi3.CollectionDAO;
|
||||
import org.openmetadata.catalog.jdbi3.WebhookRepository;
|
||||
import org.openmetadata.catalog.resources.Collection;
|
||||
import org.openmetadata.catalog.security.CatalogAuthorizer;
|
||||
import org.openmetadata.catalog.security.Authorizer;
|
||||
import org.openmetadata.catalog.security.SecurityUtil;
|
||||
import org.openmetadata.catalog.type.ChangeEvent;
|
||||
import org.openmetadata.catalog.type.EntityHistory;
|
||||
@ -69,7 +69,7 @@ import org.openmetadata.catalog.util.ResultList;
|
||||
public class WebhookResource {
|
||||
public static final String COLLECTION_PATH = "v1/webhook/";
|
||||
private final WebhookRepository dao;
|
||||
private final CatalogAuthorizer authorizer;
|
||||
private final Authorizer authorizer;
|
||||
|
||||
public static class WebhookList extends ResultList<Webhook> {
|
||||
|
||||
@ -83,7 +83,7 @@ public class WebhookResource {
|
||||
}
|
||||
|
||||
@Inject
|
||||
public WebhookResource(CollectionDAO dao, CatalogAuthorizer authorizer) {
|
||||
public WebhookResource(CollectionDAO dao, Authorizer authorizer) {
|
||||
Objects.requireNonNull(dao, "ChangeEventRepository must not be null");
|
||||
this.dao = new WebhookRepository(dao);
|
||||
this.authorizer = authorizer;
|
||||
|
||||
@ -42,7 +42,7 @@ import org.openmetadata.catalog.entity.feed.Thread;
|
||||
import org.openmetadata.catalog.jdbi3.CollectionDAO;
|
||||
import org.openmetadata.catalog.jdbi3.FeedRepository;
|
||||
import org.openmetadata.catalog.resources.Collection;
|
||||
import org.openmetadata.catalog.security.CatalogAuthorizer;
|
||||
import org.openmetadata.catalog.security.Authorizer;
|
||||
import org.openmetadata.catalog.type.Post;
|
||||
import org.openmetadata.catalog.util.RestUtil;
|
||||
import org.openmetadata.catalog.util.ResultList;
|
||||
@ -68,7 +68,7 @@ public class FeedResource {
|
||||
}
|
||||
|
||||
@Inject
|
||||
public FeedResource(CollectionDAO dao, CatalogAuthorizer authorizer) {
|
||||
public FeedResource(CollectionDAO dao, Authorizer authorizer) {
|
||||
Objects.requireNonNull(dao, "FeedRepository must not be null");
|
||||
this.dao = new FeedRepository(dao);
|
||||
}
|
||||
|
||||
@ -44,7 +44,7 @@ import org.openmetadata.catalog.jdbi3.CollectionDAO;
|
||||
import org.openmetadata.catalog.jdbi3.LineageRepository;
|
||||
import org.openmetadata.catalog.resources.Collection;
|
||||
import org.openmetadata.catalog.resources.teams.UserResource;
|
||||
import org.openmetadata.catalog.security.CatalogAuthorizer;
|
||||
import org.openmetadata.catalog.security.Authorizer;
|
||||
import org.openmetadata.catalog.type.EntityLineage;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
@ -59,7 +59,7 @@ public class LineageResource {
|
||||
private final LineageRepository dao;
|
||||
|
||||
@Inject
|
||||
public LineageResource(CollectionDAO dao, CatalogAuthorizer authorizer) {
|
||||
public LineageResource(CollectionDAO dao, Authorizer authorizer) {
|
||||
Objects.requireNonNull(dao, "LineageRepository must not be null");
|
||||
this.dao = new LineageRepository(dao);
|
||||
}
|
||||
|
||||
@ -58,7 +58,7 @@ import org.openmetadata.catalog.entity.data.Location;
|
||||
import org.openmetadata.catalog.jdbi3.CollectionDAO;
|
||||
import org.openmetadata.catalog.jdbi3.LocationRepository;
|
||||
import org.openmetadata.catalog.resources.Collection;
|
||||
import org.openmetadata.catalog.security.CatalogAuthorizer;
|
||||
import org.openmetadata.catalog.security.Authorizer;
|
||||
import org.openmetadata.catalog.security.SecurityUtil;
|
||||
import org.openmetadata.catalog.type.EntityHistory;
|
||||
import org.openmetadata.catalog.util.EntityUtil.Fields;
|
||||
@ -75,7 +75,7 @@ import org.openmetadata.catalog.util.ResultList;
|
||||
public class LocationResource {
|
||||
public static final String COLLECTION_PATH = "v1/locations/";
|
||||
private final LocationRepository dao;
|
||||
private final CatalogAuthorizer authorizer;
|
||||
private final Authorizer authorizer;
|
||||
|
||||
public static Location addHref(UriInfo uriInfo, Location location) {
|
||||
Entity.withHref(uriInfo, location.getOwner());
|
||||
@ -85,7 +85,7 @@ public class LocationResource {
|
||||
}
|
||||
|
||||
@Inject
|
||||
public LocationResource(CollectionDAO dao, CatalogAuthorizer authorizer) {
|
||||
public LocationResource(CollectionDAO dao, Authorizer authorizer) {
|
||||
Objects.requireNonNull(dao, "LocationRepository must not be null");
|
||||
this.dao = new LocationRepository(dao);
|
||||
this.authorizer = authorizer;
|
||||
|
||||
@ -49,7 +49,7 @@ import org.openmetadata.catalog.entity.data.Metrics;
|
||||
import org.openmetadata.catalog.jdbi3.CollectionDAO;
|
||||
import org.openmetadata.catalog.jdbi3.MetricsRepository;
|
||||
import org.openmetadata.catalog.resources.Collection;
|
||||
import org.openmetadata.catalog.security.CatalogAuthorizer;
|
||||
import org.openmetadata.catalog.security.Authorizer;
|
||||
import org.openmetadata.catalog.util.EntityUtil.Fields;
|
||||
import org.openmetadata.catalog.util.RestUtil;
|
||||
import org.openmetadata.catalog.util.RestUtil.PutResponse;
|
||||
@ -65,7 +65,7 @@ public class MetricsResource {
|
||||
private final MetricsRepository dao;
|
||||
|
||||
@Inject
|
||||
public MetricsResource(CollectionDAO dao, CatalogAuthorizer authorizer) {
|
||||
public MetricsResource(CollectionDAO dao, Authorizer authorizer) {
|
||||
Objects.requireNonNull(dao, "MetricsRepository must not be null");
|
||||
this.dao = new MetricsRepository(dao);
|
||||
}
|
||||
|
||||
@ -58,7 +58,7 @@ import org.openmetadata.catalog.entity.data.MlModel;
|
||||
import org.openmetadata.catalog.jdbi3.CollectionDAO;
|
||||
import org.openmetadata.catalog.jdbi3.MlModelRepository;
|
||||
import org.openmetadata.catalog.resources.Collection;
|
||||
import org.openmetadata.catalog.security.CatalogAuthorizer;
|
||||
import org.openmetadata.catalog.security.Authorizer;
|
||||
import org.openmetadata.catalog.security.SecurityUtil;
|
||||
import org.openmetadata.catalog.type.EntityHistory;
|
||||
import org.openmetadata.catalog.util.EntityUtil.Fields;
|
||||
@ -75,7 +75,7 @@ import org.openmetadata.catalog.util.ResultList;
|
||||
public class MlModelResource {
|
||||
public static final String COLLECTION_PATH = "v1/mlmodels/";
|
||||
private final MlModelRepository dao;
|
||||
private final CatalogAuthorizer authorizer;
|
||||
private final Authorizer authorizer;
|
||||
|
||||
public static MlModel addHref(UriInfo uriInfo, MlModel mlmodel) {
|
||||
mlmodel.setHref(RestUtil.getHref(uriInfo, COLLECTION_PATH, mlmodel.getId()));
|
||||
@ -86,7 +86,7 @@ public class MlModelResource {
|
||||
}
|
||||
|
||||
@Inject
|
||||
public MlModelResource(CollectionDAO dao, CatalogAuthorizer authorizer) {
|
||||
public MlModelResource(CollectionDAO dao, Authorizer authorizer) {
|
||||
Objects.requireNonNull(dao, "ModelRepository must not be null");
|
||||
this.dao = new MlModelRepository(dao);
|
||||
this.authorizer = authorizer;
|
||||
|
||||
@ -62,7 +62,7 @@ import org.openmetadata.catalog.jdbi3.CollectionDAO;
|
||||
import org.openmetadata.catalog.jdbi3.IngestionRepository;
|
||||
import org.openmetadata.catalog.operations.workflows.Ingestion;
|
||||
import org.openmetadata.catalog.resources.Collection;
|
||||
import org.openmetadata.catalog.security.CatalogAuthorizer;
|
||||
import org.openmetadata.catalog.security.Authorizer;
|
||||
import org.openmetadata.catalog.security.SecurityUtil;
|
||||
import org.openmetadata.catalog.type.EntityHistory;
|
||||
import org.openmetadata.catalog.type.EntityReference;
|
||||
@ -84,7 +84,7 @@ public class IngestionResource {
|
||||
|
||||
public static final String COLLECTION_PATH = "operations/v1/ingestion/";
|
||||
private final IngestionRepository dao;
|
||||
private final CatalogAuthorizer authorizer;
|
||||
private final Authorizer authorizer;
|
||||
private AirflowRESTClient airflowRESTClient;
|
||||
private CatalogApplicationConfig config;
|
||||
|
||||
@ -104,7 +104,7 @@ public class IngestionResource {
|
||||
}
|
||||
|
||||
@Inject
|
||||
public IngestionResource(CollectionDAO dao, CatalogAuthorizer authorizer) {
|
||||
public IngestionResource(CollectionDAO dao, Authorizer authorizer) {
|
||||
Objects.requireNonNull(dao, "IngestionRepository must not be null");
|
||||
this.dao = new IngestionRepository(dao);
|
||||
this.authorizer = authorizer;
|
||||
|
||||
@ -60,7 +60,7 @@ import org.openmetadata.catalog.entity.data.Pipeline;
|
||||
import org.openmetadata.catalog.jdbi3.CollectionDAO;
|
||||
import org.openmetadata.catalog.jdbi3.PipelineRepository;
|
||||
import org.openmetadata.catalog.resources.Collection;
|
||||
import org.openmetadata.catalog.security.CatalogAuthorizer;
|
||||
import org.openmetadata.catalog.security.Authorizer;
|
||||
import org.openmetadata.catalog.security.SecurityUtil;
|
||||
import org.openmetadata.catalog.type.EntityHistory;
|
||||
import org.openmetadata.catalog.util.EntityUtil.Fields;
|
||||
@ -77,7 +77,7 @@ import org.openmetadata.catalog.util.ResultList;
|
||||
public class PipelineResource {
|
||||
public static final String COLLECTION_PATH = "v1/pipelines/";
|
||||
private final PipelineRepository dao;
|
||||
private final CatalogAuthorizer authorizer;
|
||||
private final Authorizer authorizer;
|
||||
|
||||
public static ResultList<Pipeline> addHref(UriInfo uriInfo, ResultList<Pipeline> pipelines) {
|
||||
Optional.ofNullable(pipelines.getData()).orElse(Collections.emptyList()).forEach(i -> addHref(uriInfo, i));
|
||||
@ -93,7 +93,7 @@ public class PipelineResource {
|
||||
}
|
||||
|
||||
@Inject
|
||||
public PipelineResource(CollectionDAO dao, CatalogAuthorizer authorizer) {
|
||||
public PipelineResource(CollectionDAO dao, Authorizer authorizer) {
|
||||
Objects.requireNonNull(dao, "PipelineRepository must not be null");
|
||||
this.dao = new PipelineRepository(dao);
|
||||
this.authorizer = authorizer;
|
||||
|
||||
@ -60,7 +60,7 @@ import org.openmetadata.catalog.entity.policies.Policy;
|
||||
import org.openmetadata.catalog.jdbi3.CollectionDAO;
|
||||
import org.openmetadata.catalog.jdbi3.PolicyRepository;
|
||||
import org.openmetadata.catalog.resources.Collection;
|
||||
import org.openmetadata.catalog.security.CatalogAuthorizer;
|
||||
import org.openmetadata.catalog.security.Authorizer;
|
||||
import org.openmetadata.catalog.security.SecurityUtil;
|
||||
import org.openmetadata.catalog.type.EntityHistory;
|
||||
import org.openmetadata.catalog.type.EntityReference;
|
||||
@ -78,7 +78,7 @@ import org.openmetadata.catalog.util.ResultList;
|
||||
public class PolicyResource {
|
||||
public static final String COLLECTION_PATH = "v1/policies/";
|
||||
private final PolicyRepository dao;
|
||||
private final CatalogAuthorizer authorizer;
|
||||
private final Authorizer authorizer;
|
||||
|
||||
public static ResultList<Policy> addHref(UriInfo uriInfo, ResultList<Policy> policies) {
|
||||
Optional.ofNullable(policies.getData()).orElse(Collections.emptyList()).forEach(i -> addHref(uriInfo, i));
|
||||
@ -91,7 +91,7 @@ public class PolicyResource {
|
||||
}
|
||||
|
||||
@Inject
|
||||
public PolicyResource(CollectionDAO dao, CatalogAuthorizer authorizer) {
|
||||
public PolicyResource(CollectionDAO dao, Authorizer authorizer) {
|
||||
Objects.requireNonNull(dao, "PolicyRepository must not be null");
|
||||
this.dao = new PolicyRepository(dao);
|
||||
this.authorizer = authorizer;
|
||||
|
||||
@ -46,7 +46,7 @@ import org.openmetadata.catalog.entity.data.Report;
|
||||
import org.openmetadata.catalog.jdbi3.CollectionDAO;
|
||||
import org.openmetadata.catalog.jdbi3.ReportRepository;
|
||||
import org.openmetadata.catalog.resources.Collection;
|
||||
import org.openmetadata.catalog.security.CatalogAuthorizer;
|
||||
import org.openmetadata.catalog.security.Authorizer;
|
||||
import org.openmetadata.catalog.util.EntityUtil.Fields;
|
||||
import org.openmetadata.catalog.util.RestUtil.PutResponse;
|
||||
import org.openmetadata.catalog.util.ResultList;
|
||||
@ -61,7 +61,7 @@ public class ReportResource {
|
||||
private final ReportRepository dao;
|
||||
|
||||
@Inject
|
||||
public ReportResource(CollectionDAO dao, CatalogAuthorizer authorizer) {
|
||||
public ReportResource(CollectionDAO dao, Authorizer authorizer) {
|
||||
Objects.requireNonNull(dao, "ReportRepository must not be null");
|
||||
this.dao = new ReportRepository(dao);
|
||||
}
|
||||
|
||||
@ -51,7 +51,7 @@ import org.openmetadata.catalog.entity.services.DashboardService;
|
||||
import org.openmetadata.catalog.jdbi3.CollectionDAO;
|
||||
import org.openmetadata.catalog.jdbi3.DashboardServiceRepository;
|
||||
import org.openmetadata.catalog.resources.Collection;
|
||||
import org.openmetadata.catalog.security.CatalogAuthorizer;
|
||||
import org.openmetadata.catalog.security.Authorizer;
|
||||
import org.openmetadata.catalog.security.SecurityUtil;
|
||||
import org.openmetadata.catalog.type.EntityHistory;
|
||||
import org.openmetadata.catalog.util.RestUtil;
|
||||
@ -66,10 +66,10 @@ import org.openmetadata.catalog.util.ResultList;
|
||||
public class DashboardServiceResource {
|
||||
public static final String COLLECTION_PATH = "v1/services/dashboardServices";
|
||||
private final DashboardServiceRepository dao;
|
||||
private final CatalogAuthorizer authorizer;
|
||||
private final Authorizer authorizer;
|
||||
|
||||
@Inject
|
||||
public DashboardServiceResource(CollectionDAO dao, CatalogAuthorizer authorizer) {
|
||||
public DashboardServiceResource(CollectionDAO dao, Authorizer authorizer) {
|
||||
Objects.requireNonNull(dao, "DashboardServiceRepository must not be null");
|
||||
this.dao = new DashboardServiceRepository(dao);
|
||||
this.authorizer = authorizer;
|
||||
|
||||
@ -51,7 +51,7 @@ import org.openmetadata.catalog.entity.services.DatabaseService;
|
||||
import org.openmetadata.catalog.jdbi3.CollectionDAO;
|
||||
import org.openmetadata.catalog.jdbi3.DatabaseServiceRepository;
|
||||
import org.openmetadata.catalog.resources.Collection;
|
||||
import org.openmetadata.catalog.security.CatalogAuthorizer;
|
||||
import org.openmetadata.catalog.security.Authorizer;
|
||||
import org.openmetadata.catalog.security.SecurityUtil;
|
||||
import org.openmetadata.catalog.type.EntityHistory;
|
||||
import org.openmetadata.catalog.util.RestUtil;
|
||||
@ -66,10 +66,10 @@ import org.openmetadata.catalog.util.ResultList;
|
||||
public class DatabaseServiceResource {
|
||||
public static final String COLLECTION_PATH = "v1/services/databaseServices/";
|
||||
private final DatabaseServiceRepository dao;
|
||||
private final CatalogAuthorizer authorizer;
|
||||
private final Authorizer authorizer;
|
||||
|
||||
@Inject
|
||||
public DatabaseServiceResource(CollectionDAO dao, CatalogAuthorizer authorizer) {
|
||||
public DatabaseServiceResource(CollectionDAO dao, Authorizer authorizer) {
|
||||
Objects.requireNonNull(dao, "DatabaseServiceRepository must not be null");
|
||||
this.dao = new DatabaseServiceRepository(dao);
|
||||
this.authorizer = authorizer;
|
||||
|
||||
@ -51,7 +51,7 @@ import org.openmetadata.catalog.entity.services.MessagingService;
|
||||
import org.openmetadata.catalog.jdbi3.CollectionDAO;
|
||||
import org.openmetadata.catalog.jdbi3.MessagingServiceRepository;
|
||||
import org.openmetadata.catalog.resources.Collection;
|
||||
import org.openmetadata.catalog.security.CatalogAuthorizer;
|
||||
import org.openmetadata.catalog.security.Authorizer;
|
||||
import org.openmetadata.catalog.security.SecurityUtil;
|
||||
import org.openmetadata.catalog.type.EntityHistory;
|
||||
import org.openmetadata.catalog.util.RestUtil;
|
||||
@ -66,10 +66,10 @@ import org.openmetadata.catalog.util.ResultList;
|
||||
public class MessagingServiceResource {
|
||||
public static final String COLLECTION_PATH = "v1/services/messagingServices/";
|
||||
private final MessagingServiceRepository dao;
|
||||
private final CatalogAuthorizer authorizer;
|
||||
private final Authorizer authorizer;
|
||||
|
||||
@Inject
|
||||
public MessagingServiceResource(CollectionDAO dao, CatalogAuthorizer authorizer) {
|
||||
public MessagingServiceResource(CollectionDAO dao, Authorizer authorizer) {
|
||||
Objects.requireNonNull(dao, "MessagingServiceRepository must not be null");
|
||||
this.dao = new MessagingServiceRepository(dao);
|
||||
this.authorizer = authorizer;
|
||||
|
||||
@ -51,7 +51,7 @@ import org.openmetadata.catalog.entity.services.PipelineService;
|
||||
import org.openmetadata.catalog.jdbi3.CollectionDAO;
|
||||
import org.openmetadata.catalog.jdbi3.PipelineServiceRepository;
|
||||
import org.openmetadata.catalog.resources.Collection;
|
||||
import org.openmetadata.catalog.security.CatalogAuthorizer;
|
||||
import org.openmetadata.catalog.security.Authorizer;
|
||||
import org.openmetadata.catalog.security.SecurityUtil;
|
||||
import org.openmetadata.catalog.type.EntityHistory;
|
||||
import org.openmetadata.catalog.type.EntityReference;
|
||||
@ -67,14 +67,14 @@ import org.openmetadata.catalog.util.ResultList;
|
||||
public class PipelineServiceResource {
|
||||
public static final String COLLECTION_PATH = "v1/services/pipelineServices/";
|
||||
private final PipelineServiceRepository dao;
|
||||
private final CatalogAuthorizer authorizer;
|
||||
private final Authorizer authorizer;
|
||||
|
||||
public static EntityReference addHref(UriInfo uriInfo, EntityReference service) {
|
||||
return service.withHref(RestUtil.getHref(uriInfo, "v1/services/pipelineServices/", service.getId()));
|
||||
}
|
||||
|
||||
@Inject
|
||||
public PipelineServiceResource(CollectionDAO dao, CatalogAuthorizer authorizer) {
|
||||
public PipelineServiceResource(CollectionDAO dao, Authorizer authorizer) {
|
||||
Objects.requireNonNull(dao, "PipelineServiceRepository must not be null");
|
||||
this.dao = new PipelineServiceRepository(dao);
|
||||
this.authorizer = authorizer;
|
||||
|
||||
@ -51,7 +51,7 @@ import org.openmetadata.catalog.entity.services.StorageService;
|
||||
import org.openmetadata.catalog.jdbi3.CollectionDAO;
|
||||
import org.openmetadata.catalog.jdbi3.StorageServiceRepository;
|
||||
import org.openmetadata.catalog.resources.Collection;
|
||||
import org.openmetadata.catalog.security.CatalogAuthorizer;
|
||||
import org.openmetadata.catalog.security.Authorizer;
|
||||
import org.openmetadata.catalog.security.SecurityUtil;
|
||||
import org.openmetadata.catalog.type.EntityHistory;
|
||||
import org.openmetadata.catalog.util.RestUtil;
|
||||
@ -66,10 +66,10 @@ import org.openmetadata.catalog.util.ResultList;
|
||||
public class StorageServiceResource {
|
||||
public static final String COLLECTION_PATH = "v1/services/storageServices/";
|
||||
private final StorageServiceRepository dao;
|
||||
private final CatalogAuthorizer authorizer;
|
||||
private final Authorizer authorizer;
|
||||
|
||||
@Inject
|
||||
public StorageServiceResource(CollectionDAO dao, CatalogAuthorizer authorizer) {
|
||||
public StorageServiceResource(CollectionDAO dao, Authorizer authorizer) {
|
||||
Objects.requireNonNull(dao, "StorageServiceRepository must not be null");
|
||||
this.dao = new StorageServiceRepository(dao);
|
||||
this.authorizer = authorizer;
|
||||
|
||||
@ -48,7 +48,7 @@ import org.openmetadata.catalog.CatalogApplicationConfig;
|
||||
import org.openmetadata.catalog.jdbi3.CollectionDAO;
|
||||
import org.openmetadata.catalog.jdbi3.TagRepository;
|
||||
import org.openmetadata.catalog.resources.Collection;
|
||||
import org.openmetadata.catalog.security.CatalogAuthorizer;
|
||||
import org.openmetadata.catalog.security.Authorizer;
|
||||
import org.openmetadata.catalog.security.SecurityUtil;
|
||||
import org.openmetadata.catalog.type.CreateTag;
|
||||
import org.openmetadata.catalog.type.CreateTagCategory;
|
||||
@ -70,7 +70,7 @@ public class TagResource {
|
||||
public static final Logger LOG = LoggerFactory.getLogger(TagResource.class);
|
||||
public static final String TAG_COLLECTION_PATH = "/v1/tags/";
|
||||
private final TagRepository dao;
|
||||
private final CatalogAuthorizer authorizer;
|
||||
private final Authorizer authorizer;
|
||||
|
||||
static class CategoryList extends ResultList<TagCategory> {
|
||||
@SuppressWarnings("unused") // Empty constructor needed for deserialization
|
||||
@ -82,7 +82,7 @@ public class TagResource {
|
||||
}
|
||||
|
||||
@Inject
|
||||
public TagResource(CollectionDAO dao, CatalogAuthorizer authorizer) {
|
||||
public TagResource(CollectionDAO dao, Authorizer authorizer) {
|
||||
Objects.requireNonNull(dao, "TagRepository must not be null");
|
||||
this.dao = new TagRepository(dao);
|
||||
this.authorizer = authorizer;
|
||||
|
||||
@ -58,7 +58,7 @@ import org.openmetadata.catalog.entity.teams.Team;
|
||||
import org.openmetadata.catalog.jdbi3.CollectionDAO;
|
||||
import org.openmetadata.catalog.jdbi3.TeamRepository;
|
||||
import org.openmetadata.catalog.resources.Collection;
|
||||
import org.openmetadata.catalog.security.CatalogAuthorizer;
|
||||
import org.openmetadata.catalog.security.Authorizer;
|
||||
import org.openmetadata.catalog.security.SecurityUtil;
|
||||
import org.openmetadata.catalog.type.EntityHistory;
|
||||
import org.openmetadata.catalog.util.EntityUtil;
|
||||
@ -74,7 +74,7 @@ import org.openmetadata.catalog.util.ResultList;
|
||||
public class TeamResource {
|
||||
public static final String COLLECTION_PATH = "/v1/teams/";
|
||||
private final TeamRepository dao;
|
||||
private final CatalogAuthorizer authorizer;
|
||||
private final Authorizer authorizer;
|
||||
|
||||
public static Team addHref(UriInfo uriInfo, Team team) {
|
||||
Entity.withHref(uriInfo, team.getUsers());
|
||||
@ -83,7 +83,7 @@ public class TeamResource {
|
||||
}
|
||||
|
||||
@Inject
|
||||
public TeamResource(CollectionDAO dao, CatalogAuthorizer authorizer) {
|
||||
public TeamResource(CollectionDAO dao, Authorizer authorizer) {
|
||||
Objects.requireNonNull(dao, "TeamRepository must not be null");
|
||||
this.dao = new TeamRepository(dao);
|
||||
this.authorizer = authorizer;
|
||||
|
||||
@ -63,7 +63,7 @@ import org.openmetadata.catalog.jdbi3.CollectionDAO;
|
||||
import org.openmetadata.catalog.jdbi3.UserRepository;
|
||||
import org.openmetadata.catalog.jdbi3.UserRepository.UserEntityInterface;
|
||||
import org.openmetadata.catalog.resources.Collection;
|
||||
import org.openmetadata.catalog.security.CatalogAuthorizer;
|
||||
import org.openmetadata.catalog.security.Authorizer;
|
||||
import org.openmetadata.catalog.security.SecurityUtil;
|
||||
import org.openmetadata.catalog.type.EntityHistory;
|
||||
import org.openmetadata.catalog.util.EntityUtil.Fields;
|
||||
@ -82,7 +82,7 @@ public class UserResource {
|
||||
public static final Logger LOG = LoggerFactory.getLogger(UserResource.class);
|
||||
public static final String COLLECTION_PATH = "v1/users/";
|
||||
private final UserRepository dao;
|
||||
private final CatalogAuthorizer authorizer;
|
||||
private final Authorizer authorizer;
|
||||
|
||||
public static User addHref(UriInfo uriInfo, User user) {
|
||||
Entity.withHref(uriInfo, user.getTeams());
|
||||
@ -92,7 +92,7 @@ public class UserResource {
|
||||
}
|
||||
|
||||
@Inject
|
||||
public UserResource(CollectionDAO dao, CatalogAuthorizer authorizer) {
|
||||
public UserResource(CollectionDAO dao, Authorizer authorizer) {
|
||||
Objects.requireNonNull(dao, "UserRepository must not be null");
|
||||
this.dao = new UserRepository(dao);
|
||||
this.authorizer = authorizer;
|
||||
|
||||
@ -59,7 +59,7 @@ import org.openmetadata.catalog.entity.data.Topic;
|
||||
import org.openmetadata.catalog.jdbi3.CollectionDAO;
|
||||
import org.openmetadata.catalog.jdbi3.TopicRepository;
|
||||
import org.openmetadata.catalog.resources.Collection;
|
||||
import org.openmetadata.catalog.security.CatalogAuthorizer;
|
||||
import org.openmetadata.catalog.security.Authorizer;
|
||||
import org.openmetadata.catalog.security.SecurityUtil;
|
||||
import org.openmetadata.catalog.type.EntityHistory;
|
||||
import org.openmetadata.catalog.util.EntityUtil.Fields;
|
||||
@ -76,7 +76,7 @@ import org.openmetadata.catalog.util.ResultList;
|
||||
public class TopicResource {
|
||||
public static final String COLLECTION_PATH = "v1/topics/";
|
||||
private final TopicRepository dao;
|
||||
private final CatalogAuthorizer authorizer;
|
||||
private final Authorizer authorizer;
|
||||
|
||||
public static ResultList<Topic> addHref(UriInfo uriInfo, ResultList<Topic> topics) {
|
||||
Optional.ofNullable(topics.getData()).orElse(Collections.emptyList()).forEach(i -> addHref(uriInfo, i));
|
||||
@ -91,7 +91,7 @@ public class TopicResource {
|
||||
}
|
||||
|
||||
@Inject
|
||||
public TopicResource(CollectionDAO dao, CatalogAuthorizer authorizer) {
|
||||
public TopicResource(CollectionDAO dao, Authorizer authorizer) {
|
||||
this.dao = new TopicRepository(dao);
|
||||
this.authorizer = authorizer;
|
||||
}
|
||||
|
||||
@ -40,7 +40,7 @@ import org.openmetadata.catalog.jdbi3.CollectionDAO;
|
||||
import org.openmetadata.catalog.jdbi3.UsageRepository;
|
||||
import org.openmetadata.catalog.resources.Collection;
|
||||
import org.openmetadata.catalog.resources.teams.UserResource;
|
||||
import org.openmetadata.catalog.security.CatalogAuthorizer;
|
||||
import org.openmetadata.catalog.security.Authorizer;
|
||||
import org.openmetadata.catalog.type.DailyCount;
|
||||
import org.openmetadata.catalog.type.EntityUsage;
|
||||
import org.openmetadata.catalog.util.RestUtil;
|
||||
@ -57,7 +57,7 @@ public class UsageResource {
|
||||
private final UsageRepository dao;
|
||||
|
||||
@Inject
|
||||
public UsageResource(CollectionDAO dao, CatalogAuthorizer authorizer) {
|
||||
public UsageResource(CollectionDAO dao, Authorizer authorizer) {
|
||||
Objects.requireNonNull(dao, "UsageRepository must not be null");
|
||||
this.dao = new UsageRepository(dao);
|
||||
}
|
||||
|
||||
@ -16,7 +16,7 @@ package org.openmetadata.catalog.security;
|
||||
import org.jdbi.v3.core.Jdbi;
|
||||
import org.openmetadata.catalog.type.EntityReference;
|
||||
|
||||
public interface CatalogAuthorizer {
|
||||
public interface Authorizer {
|
||||
|
||||
/** Initialize the authorizer */
|
||||
void init(AuthorizerConfiguration config, Jdbi jdbi);
|
||||
@ -27,8 +27,6 @@ public class AuthorizerConfiguration {
|
||||
|
||||
@NotEmpty private String principalDomain;
|
||||
|
||||
private CatalogAuthorizerConfiguration catalogAuthorizerConfiguration;
|
||||
|
||||
public String getClassName() {
|
||||
return className;
|
||||
}
|
||||
@ -45,14 +43,6 @@ public class AuthorizerConfiguration {
|
||||
this.containerRequestFilter = containerRequestFilter;
|
||||
}
|
||||
|
||||
public CatalogAuthorizerConfiguration getCatalogAuthorizerConfiguration() {
|
||||
return catalogAuthorizerConfiguration;
|
||||
}
|
||||
|
||||
public void setCatalogAuthorizerConfiguration(CatalogAuthorizerConfiguration catalogAuthorizerConfiguration) {
|
||||
this.catalogAuthorizerConfiguration = catalogAuthorizerConfiguration;
|
||||
}
|
||||
|
||||
public Set<String> getAdminPrincipals() {
|
||||
return adminPrincipals;
|
||||
}
|
||||
|
||||
@ -1,46 +0,0 @@
|
||||
/*
|
||||
* Copyright 2021 Collate
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.openmetadata.catalog.security;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import java.util.Map;
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
|
||||
public class CatalogAuthorizerConfiguration {
|
||||
@NotEmpty private String className;
|
||||
|
||||
@JsonProperty("properties")
|
||||
private Map<String, Object> properties;
|
||||
|
||||
public String getClassName() {
|
||||
return className;
|
||||
}
|
||||
|
||||
public void setClassName(String className) {
|
||||
this.className = className;
|
||||
}
|
||||
|
||||
public Map<String, Object> getProperties() {
|
||||
return properties;
|
||||
}
|
||||
|
||||
public void setProperties(Map<String, Object> properties) {
|
||||
this.properties = properties;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "CatalogAuthorizerConfiguration{" + "className='" + className + '\'' + ", properties=" + properties + '}';
|
||||
}
|
||||
}
|
||||
@ -34,8 +34,8 @@ import org.openmetadata.catalog.util.EntityUtil;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
public class DefaultCatalogAuthorizer implements CatalogAuthorizer {
|
||||
private static final Logger LOG = LoggerFactory.getLogger(DefaultCatalogAuthorizer.class);
|
||||
public class DefaultAuthorizer implements Authorizer {
|
||||
private static final Logger LOG = LoggerFactory.getLogger(DefaultAuthorizer.class);
|
||||
|
||||
private Set<String> adminUsers;
|
||||
private Set<String> botUsers;
|
||||
@ -46,7 +46,7 @@ public class DefaultCatalogAuthorizer implements CatalogAuthorizer {
|
||||
|
||||
@Override
|
||||
public void init(AuthorizerConfiguration config, Jdbi dbi) {
|
||||
LOG.debug("Initializing DefaultCatalogAuthorizer with config {}", config);
|
||||
LOG.debug("Initializing DefaultAuthorizer with config {}", config);
|
||||
this.adminUsers = new HashSet<>(config.getAdminPrincipals());
|
||||
this.botUsers = new HashSet<>(config.getBotPrincipals());
|
||||
this.principalDomain = config.getPrincipalDomain();
|
||||
@ -18,7 +18,7 @@ import org.openmetadata.catalog.type.EntityReference;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
public class NoopAuthorizer implements CatalogAuthorizer {
|
||||
public class NoopAuthorizer implements Authorizer {
|
||||
private static final Logger LOG = LoggerFactory.getLogger(NoopAuthorizer.class);
|
||||
|
||||
@Override
|
||||
|
||||
@ -28,7 +28,7 @@ public final class SecurityUtil {
|
||||
|
||||
private SecurityUtil() {}
|
||||
|
||||
public static void checkAdminRole(CatalogAuthorizer authorizer, SecurityContext securityContext) {
|
||||
public static void checkAdminRole(Authorizer authorizer, SecurityContext securityContext) {
|
||||
Principal principal = securityContext.getUserPrincipal();
|
||||
AuthenticationContext authenticationCtx = SecurityUtil.getAuthenticationContext(principal);
|
||||
if (!authorizer.isAdmin(authenticationCtx)) {
|
||||
@ -36,7 +36,7 @@ public final class SecurityUtil {
|
||||
}
|
||||
}
|
||||
|
||||
public static void checkAdminOrBotRole(CatalogAuthorizer authorizer, SecurityContext securityContext) {
|
||||
public static void checkAdminOrBotRole(Authorizer authorizer, SecurityContext securityContext) {
|
||||
Principal principal = securityContext.getUserPrincipal();
|
||||
AuthenticationContext authenticationCtx = SecurityUtil.getAuthenticationContext(principal);
|
||||
if (!authorizer.isAdmin(authenticationCtx) && !authorizer.isBot(authenticationCtx)) {
|
||||
@ -45,7 +45,7 @@ public final class SecurityUtil {
|
||||
}
|
||||
|
||||
public static void checkAdminRoleOrPermissions(
|
||||
CatalogAuthorizer authorizer, SecurityContext securityContext, EntityReference entityReference) {
|
||||
Authorizer authorizer, SecurityContext securityContext, EntityReference entityReference) {
|
||||
Principal principal = securityContext.getUserPrincipal();
|
||||
AuthenticationContext authenticationCtx = SecurityUtil.getAuthenticationContext(principal);
|
||||
if (!authorizer.isAdmin(authenticationCtx)
|
||||
|
||||
@ -118,7 +118,7 @@ health:
|
||||
|
||||
# Authorizer Configuration
|
||||
authorizerConfiguration:
|
||||
className: "org.openmetadata.catalog.security.DefaultCatalogAuthorizer"
|
||||
className: "org.openmetadata.catalog.security.DefaultAuthorizer"
|
||||
# JWT Filter
|
||||
containerRequestFilter: "org.openmetadata.catalog.security.CatalogOpenIdAuthorizationRequestFilter"
|
||||
adminPrincipals:
|
||||
|
||||
@ -114,7 +114,7 @@ database:
|
||||
|
||||
# Authorizer Configuration
|
||||
authorizerConfiguration:
|
||||
className: "org.openmetadata.catalog.security.DefaultCatalogAuthorizer"
|
||||
className: "org.openmetadata.catalog.security.DefaultAuthorizer"
|
||||
# JWT Filter
|
||||
containerRequestFilter: "org.openmetadata.catalog.security.JwtFilter"
|
||||
adminPrincipals:
|
||||
|
||||
@ -19,7 +19,7 @@ authenticationConfiguration:
|
||||
|
||||
```
|
||||
authorizerConfiguration:
|
||||
className: "org.openmetadata.catalog.security.DefaultCatalogAuthorizer"
|
||||
className: "org.openmetadata.catalog.security.DefaultAuthorizer"
|
||||
# JWT Filter
|
||||
containerRequestFilter: "org.openmetadata.catalog.security.JwtFilter"
|
||||
adminPrincipals:
|
||||
|
||||
@ -17,7 +17,7 @@ Then, update authorizerConfiguration to add adminPrincipals.
|
||||
|
||||
```
|
||||
authorizerConfiguration:
|
||||
className: "org.openmetadata.catalog.security.DefaultCatalogAuthorizer"
|
||||
className: "org.openmetadata.catalog.security.DefaultAuthorizer"
|
||||
# JWT Filter
|
||||
containerRequestFilter: "org.openmetadata.catalog.security.JwtFilter"
|
||||
adminPrincipals:
|
||||
|
||||
@ -17,7 +17,7 @@ authenticationConfiguration:
|
||||
|
||||
```
|
||||
authorizerConfiguration:
|
||||
className: "org.openmetadata.catalog.security.DefaultCatalogAuthorizer"
|
||||
className: "org.openmetadata.catalog.security.DefaultAuthorizer"
|
||||
# JWT Filter
|
||||
containerRequestFilter: "org.openmetadata.catalog.security.JwtFilter"
|
||||
adminPrincipals:
|
||||
|
||||
@ -51,7 +51,7 @@ OpenMetadata uses Elasticsearch to store the Entity change events and makes it s
|
||||
Elasticsearch indices are created when the [`OpenMetadata/ingestion/pipelines/metadata_to_es.json`](https://github.com/open-metadata/OpenMetadata/blob/main/ingestion/pipelines/metadata_to_es.json) ingestion connector is run.
|
||||
|
||||
### Authentication/Authorization
|
||||
OpenMetadata uses Google OAuth for authentication. All incoming requests are filtered by validating the JWT token using the Google OAuth provider. Access control is provided by [`CatalogAuthorizer`](https://github.com/open-metadata/OpenMetadata/blob/main/catalog-rest-service/src/main/java/org/openmetadata/catalog/security/CatalogAuthorizer.java).
|
||||
OpenMetadata uses Google OAuth for authentication. All incoming requests are filtered by validating the JWT token using the Google OAuth provider. Access control is provided by [`Authorizer`](https://github.com/open-metadata/OpenMetadata/blob/main/catalog-rest-service/src/main/java/org/openmetadata/catalog/security/Authorizer.java).
|
||||
|
||||
See the configuration file [`OpenMetadata/conf/openmetadata-security.yaml`](https://github.com/open-metadata/OpenMetadata/blob/main/conf/openmetadata-security.yaml) for the authentication and authorization configurations.
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user