Interface AlternateScopeResolver
- All Known Implementing Classes:
AlternateScopeResolverHolder
- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
Pluggable, authorization-agnostic policy that maps a DENIED action to an alternate
Scope
at which it should be re-checked (e.g. the metadata service maps a tenant lkc scope to
its physical cluster pkc scope). Returning Optional.empty() means "no fallback".
Implementations only choose the alternate scope; they perform no authorization and cannot
change the resource or operation being checked. The authorizer (EmbeddedAuthorizer.alternateScope(RequestContext, Action) -> base re-check) owns the actual re-check and the monotonic
DENIED -> ALLOWED invariant; only the scope changes on the re-check.
Used by ConfluentProvider for the late-bound metadata-service policy. Subclasses with a
statically-known fallback (e.g. CpcAuthorizer) override EmbeddedAuthorizer.alternateScope(RequestContext, Action) directly instead.
-
Method Summary
Modifier and TypeMethodDescriptionOptional<io.confluent.security.authorizer.Scope> resolve(RequestContext ctx, Action deniedAction)
-
Method Details
-
resolve
-