Reputation: 51
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
Reputation: 1
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
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