Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement Comprehensive Audit Logging for Enhanced Security and Compliance #14163

Open
pavan02 opened this issue Feb 9, 2025 · 3 comments
Open
Labels
type/feature Feature request

Comments

@pavan02
Copy link

pavan02 commented Feb 9, 2025

Summary

We propose implementing more robust audit logging feature for Argo Workflows to enhance security, traceability, and compliance. This feature should capture detailed information about all significant events and actions within the system.

I'm thinking of adding a dedicated api interceptor, to capture detailed information including but not limited to subject, request details, response details. The level of details could be configureable/customizable.

grpc.UnaryInterceptor(grpc_middleware.ChainUnaryServer(
grpc_prometheus.UnaryServerInterceptor,
grpc_logrus.UnaryServerInterceptor(serverLog),
grpcutil.PanicLoggerUnaryServerInterceptor(serverLog),
grpcutil.ErrorTranslationUnaryServerInterceptor,
as.gatekeeper.UnaryServerInterceptor(),
grpcutil.RatelimitUnaryServerInterceptor(as.apiRateLimiter),
grpcutil.SetVersionHeaderUnaryServerInterceptor(argo.GetVersion()),

Use Cases

Meet more security and compliance requirements.

@pavan02 pavan02 added the type/feature Feature request label Feb 9, 2025
@pavan02
Copy link
Author

pavan02 commented Feb 9, 2025

I'm happy to take up this ticket, but I'll probably need some help with getting PR merged.

@Joibel
Copy link
Member

Joibel commented Feb 10, 2025

Can you give more details on what you intend here:

  • What will this capture exactly? (By implication, which events will you not capture)?
  • How will the audit log be delivered?
  • How will this differ from the existing structured log output
  • Is this just an argo-server feature (this is sort of implied by your words), or will it log events that only the workflow-controller sees?
  • Can it be effective in an environment where there are other sources of workflow runs than the argo-server - e.g. kubectl directly, or argo-events?

@blkperl
Copy link
Contributor

blkperl commented Feb 11, 2025

@pavan02 please note there is a proposal to remove gRPC - #13542

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type/feature Feature request
Projects
None yet
Development

No branches or pull requests

3 participants