-
Notifications
You must be signed in to change notification settings - Fork 0
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
Support Audit Logging export in teleport #3250
Comments
As of teleport documentation around teleport-plugin-event-handler.
TELEPORT_CLUSTER_ADDRESS=teleport.giantswarm.io:443
docker run -v `pwd`:/opt/teleport-plugin -w /opt/teleport-plugin public.ecr.aws/gravitational/teleport-plugin-event-handler:15.0.2 configure . ${TELEPORT_CLUSTER_ADDRESS?}
kubectl create secret generic teleport-event-handler-client-tls --from-file=ca.crt=ca.crt,client.crt=client.crt,client.key=client.key
kind: role
metadata:
name: teleport-event-handler-gaggle
spec:
allow:
rules:
- resources: ['event', 'session']
verbs: ['list','read']
where: 'contains(session.cluster_name, "gaggle")'
version: v5
---
kind: user
metadata:
name: teleport-event-handler-gaggle
spec:
roles: ['teleport-event-handler-gaggle']
version: v2 Apply with tctl create -f teleport-event-handler-gaggle-role.yaml
kind: role
version: v5
metadata:
name: teleport-event-handler-gaggle-impersonator
spec:
options:
max_session_ttl: 10h
allow:
impersonate:
users: ["teleport-event-handler-gaggle"]
roles: ["teleport-event-handler-gaggle"] Apply with tctl create teleport-event-handler-gaggle-impersonator.yaml
eventHandler:
storagePath: "./storage"
timeout: "10s"
batch: 20
namespace: "teleport"
teleport:
address: "teleport.giantswarm.io:443"
identitySecretName: teleport-event-handler-gaggle-identity
identitySecretPath: identity
fluentd:
url: "https://fluentd.fluentd.svc.cluster.local/events.log"
sessionUrl: "https://fluentd.fluentd.svc.cluster.local/session.log"
certificate:
secretName: "teleport-event-handler-client-tls"
caPath: "ca.crt"
certPath: "client.crt"
keyPath: "client.key"
persistentVolumeClaim:
enabled: true |
@QuentinBisson do you know how to proceed here? |
Hey @gawertm and @ssyno sorry about the delay :( Thank you very much for the investigation. So from what I understand, we could deploy a fluentd now and eventually configure it later to send logs to some custom locations right? We probably would need to be able to send logs to private MCs as well the customer SIEM tools will probably be private. Do you think that would be possible ? If yes then it would be amazing if you could deploy this on our teleport cluster and then we can configure it per installation. I think we probably would need those logs in loki as well as in a customer fluent logshipper for some customers |
Hey @QuentinBisson, sorry about the delay, Deploying Fluentd/Fluent Bit with the teleport-plugin-event-handler configuration for secure log collection as an initial will allow us to collect audit logs securely and forward them to various endpoints, including Loki for internal use and customer-specific SIEM tools. |
Awesome then for next steps, I would probably start by sending them to each loki and then we can split it for specific customers SIEM. What do you think? |
Sure, we can have a call whenever you like. |
Here is the receiver issue on our end #3343 :) |
@QuentinBisson @Rotfuks as you have a separate ticket in your board already, do we need this ticket here still? |
No, not really :) Guess you can close it then as a duplicate |
Is your feature request related to a problem? Please describe.
Teleport provide audit logs when we access clusters and nodes using teleport but those logs are stored in dynamodb. @ssyno talked to me about this plugin that could be useful https://goteleport.com/docs/reference/helm-reference/teleport-plugin-event-handler/
Describe the solution you'd like
I would like to have a solution to be able to get the teleport audit logs sent to customer endpoints.
To that end, we could use this https://goteleport.com/docs/reference/helm-reference/teleport-plugin-event-handler/ with a custom fluentd/fluent bit instance or maybe another teleport plugin to be able to send the logs to customer endpoints if they require it
Describe alternatives you've considered
Additional context
This is needed by a few customers
cc @gawertm as PO of bigmac. Should we schedule a session to talk about this ?
The text was updated successfully, but these errors were encountered: