Class Security

java.lang.Object
org.elasticsearch.plugins.Plugin
org.elasticsearch.xpack.security.Security
All Implemented Interfaces:
Closeable, AutoCloseable, org.elasticsearch.plugins.ActionPlugin, org.elasticsearch.plugins.ClusterPlugin, org.elasticsearch.plugins.DiscoveryPlugin, org.elasticsearch.plugins.ExtensiblePlugin, org.elasticsearch.plugins.IngestPlugin, org.elasticsearch.plugins.MapperPlugin, org.elasticsearch.plugins.NetworkPlugin, org.elasticsearch.plugins.SearchPlugin, org.elasticsearch.plugins.SystemIndexPlugin

public class Security extends org.elasticsearch.plugins.Plugin implements org.elasticsearch.plugins.SystemIndexPlugin, org.elasticsearch.plugins.IngestPlugin, org.elasticsearch.plugins.NetworkPlugin, org.elasticsearch.plugins.ClusterPlugin, org.elasticsearch.plugins.DiscoveryPlugin, org.elasticsearch.plugins.MapperPlugin, org.elasticsearch.plugins.ExtensiblePlugin, org.elasticsearch.plugins.SearchPlugin
  • Nested Class Summary

    Nested classes/interfaces inherited from interface org.elasticsearch.plugins.ActionPlugin

    org.elasticsearch.plugins.ActionPlugin.ActionHandler<Request extends org.elasticsearch.action.ActionRequest,Response extends org.elasticsearch.action.ActionResponse>

    Nested classes/interfaces inherited from interface org.elasticsearch.plugins.ExtensiblePlugin

    org.elasticsearch.plugins.ExtensiblePlugin.ExtensionLoader

    Nested classes/interfaces inherited from interface org.elasticsearch.plugins.SearchPlugin

    org.elasticsearch.plugins.SearchPlugin.AggregationSpec, org.elasticsearch.plugins.SearchPlugin.FetchPhaseConstructionContext, org.elasticsearch.plugins.SearchPlugin.PipelineAggregationSpec, org.elasticsearch.plugins.SearchPlugin.QuerySpec<T extends org.elasticsearch.index.query.QueryBuilder>, org.elasticsearch.plugins.SearchPlugin.RescorerSpec<T extends org.elasticsearch.search.rescore.RescorerBuilder<T>>, org.elasticsearch.plugins.SearchPlugin.ScoreFunctionSpec<T extends org.elasticsearch.index.query.functionscore.ScoreFunctionBuilder<T>>, org.elasticsearch.plugins.SearchPlugin.SearchExtensionSpec<W extends org.elasticsearch.common.io.stream.NamedWriteable,P extends Object>, org.elasticsearch.plugins.SearchPlugin.SearchExtSpec<T extends org.elasticsearch.search.SearchExtBuilder>, org.elasticsearch.plugins.SearchPlugin.SignificanceHeuristicSpec<T extends org.elasticsearch.search.aggregations.bucket.terms.heuristic.SignificanceHeuristic>, org.elasticsearch.plugins.SearchPlugin.SuggesterSpec<T extends org.elasticsearch.search.suggest.SuggestionBuilder<T>>
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final org.elasticsearch.license.LicensedFeature.Persistent
     
    static final org.elasticsearch.license.LicensedFeature.Momentary
     
    static final org.elasticsearch.license.LicensedFeature.Momentary
     
    static final org.elasticsearch.license.LicensedFeature.Persistent
     
    static final org.elasticsearch.license.LicensedFeature.Persistent
     
    static final org.elasticsearch.license.LicensedFeature.Momentary
     
    static final org.elasticsearch.license.LicensedFeature.Momentary
     
    static final org.elasticsearch.license.LicensedFeature.Persistent
     
    static final org.elasticsearch.license.LicensedFeature.Persistent
     
    static final org.elasticsearch.license.LicensedFeature.Persistent
     
    static final org.elasticsearch.license.LicensedFeature.Momentary
     
    static final org.elasticsearch.license.LicensedFeature.Persistent
     
    static final org.elasticsearch.license.LicensedFeature.Persistent
     
    static final String
     
    static final org.elasticsearch.license.LicensedFeature.Momentary
     

    Fields inherited from interface org.elasticsearch.plugins.MapperPlugin

    NOOP_FIELD_FILTER, NOOP_FIELD_PREDICATE
  • Constructor Summary

    Constructors
    Constructor
    Description
    Security(org.elasticsearch.common.settings.Settings settings, Path configPath)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    org.elasticsearch.common.settings.Settings
     
    createComponents(org.elasticsearch.client.internal.Client client, org.elasticsearch.cluster.service.ClusterService clusterService, org.elasticsearch.threadpool.ThreadPool threadPool, org.elasticsearch.watcher.ResourceWatcherService resourceWatcherService, org.elasticsearch.script.ScriptService scriptService, org.elasticsearch.xcontent.NamedXContentRegistry xContentRegistry, org.elasticsearch.env.Environment environment, org.elasticsearch.env.NodeEnvironment nodeEnvironment, org.elasticsearch.common.io.stream.NamedWriteableRegistry namedWriteableRegistry, org.elasticsearch.cluster.metadata.IndexNameExpressionResolver expressionResolver, Supplier<org.elasticsearch.repositories.RepositoriesService> repositoriesServiceSupplier)
     
    List<org.elasticsearch.action.support.ActionFilter>
     
    List<org.elasticsearch.plugins.ActionPlugin.ActionHandler<? extends org.elasticsearch.action.ActionRequest,? extends org.elasticsearch.action.ActionResponse>>
     
    List<org.elasticsearch.bootstrap.BootstrapCheck>
     
    protected Clock
     
    List<org.elasticsearch.threadpool.ExecutorBuilder<?>>
    getExecutorBuilders(org.elasticsearch.common.settings.Settings settings)
     
     
     
     
    Map<String,Supplier<org.elasticsearch.http.HttpServerTransport>>
    getHttpTransports(org.elasticsearch.common.settings.Settings settings, org.elasticsearch.threadpool.ThreadPool threadPool, org.elasticsearch.common.util.BigArrays bigArrays, org.elasticsearch.common.util.PageCacheRecycler pageCacheRecycler, org.elasticsearch.indices.breaker.CircuitBreakerService circuitBreakerService, org.elasticsearch.xcontent.NamedXContentRegistry xContentRegistry, org.elasticsearch.common.network.NetworkService networkService, org.elasticsearch.http.HttpServerTransport.Dispatcher dispatcher, org.elasticsearch.common.settings.ClusterSettings clusterSettings)
     
    UnaryOperator<Map<String,org.elasticsearch.cluster.metadata.IndexTemplateMetadata>>
     
    BiConsumer<org.elasticsearch.cluster.node.DiscoveryNode,org.elasticsearch.cluster.ClusterState>
     
    protected org.elasticsearch.license.XPackLicenseState
     
    Map<String,org.elasticsearch.ingest.Processor.Factory>
    getProcessors(org.elasticsearch.ingest.Processor.Parameters parameters)
     
    org.elasticsearch.common.CheckedBiConsumer<org.elasticsearch.search.internal.ShardSearchRequest,org.elasticsearch.common.io.stream.StreamOutput,IOException>
     
    List<org.elasticsearch.rest.RestHandler>
    getRestHandlers(org.elasticsearch.common.settings.Settings settings, org.elasticsearch.rest.RestController restController, org.elasticsearch.common.settings.ClusterSettings clusterSettings, org.elasticsearch.common.settings.IndexScopedSettings indexScopedSettings, org.elasticsearch.common.settings.SettingsFilter settingsFilter, org.elasticsearch.cluster.metadata.IndexNameExpressionResolver indexNameExpressionResolver, Supplier<org.elasticsearch.cluster.node.DiscoveryNodes> nodesInCluster)
     
    UnaryOperator<org.elasticsearch.rest.RestHandler>
    getRestHandlerWrapper(org.elasticsearch.common.util.concurrent.ThreadContext threadContext)
     
    Collection<org.elasticsearch.rest.RestHeaderDefinition>
     
    List<org.elasticsearch.common.settings.Setting<?>>
     
    static List<org.elasticsearch.common.settings.Setting<?>>
    getSettings(List<org.elasticsearch.xpack.core.security.SecurityExtension> securityExtensions)
    Get the setting configuration for all security components, including those defined in extensions.
     
    protected org.elasticsearch.xpack.core.ssl.SSLService
     
    Collection<org.elasticsearch.indices.SystemIndexDescriptor>
    getSystemIndexDescriptors(org.elasticsearch.common.settings.Settings settings)
     
    List<org.elasticsearch.transport.TransportInterceptor>
    getTransportInterceptors(org.elasticsearch.common.io.stream.NamedWriteableRegistry namedWriteableRegistry, org.elasticsearch.common.util.concurrent.ThreadContext threadContext)
     
    Map<String,Supplier<org.elasticsearch.transport.Transport>>
    getTransports(org.elasticsearch.common.settings.Settings settings, org.elasticsearch.threadpool.ThreadPool threadPool, org.elasticsearch.common.util.PageCacheRecycler pageCacheRecycler, org.elasticsearch.indices.breaker.CircuitBreakerService circuitBreakerService, org.elasticsearch.common.io.stream.NamedWriteableRegistry namedWriteableRegistry, org.elasticsearch.common.network.NetworkService networkService)
     
    void
    loadExtensions(org.elasticsearch.plugins.ExtensiblePlugin.ExtensionLoader loader)
     
    void
    onIndexModule(org.elasticsearch.index.IndexModule module)
     
    void
     

    Methods inherited from class org.elasticsearch.plugins.Plugin

    close, getAdditionalIndexSettingProviders, getNamedWriteables, getNamedXContent, getSettingUpgraders

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface org.elasticsearch.plugins.ActionPlugin

    getClientActions, getTaskHeaders, indicesAliasesRequestValidators, mappingRequestValidators

    Methods inherited from interface org.elasticsearch.plugins.ClusterPlugin

    createAllocationDeciders, getExistingShardsAllocators, getShardsAllocators

    Methods inherited from interface org.elasticsearch.plugins.DiscoveryPlugin

    getCustomNameResolver, getElectionStrategies, getSeedHostProviders

    Methods inherited from interface org.elasticsearch.plugins.MapperPlugin

    getMappers, getMetadataMappers, getRuntimeFields

    Methods inherited from interface org.elasticsearch.plugins.SearchPlugin

    getAggregationExtentions, getAggregations, getFetchSubPhases, getHighlighters, getPipelineAggregations, getQueries, getRescorers, getScoreFunctions, getSearchExts, getSignificanceHeuristics, getSuggesters

    Methods inherited from interface org.elasticsearch.plugins.SystemIndexPlugin

    cleanUpFeature, getAssociatedIndexDescriptors, getSystemDataStreamDescriptors, indicesMigrationComplete, prepareForIndicesMigration
  • Field Details

    • SECURITY_CRYPTO_THREAD_POOL_NAME

      public static final String SECURITY_CRYPTO_THREAD_POOL_NAME
      See Also:
    • IP_FILTERING_FEATURE

      public static final org.elasticsearch.license.LicensedFeature.Momentary IP_FILTERING_FEATURE
    • AUDITING_FEATURE

      public static final org.elasticsearch.license.LicensedFeature.Momentary AUDITING_FEATURE
    • TOKEN_SERVICE_FEATURE

      public static final org.elasticsearch.license.LicensedFeature.Momentary TOKEN_SERVICE_FEATURE
    • LDAP_REALM_FEATURE

      public static final org.elasticsearch.license.LicensedFeature.Persistent LDAP_REALM_FEATURE
    • AD_REALM_FEATURE

      public static final org.elasticsearch.license.LicensedFeature.Persistent AD_REALM_FEATURE
    • PKI_REALM_FEATURE

      public static final org.elasticsearch.license.LicensedFeature.Persistent PKI_REALM_FEATURE
    • SAML_REALM_FEATURE

      public static final org.elasticsearch.license.LicensedFeature.Persistent SAML_REALM_FEATURE
    • OIDC_REALM_FEATURE

      public static final org.elasticsearch.license.LicensedFeature.Persistent OIDC_REALM_FEATURE
    • KERBEROS_REALM_FEATURE

      public static final org.elasticsearch.license.LicensedFeature.Persistent KERBEROS_REALM_FEATURE
    • CUSTOM_REALMS_FEATURE

      public static final org.elasticsearch.license.LicensedFeature.Persistent CUSTOM_REALMS_FEATURE
    • DELEGATED_AUTHORIZATION_FEATURE

      public static final org.elasticsearch.license.LicensedFeature.Momentary DELEGATED_AUTHORIZATION_FEATURE
    • AUTHORIZATION_ENGINE_FEATURE

      public static final org.elasticsearch.license.LicensedFeature.Momentary AUTHORIZATION_ENGINE_FEATURE
    • CUSTOM_ROLE_PROVIDERS_FEATURE

      public static final org.elasticsearch.license.LicensedFeature.Persistent CUSTOM_ROLE_PROVIDERS_FEATURE
    • OPERATOR_PRIVILEGES_FEATURE

      public static final org.elasticsearch.license.LicensedFeature.Momentary OPERATOR_PRIVILEGES_FEATURE
  • Constructor Details

    • Security

      public Security(org.elasticsearch.common.settings.Settings settings, Path configPath)
  • Method Details

    • getClock

      protected Clock getClock()
    • getSslService

      protected org.elasticsearch.xpack.core.ssl.SSLService getSslService()
    • getLicenseState

      protected org.elasticsearch.license.XPackLicenseState getLicenseState()
    • createComponents

      public Collection<Object> createComponents(org.elasticsearch.client.internal.Client client, org.elasticsearch.cluster.service.ClusterService clusterService, org.elasticsearch.threadpool.ThreadPool threadPool, org.elasticsearch.watcher.ResourceWatcherService resourceWatcherService, org.elasticsearch.script.ScriptService scriptService, org.elasticsearch.xcontent.NamedXContentRegistry xContentRegistry, org.elasticsearch.env.Environment environment, org.elasticsearch.env.NodeEnvironment nodeEnvironment, org.elasticsearch.common.io.stream.NamedWriteableRegistry namedWriteableRegistry, org.elasticsearch.cluster.metadata.IndexNameExpressionResolver expressionResolver, Supplier<org.elasticsearch.repositories.RepositoriesService> repositoriesServiceSupplier)
      Overrides:
      createComponents in class org.elasticsearch.plugins.Plugin
    • additionalSettings

      public org.elasticsearch.common.settings.Settings additionalSettings()
      Overrides:
      additionalSettings in class org.elasticsearch.plugins.Plugin
    • getSettings

      public List<org.elasticsearch.common.settings.Setting<?>> getSettings()
      Overrides:
      getSettings in class org.elasticsearch.plugins.Plugin
    • getSettings

      public static List<org.elasticsearch.common.settings.Setting<?>> getSettings(List<org.elasticsearch.xpack.core.security.SecurityExtension> securityExtensions)
      Get the setting configuration for all security components, including those defined in extensions.
    • getRestHeaders

      public Collection<org.elasticsearch.rest.RestHeaderDefinition> getRestHeaders()
      Specified by:
      getRestHeaders in interface org.elasticsearch.plugins.ActionPlugin
    • getSettingsFilter

      public List<String> getSettingsFilter()
      Overrides:
      getSettingsFilter in class org.elasticsearch.plugins.Plugin
    • getBootstrapChecks

      public List<org.elasticsearch.bootstrap.BootstrapCheck> getBootstrapChecks()
      Overrides:
      getBootstrapChecks in class org.elasticsearch.plugins.Plugin
    • onIndexModule

      public void onIndexModule(org.elasticsearch.index.IndexModule module)
      Overrides:
      onIndexModule in class org.elasticsearch.plugins.Plugin
    • getActions

      public List<org.elasticsearch.plugins.ActionPlugin.ActionHandler<? extends org.elasticsearch.action.ActionRequest,? extends org.elasticsearch.action.ActionResponse>> getActions()
      Specified by:
      getActions in interface org.elasticsearch.plugins.ActionPlugin
    • getActionFilters

      public List<org.elasticsearch.action.support.ActionFilter> getActionFilters()
      Specified by:
      getActionFilters in interface org.elasticsearch.plugins.ActionPlugin
    • getRestHandlers

      public List<org.elasticsearch.rest.RestHandler> getRestHandlers(org.elasticsearch.common.settings.Settings settings, org.elasticsearch.rest.RestController restController, org.elasticsearch.common.settings.ClusterSettings clusterSettings, org.elasticsearch.common.settings.IndexScopedSettings indexScopedSettings, org.elasticsearch.common.settings.SettingsFilter settingsFilter, org.elasticsearch.cluster.metadata.IndexNameExpressionResolver indexNameExpressionResolver, Supplier<org.elasticsearch.cluster.node.DiscoveryNodes> nodesInCluster)
      Specified by:
      getRestHandlers in interface org.elasticsearch.plugins.ActionPlugin
    • getProcessors

      public Map<String,org.elasticsearch.ingest.Processor.Factory> getProcessors(org.elasticsearch.ingest.Processor.Parameters parameters)
      Specified by:
      getProcessors in interface org.elasticsearch.plugins.IngestPlugin
    • onNodeStarted

      public void onNodeStarted()
      Specified by:
      onNodeStarted in interface org.elasticsearch.plugins.ClusterPlugin
    • getTransportInterceptors

      public List<org.elasticsearch.transport.TransportInterceptor> getTransportInterceptors(org.elasticsearch.common.io.stream.NamedWriteableRegistry namedWriteableRegistry, org.elasticsearch.common.util.concurrent.ThreadContext threadContext)
      Specified by:
      getTransportInterceptors in interface org.elasticsearch.plugins.NetworkPlugin
    • getTransports

      public Map<String,Supplier<org.elasticsearch.transport.Transport>> getTransports(org.elasticsearch.common.settings.Settings settings, org.elasticsearch.threadpool.ThreadPool threadPool, org.elasticsearch.common.util.PageCacheRecycler pageCacheRecycler, org.elasticsearch.indices.breaker.CircuitBreakerService circuitBreakerService, org.elasticsearch.common.io.stream.NamedWriteableRegistry namedWriteableRegistry, org.elasticsearch.common.network.NetworkService networkService)
      Specified by:
      getTransports in interface org.elasticsearch.plugins.NetworkPlugin
    • getHttpTransports

      public Map<String,Supplier<org.elasticsearch.http.HttpServerTransport>> getHttpTransports(org.elasticsearch.common.settings.Settings settings, org.elasticsearch.threadpool.ThreadPool threadPool, org.elasticsearch.common.util.BigArrays bigArrays, org.elasticsearch.common.util.PageCacheRecycler pageCacheRecycler, org.elasticsearch.indices.breaker.CircuitBreakerService circuitBreakerService, org.elasticsearch.xcontent.NamedXContentRegistry xContentRegistry, org.elasticsearch.common.network.NetworkService networkService, org.elasticsearch.http.HttpServerTransport.Dispatcher dispatcher, org.elasticsearch.common.settings.ClusterSettings clusterSettings)
      Specified by:
      getHttpTransports in interface org.elasticsearch.plugins.NetworkPlugin
    • getRestHandlerWrapper

      public UnaryOperator<org.elasticsearch.rest.RestHandler> getRestHandlerWrapper(org.elasticsearch.common.util.concurrent.ThreadContext threadContext)
      Specified by:
      getRestHandlerWrapper in interface org.elasticsearch.plugins.ActionPlugin
    • getExecutorBuilders

      public List<org.elasticsearch.threadpool.ExecutorBuilder<?>> getExecutorBuilders(org.elasticsearch.common.settings.Settings settings)
      Overrides:
      getExecutorBuilders in class org.elasticsearch.plugins.Plugin
    • getIndexTemplateMetadataUpgrader

      public UnaryOperator<Map<String,org.elasticsearch.cluster.metadata.IndexTemplateMetadata>> getIndexTemplateMetadataUpgrader()
      Overrides:
      getIndexTemplateMetadataUpgrader in class org.elasticsearch.plugins.Plugin
    • getFieldFilter

      public Function<String,Predicate<String>> getFieldFilter()
      Specified by:
      getFieldFilter in interface org.elasticsearch.plugins.MapperPlugin
    • getJoinValidator

      public BiConsumer<org.elasticsearch.cluster.node.DiscoveryNode,org.elasticsearch.cluster.ClusterState> getJoinValidator()
      Specified by:
      getJoinValidator in interface org.elasticsearch.plugins.DiscoveryPlugin
    • loadExtensions

      public void loadExtensions(org.elasticsearch.plugins.ExtensiblePlugin.ExtensionLoader loader)
      Specified by:
      loadExtensions in interface org.elasticsearch.plugins.ExtensiblePlugin
    • getSystemIndexDescriptors

      public Collection<org.elasticsearch.indices.SystemIndexDescriptor> getSystemIndexDescriptors(org.elasticsearch.common.settings.Settings settings)
      Specified by:
      getSystemIndexDescriptors in interface org.elasticsearch.plugins.SystemIndexPlugin
    • getFeatureName

      public String getFeatureName()
      Specified by:
      getFeatureName in interface org.elasticsearch.plugins.SystemIndexPlugin
    • getFeatureDescription

      public String getFeatureDescription()
      Specified by:
      getFeatureDescription in interface org.elasticsearch.plugins.SystemIndexPlugin
    • getRequestCacheKeyDifferentiator

      public org.elasticsearch.common.CheckedBiConsumer<org.elasticsearch.search.internal.ShardSearchRequest,org.elasticsearch.common.io.stream.StreamOutput,IOException> getRequestCacheKeyDifferentiator()
      Specified by:
      getRequestCacheKeyDifferentiator in interface org.elasticsearch.plugins.SearchPlugin