Class RBACEngine

java.lang.Object
org.elasticsearch.xpack.security.authz.RBACEngine
All Implemented Interfaces:
org.elasticsearch.xpack.core.security.authz.AuthorizationEngine

public class RBACEngine extends Object implements org.elasticsearch.xpack.core.security.authz.AuthorizationEngine
  • Nested Class Summary

    Nested classes/interfaces inherited from interface org.elasticsearch.xpack.core.security.authz.AuthorizationEngine

    org.elasticsearch.xpack.core.security.authz.AuthorizationEngine.AsyncSupplier<V extends Object>, org.elasticsearch.xpack.core.security.authz.AuthorizationEngine.AuthorizationContext, org.elasticsearch.xpack.core.security.authz.AuthorizationEngine.AuthorizationInfo, org.elasticsearch.xpack.core.security.authz.AuthorizationEngine.AuthorizationResult, org.elasticsearch.xpack.core.security.authz.AuthorizationEngine.EmptyAuthorizationInfo, org.elasticsearch.xpack.core.security.authz.AuthorizationEngine.IndexAuthorizationResult, org.elasticsearch.xpack.core.security.authz.AuthorizationEngine.RequestInfo
  • Constructor Summary

    Constructors
    Constructor
    Description
    RBACEngine(org.elasticsearch.common.settings.Settings settings, CompositeRolesStore rolesStore, org.elasticsearch.xpack.security.authz.LoadAuthorizedIndicesTimeChecker.Factory authzIndicesTimerFactory)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    authorizeClusterAction(org.elasticsearch.xpack.core.security.authz.AuthorizationEngine.RequestInfo requestInfo, org.elasticsearch.xpack.core.security.authz.AuthorizationEngine.AuthorizationInfo authorizationInfo, org.elasticsearch.action.ActionListener<org.elasticsearch.xpack.core.security.authz.AuthorizationEngine.AuthorizationResult> listener)
     
    void
    authorizeIndexAction(org.elasticsearch.xpack.core.security.authz.AuthorizationEngine.RequestInfo requestInfo, org.elasticsearch.xpack.core.security.authz.AuthorizationEngine.AuthorizationInfo authorizationInfo, org.elasticsearch.xpack.core.security.authz.AuthorizationEngine.AsyncSupplier<org.elasticsearch.xpack.core.security.authz.ResolvedIndices> indicesAsyncSupplier, Map<String,org.elasticsearch.cluster.metadata.IndexAbstraction> aliasOrIndexLookup, org.elasticsearch.action.ActionListener<org.elasticsearch.xpack.core.security.authz.AuthorizationEngine.IndexAuthorizationResult> listener)
     
    void
    authorizeRunAs(org.elasticsearch.xpack.core.security.authz.AuthorizationEngine.RequestInfo requestInfo, org.elasticsearch.xpack.core.security.authz.AuthorizationEngine.AuthorizationInfo authorizationInfo, org.elasticsearch.action.ActionListener<org.elasticsearch.xpack.core.security.authz.AuthorizationEngine.AuthorizationResult> listener)
     
    void
    checkPrivileges(org.elasticsearch.xpack.core.security.authc.Authentication authentication, org.elasticsearch.xpack.core.security.authz.AuthorizationEngine.AuthorizationInfo authorizationInfo, org.elasticsearch.xpack.core.security.action.user.HasPrivilegesRequest request, Collection<org.elasticsearch.xpack.core.security.authz.privilege.ApplicationPrivilegeDescriptor> applicationPrivileges, org.elasticsearch.action.ActionListener<org.elasticsearch.xpack.core.security.action.user.HasPrivilegesResponse> listener)
     
    void
    getUserPrivileges(org.elasticsearch.xpack.core.security.authc.Authentication authentication, org.elasticsearch.xpack.core.security.authz.AuthorizationEngine.AuthorizationInfo authorizationInfo, org.elasticsearch.xpack.core.security.action.user.GetUserPrivilegesRequest request, org.elasticsearch.action.ActionListener<org.elasticsearch.xpack.core.security.action.user.GetUserPrivilegesResponse> listener)
     
    void
    loadAuthorizedIndices(org.elasticsearch.xpack.core.security.authz.AuthorizationEngine.RequestInfo requestInfo, org.elasticsearch.xpack.core.security.authz.AuthorizationEngine.AuthorizationInfo authorizationInfo, Map<String,org.elasticsearch.cluster.metadata.IndexAbstraction> indicesLookup, org.elasticsearch.action.ActionListener<Set<String>> listener)
     
    static org.elasticsearch.xpack.core.security.authz.permission.Role
    maybeGetRBACEngineRole(org.elasticsearch.xpack.core.security.authz.AuthorizationEngine.AuthorizationInfo authorizationInfo)
     
    void
    resolveAuthorizationInfo(org.elasticsearch.xpack.core.security.authz.AuthorizationEngine.RequestInfo requestInfo, org.elasticsearch.action.ActionListener<org.elasticsearch.xpack.core.security.authz.AuthorizationEngine.AuthorizationInfo> listener)
     
    void
    validateIndexPermissionsAreSubset(org.elasticsearch.xpack.core.security.authz.AuthorizationEngine.RequestInfo requestInfo, org.elasticsearch.xpack.core.security.authz.AuthorizationEngine.AuthorizationInfo authorizationInfo, Map<String,List<String>> indexNameToNewNames, org.elasticsearch.action.ActionListener<org.elasticsearch.xpack.core.security.authz.AuthorizationEngine.AuthorizationResult> listener)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • RBACEngine

      public RBACEngine(org.elasticsearch.common.settings.Settings settings, CompositeRolesStore rolesStore, org.elasticsearch.xpack.security.authz.LoadAuthorizedIndicesTimeChecker.Factory authzIndicesTimerFactory)
  • Method Details

    • resolveAuthorizationInfo

      public void resolveAuthorizationInfo(org.elasticsearch.xpack.core.security.authz.AuthorizationEngine.RequestInfo requestInfo, org.elasticsearch.action.ActionListener<org.elasticsearch.xpack.core.security.authz.AuthorizationEngine.AuthorizationInfo> listener)
      Specified by:
      resolveAuthorizationInfo in interface org.elasticsearch.xpack.core.security.authz.AuthorizationEngine
    • authorizeRunAs

      public void authorizeRunAs(org.elasticsearch.xpack.core.security.authz.AuthorizationEngine.RequestInfo requestInfo, org.elasticsearch.xpack.core.security.authz.AuthorizationEngine.AuthorizationInfo authorizationInfo, org.elasticsearch.action.ActionListener<org.elasticsearch.xpack.core.security.authz.AuthorizationEngine.AuthorizationResult> listener)
      Specified by:
      authorizeRunAs in interface org.elasticsearch.xpack.core.security.authz.AuthorizationEngine
    • authorizeClusterAction

      public void authorizeClusterAction(org.elasticsearch.xpack.core.security.authz.AuthorizationEngine.RequestInfo requestInfo, org.elasticsearch.xpack.core.security.authz.AuthorizationEngine.AuthorizationInfo authorizationInfo, org.elasticsearch.action.ActionListener<org.elasticsearch.xpack.core.security.authz.AuthorizationEngine.AuthorizationResult> listener)
      Specified by:
      authorizeClusterAction in interface org.elasticsearch.xpack.core.security.authz.AuthorizationEngine
    • authorizeIndexAction

      public void authorizeIndexAction(org.elasticsearch.xpack.core.security.authz.AuthorizationEngine.RequestInfo requestInfo, org.elasticsearch.xpack.core.security.authz.AuthorizationEngine.AuthorizationInfo authorizationInfo, org.elasticsearch.xpack.core.security.authz.AuthorizationEngine.AsyncSupplier<org.elasticsearch.xpack.core.security.authz.ResolvedIndices> indicesAsyncSupplier, Map<String,org.elasticsearch.cluster.metadata.IndexAbstraction> aliasOrIndexLookup, org.elasticsearch.action.ActionListener<org.elasticsearch.xpack.core.security.authz.AuthorizationEngine.IndexAuthorizationResult> listener)
      Specified by:
      authorizeIndexAction in interface org.elasticsearch.xpack.core.security.authz.AuthorizationEngine
    • loadAuthorizedIndices

      public void loadAuthorizedIndices(org.elasticsearch.xpack.core.security.authz.AuthorizationEngine.RequestInfo requestInfo, org.elasticsearch.xpack.core.security.authz.AuthorizationEngine.AuthorizationInfo authorizationInfo, Map<String,org.elasticsearch.cluster.metadata.IndexAbstraction> indicesLookup, org.elasticsearch.action.ActionListener<Set<String>> listener)
      Specified by:
      loadAuthorizedIndices in interface org.elasticsearch.xpack.core.security.authz.AuthorizationEngine
    • validateIndexPermissionsAreSubset

      public void validateIndexPermissionsAreSubset(org.elasticsearch.xpack.core.security.authz.AuthorizationEngine.RequestInfo requestInfo, org.elasticsearch.xpack.core.security.authz.AuthorizationEngine.AuthorizationInfo authorizationInfo, Map<String,List<String>> indexNameToNewNames, org.elasticsearch.action.ActionListener<org.elasticsearch.xpack.core.security.authz.AuthorizationEngine.AuthorizationResult> listener)
      Specified by:
      validateIndexPermissionsAreSubset in interface org.elasticsearch.xpack.core.security.authz.AuthorizationEngine
    • checkPrivileges

      public void checkPrivileges(org.elasticsearch.xpack.core.security.authc.Authentication authentication, org.elasticsearch.xpack.core.security.authz.AuthorizationEngine.AuthorizationInfo authorizationInfo, org.elasticsearch.xpack.core.security.action.user.HasPrivilegesRequest request, Collection<org.elasticsearch.xpack.core.security.authz.privilege.ApplicationPrivilegeDescriptor> applicationPrivileges, org.elasticsearch.action.ActionListener<org.elasticsearch.xpack.core.security.action.user.HasPrivilegesResponse> listener)
      Specified by:
      checkPrivileges in interface org.elasticsearch.xpack.core.security.authz.AuthorizationEngine
    • getUserPrivileges

      public void getUserPrivileges(org.elasticsearch.xpack.core.security.authc.Authentication authentication, org.elasticsearch.xpack.core.security.authz.AuthorizationEngine.AuthorizationInfo authorizationInfo, org.elasticsearch.xpack.core.security.action.user.GetUserPrivilegesRequest request, org.elasticsearch.action.ActionListener<org.elasticsearch.xpack.core.security.action.user.GetUserPrivilegesResponse> listener)
      Specified by:
      getUserPrivileges in interface org.elasticsearch.xpack.core.security.authz.AuthorizationEngine
    • maybeGetRBACEngineRole

      public static org.elasticsearch.xpack.core.security.authz.permission.Role maybeGetRBACEngineRole(org.elasticsearch.xpack.core.security.authz.AuthorizationEngine.AuthorizationInfo authorizationInfo)