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

Alerting Service Phase 1 - Secret Service #25263

Closed
5 of 9 tasks
njd5475 opened this issue Nov 6, 2018 · 4 comments
Closed
5 of 9 tasks

Alerting Service Phase 1 - Secret Service #25263

njd5475 opened this issue Nov 6, 2018 · 4 comments
Labels
enhancement New value added to drive a business result Feature:Alerting Team:Core Core services & architecture: plugins, logging, config, saved objects, http, ES client, i18n, etc

Comments

@njd5475
Copy link
Contributor

njd5475 commented Nov 6, 2018

Alerting Service Phase 1 - Secret Service

Alerting Service meta issue 24214

PRs
Prereq PR 28722
Phase 1 PR 28894

Describe the feature:
Plugins will be able to store encrypted objects in the kibana index using the saved object service.

Describe a specific use case for the feature:
Action connectors such as slack, smtp, S3, etc will need to store user credentials and allow for those credentials to be accessed across multiple instances of kibana. We do not want to force those connectors to only be configurable via a server configuration file. But in order to allow safe storage and access to those credentials we need an encryption method. So the Secret Service will provide a means of encrypting and securing these objects using the saved object service.

Design details
The secret service will use a private key stored in the keystore. It will create a keystore if none exist as well as a private key if none existed. It will use a dummy saved object to determine if the key that was created or retrieved works. This private key will be used to encrypt an arbitrary object using the Elastic node-crypto package. The saved objects that are used in the secret service will be marked as hidden to the saved object service rendering them undefined to the default saved object repository and the REST api end-points.

Changes to the saved object service will be made in the open source version and will simply restrict saved object type access to the known types by the code. This will in effect reduce the risk of exposure of objects with encrypted details.

In the case that a private key is lost the objects will need to be recreated. No migration or key rotation services are planned at this time or in this phase of the service.

Status

  • Use keystore to autogenerate encryption key if not in config.
  • Pass encryption keys to plugins
  • Initial Secret service for encryption of secrets. [Alerting] Secret Service #28894
  • User scoped secret service
  • Enhanced audit logging, user and data
  • Enhance Keystore as a source separate source for configuration
  • Ability to hide saved object types from API [Saved Objects] Add hidden types to savedobjects #28722
  • Middleware for SavedObjectService that filters secret saved objects
  • Audit logging
@njd5475 njd5475 added Team:Core Core services & architecture: plugins, logging, config, saved objects, http, ES client, i18n, etc enhancement New value added to drive a business result labels Nov 7, 2018
@elasticmachine
Copy link
Contributor

Pinging @elastic/kibana-platform

@tbragin tbragin changed the title Alerting Service Phase 1 - Simplest of intterfaces Alerting Service Phase 1 - Simplest of interfaces Nov 7, 2018
@spalger spalger changed the title Alerting Service Phase 1 - Simplest of interfaces Alerting Service Phase 1 - Simple CRUD interface Nov 13, 2018
@bleskes
Copy link
Contributor

bleskes commented Nov 22, 2018

@njd5475 I presume this is backed by the Task Manager (#23632). Is that correct?

@njd5475
Copy link
Contributor Author

njd5475 commented Nov 26, 2018

@bleskes yes sir, that is correct.

@njd5475 njd5475 changed the title Alerting Service Phase 1 - Simple CRUD interface Alerting Service Phase 1 - Secret Service Feb 6, 2019
@azasypkin
Copy link
Member

Handled in 2df3880

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New value added to drive a business result Feature:Alerting Team:Core Core services & architecture: plugins, logging, config, saved objects, http, ES client, i18n, etc
Projects
None yet
Development

No branches or pull requests

4 participants