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

Have Reporting use the Saved Object Client abstraction #21689

Closed
stacey-gammon opened this issue Aug 6, 2018 · 11 comments
Closed

Have Reporting use the Saved Object Client abstraction #21689

stacey-gammon opened this issue Aug 6, 2018 · 11 comments
Labels
chore (Deprecated) Feature:Reporting Use Reporting:Screenshot, Reporting:CSV, or Reporting:Framework instead enhancement New value added to drive a business result Feature:Reporting:Framework Reporting issues pertaining to the overall framework feedback_needed impact:low Addressing this issue will have a low level of impact on the quality/strength of our product. loe:x-large Extra Large Level of Effort needs-team Issues missing a team label

Comments

@stacey-gammon
Copy link
Contributor

stacey-gammon commented Aug 6, 2018

I was thinking about the ability delete reports feature recently. Reporting uses it's own separate code to interact with reports (currently lacking the delete feature). Does it make sense to extend the Saved Object Client service to support other indices or index patterns so we aren't rewriting all the basic object functionality (get/find/delete/create, etc) ?

Some questions I have:

  • The saved object client is space aware but reports are not. Could the saved object client be instantiated to conditionally not be space aware?
  • Reporting has some special security logic to make them per user, while currently saved objects do not. What will Reporting look like in the RBAC world? If report objects used the same Saved Object Client interface, I imagine they might be able to take advantage of some RBAC features - for instance sharing report objects with other users.

cc @elastic/kibana-operations, @tylersmalley, @kobelb, cc @archanid

@stacey-gammon stacey-gammon added chore Team:Core Core services & architecture: plugins, logging, config, saved objects, http, ES client, i18n, etc :Sharing enhancement New value added to drive a business result (Deprecated) Feature:Reporting Use Reporting:Screenshot, Reporting:CSV, or Reporting:Framework instead labels Aug 6, 2018
@stacey-gammon stacey-gammon changed the title Re-using the Saved Object Client for objects stored in other indexes Re-using the Saved Object Client for Reports Aug 6, 2018
@stacey-gammon stacey-gammon changed the title Re-using the Saved Object Client for Reports Have Reporting use the Saved Object Client abstraction Aug 6, 2018
@stacey-gammon stacey-gammon added Team:Operations Team label for Operations Team and removed Team:Core Core services & architecture: plugins, logging, config, saved objects, http, ES client, i18n, etc labels Aug 6, 2018
@kobelb
Copy link
Contributor

kobelb commented Aug 10, 2018

Speaking from the security perspective, it'd make our life easier the more things that can be secured using the same SavedObjectClient interface, so extending it to work with different indices seems like a logical step in the right direction.

@timroes timroes added Team:Visualizations Visualization editors, elastic-charts and infrastructure and removed Team:Visualizations Visualization editors, elastic-charts and infrastructure :Sharing labels Sep 13, 2018
@fbaligand
Copy link
Contributor

I’m interested by this feature as it enables to remove a report from Kibana UI.

@tsullivan
Copy link
Member

What will Reporting look like in the RBAC world?

@stacey-gammon @kobelb I'm genuinely interested in this. Can we throw down some ideas?

@timroes timroes added Team:Stack Services and removed Team:Visualizations Visualization editors, elastic-charts and infrastructure labels Jul 18, 2019
@bmcconaghy bmcconaghy added Team:ResponseOps Label for the ResponseOps team (formerly the Cases and Alerting teams) and removed Team:Stack Services labels Dec 12, 2019
@bmcconaghy bmcconaghy added Team:Reporting Services and removed Team:ResponseOps Label for the ResponseOps team (formerly the Cases and Alerting teams) labels Dec 20, 2019
@elasticmachine
Copy link
Contributor

Pinging @elastic/kibana-reporting-services (Team:Reporting Services)

@YashMangla
Copy link

In Kibana, reports are stored under the default index and the pattern is following by .reporting-<yyyy.mm.dd> format.
One can delete reports from kibana followed by below command
DELETE .reporting-<yyyy.mm.dd>
eg.
DELETE .reporting-2019.12.01

@fbaligand
Copy link
Contributor

Well, indeed.
But that’s not very user friendly, particularly for a business user.

@tsullivan
Copy link
Member

We have de-coupled this issue from the requirement to be able to delete reports, and controls to delete reports exist now in the Management > Reports listing.

As far as migrating Reporting's data source to use the saved object abstraction, there are pros and cons.

A pro is that we would be able to implement migrations in the same way other plugins.

A con is that there isn't an easy migration to move from non-saved objects into saved objects. The work required there seems to outweigh the benefits, since Reporting doesn't have a real need for migrations right now.

@elasticmachine
Copy link
Contributor

Pinging @elastic/kibana-app-services (Team:AppServices)

@tsullivan
Copy link
Member

I am considering closing this issue, since we don't seem to have a need for it. Even with keeping Reporting index as it is, Elasticsearch will be able to treat it as a system index and perhaps even have built in retention policies.

@legrego
Copy link
Member

legrego commented Dec 18, 2020

Ignoring the amount of work it would take to get here (and the current limitations of SO migrations), moving to saved objects would give you quite a few benefits for "free" (or nearly free), including:

  1. Space aware reporting jobs (optional, they don't have to be)
  2. User specific reports once Object level security, Phase 1 #86013 is resolved (you have this already, but it would remove the custom code you currently have to maintain)
  3. Audit Logging capabilities ("Who created a report, and when?")
  4. Support for Feature Controls ([Reporting] use new application privileges model for reporting’s security perms  #19914). This eliminates the need for the custom reporting_user role, which ends up resolving a few open issues for you: Automated Reporting triggered using Apikey because authorization fails #76210, Switch over to using API Keys for reporting (many open questions) #76964, https://github.com/elastic/kibana-team/issues/1331. It also partially unblocks [Reporting] Scheduled Reports #79905 if I understand the requirements correctly.

@exalate-issue-sync exalate-issue-sync bot added impact:low Addressing this issue will have a low level of impact on the quality/strength of our product. loe:small Small Level of Effort loe:weeks and removed loe:small Small Level of Effort labels May 13, 2021
@jbudz jbudz removed the Team:Operations Team label for Operations Team label Aug 12, 2021
@tsullivan
Copy link
Member

I am going to close this because we have a long-term vision of Reporting that doesn't depend on historical reports being first-class Saved Objects in Kibana.

Using Saved Objects provides in most cases. They provide:

  • built-in security and management
  • built-in migrations
  • capability for import/export

None of these features give a lot of benefit to Reporting:

  • It has internal implementations for security and management
  • Migrations has not been an issue in the past or foreseeable future
  • There is no use case for importing reports. Exporting reports is done by downloading the report.

@exalate-issue-sync exalate-issue-sync bot added loe:x-large Extra Large Level of Effort and removed loe:weeks labels Aug 12, 2022
@sophiec20 sophiec20 added the Feature:Reporting:Framework Reporting issues pertaining to the overall framework label Aug 21, 2024
@botelastic botelastic bot added the needs-team Issues missing a team label label Aug 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
chore (Deprecated) Feature:Reporting Use Reporting:Screenshot, Reporting:CSV, or Reporting:Framework instead enhancement New value added to drive a business result Feature:Reporting:Framework Reporting issues pertaining to the overall framework feedback_needed impact:low Addressing this issue will have a low level of impact on the quality/strength of our product. loe:x-large Extra Large Level of Effort needs-team Issues missing a team label
Projects
None yet
Development

No branches or pull requests