l1terly_me
l1terly_me

Reputation: 51

Apache superset authorization logging

To be safe, we want to monitor user authorizations in apache superset.

Example from documentation https://superset.apache.org/docs/installation/event-logging/ does not allow to see the ip address of the user and the result of authorization.

{"action": "DashboardRestApi.info", "json": {"path": "/api/v1/dashboard/_info", "q": "(keys:!(permissions))", "rison": {"keys": ["permissions"]}}, "dashboard_id": null, "slice_id": 0, "duration_ms": 41, "referrer": "/superset/welcome/", "user_id": "3"

Are there other ways to monitor users in superset?

Upvotes: 5

Views: 1129

Answers (2)

You can monitor login\logout with Flask-Login signals. To do so you should something like this to superset config file:

from flask_login import user_logged_in
from flask import request

def login_sig(*args,**kwargs):
  print(kwargs['user'].username + ' logged in IP: ' +  request.remote_addr)
user_logged_in.connect(login_sig)

To get IP you can use remote_addr attribute from request module.

Upvotes: 0

Alice Roherty
Alice Roherty

Reputation: 37

You can implement a custom logger class that extends DBEventLogger to add additional details to your events or log any custom messages you may need.

Ref: https://superset.apache.org/docs/installation/event-logging/

Upvotes: 1

Related Questions