Skip to content

Licensed feature usage - roles with sub-feature privileges #64847

@kobelb

Description

@kobelb

In an effort to track the usage of of licensed features, a licensed feature usage API has been added to the licensing plugin. The immediate concern is integrating the Kibana specific features, which don't have an Elasticsearch counterpart, with the new licensed feature usage API. The current implementation of the licensed feature usage API requires that a separate method call is made from the server whenever a licensed feature is used. While we intend to improve this experience long-term, it's what we have for the immediate future.

During the security plugin's setup lifecycle event, a method call should be made to the licensing feature usage service to register a licensed feature and its license level:

public async setup(core: CoreSetup, { licensing }: PluginSetupDependencies) {
    licensing.featureUsage.register('Sub-feature privileges', 'gold');
    ...
}

And then when a user creates a role which includes privileges which correspond to sub-features, an additional method call should be made to the licensing feature usage service to denote its usage.

public async start(core: CoreSetup, { licensing }: PluginStartDependencies) {
  // in the PUT role route handler
  if (hasSubFeaturePrivileges(role)) {
    licensing.featureUsage.notifyUsage('Sub-feature privileges');
  }
  
}

Metadata

Metadata

Assignees

Labels

Team:SecurityPlatform Security: Auth, Users, Roles, Spaces, Audit Logging, etc t//

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions