Class RangerPolarisAuthorizer

java.lang.Object
org.apache.polaris.extension.auth.ranger.RangerPolarisAuthorizer
All Implemented Interfaces:
org.apache.polaris.core.auth.PolarisAuthorizer

public class RangerPolarisAuthorizer extends Object implements org.apache.polaris.core.auth.PolarisAuthorizer
Authorizes operations based on policies defined in Apache Ranger.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    RangerPolarisAuthorizer(org.apache.ranger.authz.embedded.RangerEmbeddedAuthorizer authorizer, String serviceName, org.apache.polaris.core.config.RealmConfig realmConfig)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    @NonNull org.apache.polaris.core.auth.AuthorizationDecision
    authorize(@NonNull org.apache.polaris.core.auth.AuthorizationState authzState, @NonNull org.apache.polaris.core.auth.AuthorizationRequest request)
     
    void
    authorizeOrThrow(@NonNull org.apache.polaris.core.auth.PolarisPrincipal polarisPrincipal, @NonNull Set<org.apache.polaris.core.entity.PolarisBaseEntity> activatedEntities, @NonNull org.apache.polaris.core.auth.PolarisAuthorizableOperation authzOp, @Nullable List<org.apache.polaris.core.persistence.PolarisResolvedPathWrapper> targets, @Nullable List<org.apache.polaris.core.persistence.PolarisResolvedPathWrapper> secondaries)
     
    void
    authorizeOrThrow(@NonNull org.apache.polaris.core.auth.PolarisPrincipal polarisPrincipal, @NonNull Set<org.apache.polaris.core.entity.PolarisBaseEntity> activatedEntities, @NonNull org.apache.polaris.core.auth.PolarisAuthorizableOperation authzOp, @Nullable org.apache.polaris.core.persistence.PolarisResolvedPathWrapper target, @Nullable org.apache.polaris.core.persistence.PolarisResolvedPathWrapper secondary)
     
    void
    resolveAuthorizationInputs(@NonNull org.apache.polaris.core.auth.AuthorizationState authzState, @NonNull org.apache.polaris.core.auth.AuthorizationRequest request)
    Resolves authorization inputs using resolveAll() for backward compatibility.
    void
    setRealmContext(org.apache.polaris.core.context.RealmContext aRealmContext)
     

    Methods inherited from class java.lang.Object

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

    Methods inherited from interface org.apache.polaris.core.auth.PolarisAuthorizer

    authorizeOrThrow
  • Field Details

  • Constructor Details

    • RangerPolarisAuthorizer

      public RangerPolarisAuthorizer(org.apache.ranger.authz.embedded.RangerEmbeddedAuthorizer authorizer, String serviceName, org.apache.polaris.core.config.RealmConfig realmConfig)
  • Method Details

    • setRealmContext

      public void setRealmContext(org.apache.polaris.core.context.RealmContext aRealmContext)
    • resolveAuthorizationInputs

      public void resolveAuthorizationInputs(@NonNull org.apache.polaris.core.auth.AuthorizationState authzState, @NonNull org.apache.polaris.core.auth.AuthorizationRequest request)
      Resolves authorization inputs using resolveAll() for backward compatibility.

      This scope is intentionally broad for now and will be narrowed in a future refactoring to resolve only the selections required by Ranger authorization.

      Specified by:
      resolveAuthorizationInputs in interface org.apache.polaris.core.auth.PolarisAuthorizer
    • authorize

      public @NonNull org.apache.polaris.core.auth.AuthorizationDecision authorize(@NonNull org.apache.polaris.core.auth.AuthorizationState authzState, @NonNull org.apache.polaris.core.auth.AuthorizationRequest request)
      Specified by:
      authorize in interface org.apache.polaris.core.auth.PolarisAuthorizer
    • authorizeOrThrow

      public void authorizeOrThrow(@NonNull org.apache.polaris.core.auth.PolarisPrincipal polarisPrincipal, @NonNull Set<org.apache.polaris.core.entity.PolarisBaseEntity> activatedEntities, @NonNull org.apache.polaris.core.auth.PolarisAuthorizableOperation authzOp, @Nullable org.apache.polaris.core.persistence.PolarisResolvedPathWrapper target, @Nullable org.apache.polaris.core.persistence.PolarisResolvedPathWrapper secondary)
      Specified by:
      authorizeOrThrow in interface org.apache.polaris.core.auth.PolarisAuthorizer
    • authorizeOrThrow

      public void authorizeOrThrow(@NonNull org.apache.polaris.core.auth.PolarisPrincipal polarisPrincipal, @NonNull Set<org.apache.polaris.core.entity.PolarisBaseEntity> activatedEntities, @NonNull org.apache.polaris.core.auth.PolarisAuthorizableOperation authzOp, @Nullable List<org.apache.polaris.core.persistence.PolarisResolvedPathWrapper> targets, @Nullable List<org.apache.polaris.core.persistence.PolarisResolvedPathWrapper> secondaries)
      Specified by:
      authorizeOrThrow in interface org.apache.polaris.core.auth.PolarisAuthorizer