Class SecurityTracing
- java.lang.Object
-
- io.helidon.security.integration.common.SecurityTracing
-
public final class SecurityTracing extends Object
Security integration utility for tracing support in integration components.
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description AtnTracingatnTracing()Create a tracing span for authentication.AtzTracingatzTracing()Create a tracing span for authorization.voiderror(String message)Log error and finish the span.voiderror(Throwable throwable)Log error and finish the span.Optional<SpanContext>findParent()Find closes parent span context.voidfinish()Finish the span.static SecurityTracingget()Get an instance from the currentContextor create a new instance and start the security span.voidlogDeny()Log security status - deny.voidlogProceed()Log security status - proceed.voidlogStatus(SecurityResponse.SecurityStatus status)Log response status.OutboundTracingoutboundTracing()Create a tracing span for outbound tracing.ResponseTracingresponseTracing()Create a tracing span for response.RoleMapTracingroleMapTracing(String id)Create a tracing pan for a role mapper.voidsecurityContext(SecurityContext context)Update security span with information fromSecurityContext.protected SpanTracingConfigspanConfig()
-
-
-
Method Detail
-
get
public static SecurityTracing get()
Get an instance from the currentContextor create a new instance and start the security span.- Returns:
- existing or a new tracing instance to be used for tracing security events
-
securityContext
public void securityContext(SecurityContext context)
Update security span with information fromSecurityContext. The context is expected to be unauthenticated and unauthorized. This method should be called as soon as possible to provide correlation to log statements.- Parameters:
context- security context for this request
-
logProceed
public void logProceed()
Log security status - proceed. This should be logged when security allows further processing of the request.
-
logDeny
public void logDeny()
Log security status - deny. This should be logged when security denies further processing of the request.
-
atnTracing
public AtnTracing atnTracing()
Create a tracing span for authentication.- Returns:
- authentication tracing
-
roleMapTracing
public RoleMapTracing roleMapTracing(String id)
Create a tracing pan for a role mapper.- Parameters:
id- role mapper identification (such asidcs)- Returns:
- role mapper tracing (each invocation creates a new instance)
-
atzTracing
public AtzTracing atzTracing()
Create a tracing span for authorization.- Returns:
- authorization tracing
-
outboundTracing
public OutboundTracing outboundTracing()
Create a tracing span for outbound tracing. Each invocation of this method returns a new tracing instance (to support multiple outbound calls).- Returns:
- outbound security tracing
-
responseTracing
public ResponseTracing responseTracing()
Create a tracing span for response.- Returns:
- response security tracing
-
finish
public void finish()
Finish the span.
-
error
public void error(String message)
Log error and finish the span.- Parameters:
message- log this message as the cause of failure
-
error
public void error(Throwable throwable)
Log error and finish the span.- Parameters:
throwable- throwable causing security to fail
-
findParent
public Optional<SpanContext> findParent()
Find closes parent span context.- Returns:
- span context if found
-
logStatus
public void logStatus(SecurityResponse.SecurityStatus status)
Log response status. This is to be used by authorization, authentication and outbound security. Top level security only traces proceed or deny.- Parameters:
status- status to log
-
spanConfig
protected SpanTracingConfig spanConfig()
-
-