-
Notifications
You must be signed in to change notification settings - Fork 13.9k
This issue was moved to a discussion.
You can continue the conversation there. Go to discussion →
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
[Reporting][help needed]New feature request for reporting and alert #13954
Comments
^^ @daniel10012 @zuzana-vej @amitmiran137 @EBoisseauSierra @willbarrett Do we see any above items that are aligned with our own org's goals? Can we collaborate on this project? thanks! |
Wow! Thanks for summing that up, this sounds very exciting! Your summary covers already a lot (and more than what we could have imagined). I quite like the idea to be able to send one single report, and use RBAC to automagically customise it per recipient. This suppose that each addressee is also a user of the Superset instance. This isn't a bad thing from a security perspective, yet might make it overcomplicated if people need to setup an account just to be able to receive an email. (Fall back to the Re caching, a “force refresh graphs” could be added as an option. As for attachment, we might want to be able to add PDF and/or CSV. I'm very much looking forward to it! 🚀 |
Email should contain an "Unsubscribe" link. What was useful to me in some other BI tools was a "Send now" button right where the schedule/content is being defined, so that the user can immediately test out the report. Workaround is for the user to create a schedule sending in a minute or similar, but then it needs to be canceled as well, so a one time event is nicer. |
One concern I have in current implementation is regarding RLS. |
TL;DR Feature request changes to remedy security vulnerabilities Though the reporting and alerting feature is great and I can understand the desire for Slack integrations for alerting etc., I and others sense this exposes a fairly major data security vulnerability, i.e., users could be exposed (via email or Slack) to information which they do not have permission to via the Superset UI. Ensuring Superset adheres to the defined security policy should trump any desired functionality. Superset needs to have a sound concise and do the right thing, though any downstream actions taken by individuals, i.e., forwarding of emails etc., is outside of Superset's jurisdiction. I propose the following changes should be made with the understanding that functionality will be impacted:
These changes should be fairly minor in terms of engineering work and do remedy the security issues. Down the road we can explore how we could integrate with Slack et al. in a more secure way. ScreenshotsBeforeAftercc: @graceguo-supercat @junlincc @nytai @willbarrett @zuzana-vej |
@EBoisseauSierra @krsnik93 |
This is also small project and very high value based on user feedback (currently the email already includes link to the dashboard):
|
@zuzana-vej we have a PR open for including the description in the alert #13827 |
Discussion Issue for how to handle Dashboards with multiple tabs: #14056 |
@amitmiran137 @bkyryliuk @eschutho @nytai @willbarrett we discussed the security concerns I raised above during today's Superset Meetup (notes). I realize the proposed solution limits functionality and adds some complexity if you wanted to send a group email, i.e., you would need to create a user (with the appropriate permissions) with said email address, but it does close a fairly large security concern. Does anyone have concerns with the proposed approach and/or ideas for an alternative formulation? |
Can we make this optional? It would be a significant change to the current implementation and would break various use cases that are currently supported, and have been for a few released versions. |
I think the challenge with making it optional is it muddies the waters in terms of security, i.e., ideally the security manager should serve as the sole overlord for managing all aspects of security (including cases of relinquishing). |
How about we keep this behavior(new proposed) as default, but allow the user to enable less-secure(current implementation) reporting features from config file if they want to use the current behavior even with security-vulnerabilities. The config file can include a comment giving a brief of security concerns along with a warning that these features may be removed in future versions. |
Superset users currently can screenshot / download dashboards and send them to email / slack. That behavior doesn't change. Different organizations have different levels of trust for the employees to handle data. Controlling recipients seems to be an overkill to me. However we could definitely benefit from the pluggable middle layer that could analyze requested dashboard / slice & recipients and make a call if company security practices permit it. |
The new features are very exciting. |
@bkyryliuk @kamalkeshavani-aiinside @nytai: @etr2460, @graceguo-supercat and myself discussed this in more detail and we feel at Airbnb we can close the current security vulnerability with custom overrides in our security manager. The TL;DR is we would perform a check on behalf of the members of the email or Slack group and deny access to the chart if any member does not have access. We'll leverage the Google Directory and Slack APIs to enumerate the group members from the information provided in the modal. In order to achieve this there would be two minor changes:
|
Can you check this bug #14407 when you are developing this feature ? |
Would really love to see these updates in my superset meanwhile are there any current workarounds to get the Dashboard as PDF. I have used JS to get the dashboard as PDF but it's having many setbacks. And also is there any date mentioned for updated version release. |
Are there any updates on this, specifically the RBAC portion that would allow reports to be generated with the users scope that it is being sent to? Our use case is that we are using OIDC, so all users in the org can login, but all of our dashboards are locked down with row level security like We would also consider doing this ourselves, by hitting the superset API with a |
I wrote for my company a little python tool, because we need to store and send PDF's. For those, who want to use it: |
Can we set Report Filters value before exporting data, like we can use Dashboard filter, |
I added a few PRs that have addressed some of the points in the ticket description for reference
@rvsoni Yes, I believe someone is actively working on this. |
This issue was moved to a discussion.
You can continue the conversation there. Go to discussion →
Superset Roadmap item: apache-superset/superset-roadmap#51
Request: Users, instead of going to dashboards, would like to receive data via email: PDF,
Screenshot, Link to dashboard or info “your data is available”. Based on alerts or Anomaly detection or data availability.
Gaps in current Superset reporting:
Setting up email / report schedules
Management of email schedules
[Configuration] Admin can configure whether anyone can add anyone to email schedules or limited to above points.
[Subscription]User can sign up for themselves and others to receive dashboard emails (setup dashboard to receive via email)
[Schedule management]Ability for a user (consumers) to see all their scheduled charts / dashboards (somewhat possible if they filter; maybe filter on their own schedules should be default in the UI)
[View subscription]Ability for chart / dashboard owners to easily see who is subscribed to their dashboard
When a change to subscription is made, the recipient & dashboard owner could be notified about the change.
Security
Solution proposal: Check access to the section of dashboard which is being email; if user has access to all charts - include them in email; otherwise - just send them link to dashboard. → this addresses some of the perf. Concerns about each email being generated separately for permissions reason.
Defining what to send - Tabs, Filters, Recipient
[Tabs]Handling dashboards with multiple tabs: The email subscription should be per tab - user can select which tab to email or even select multiple tabs (?combination of nested tabs?)
[Filters] Being able to send dashboard tab with defined filters - not just default filters
[Recipient] Ability to send email to “Dashboard owner” - in case owners change, recipients also change
[Text] Ability to define short text/content to be included at the top of the email - currently it includes link to dashboard, users would like to include a short message, link to documentation, contact info, etc.
Format of email
[PDF] Send in PDF not screenshot (PDF is standard, Looker, Tableau both send PDF)
[Resolution] Increase the resolution of alert email screenshot
[Mobile] friendly views - needed for executive reporting
Tooltips / visibility into values: Lot of charts are useful only with tooltips, since values are not displayed on the chart by default. If the chart has description it can be toggled on charts being sent via email.
Core functionality
Meaning: instead of setting "send this dashboard every Monday 10am", set up as "as soon as the data for week lands (week ending sunday) send this dashboard" (it could be monday 10 am or 1pm)
Concerns:
Performance, especially if each request is processed separately to apply user’s specific permissions. Can be executed on batch cluster (instead of dashboard cluster)
Caching / data freshness - by default it uses data from cache - currently expected behavior but based on the time of the report data might be a day old (should be addressed longer term)
The text was updated successfully, but these errors were encountered: