-
Notifications
You must be signed in to change notification settings - Fork 0
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
adds consumer / owner field to alerts created by rule registry #11
adds consumer / owner field to alerts created by rule registry #11
Conversation
@@ -28,6 +28,7 @@ export const baseRuleFieldMap = { | |||
'kibana.rac.alert.severity.level': { type: 'keyword' }, | |||
'kibana.rac.alert.severity.value': { type: 'long' }, | |||
'kibana.rac.alert.status': { type: 'keyword' }, | |||
'kibana.rac.alert.owner': { type: 'keyword' }, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
adding owner to the alerts as data index mapping
const so = await options.services.savedObjectsClient.get<AlertAttributes>( | ||
'alert', | ||
rule.uuid | ||
); | ||
|
||
console.error('RULE REGISTRY CONSUMER', so.attributes.consumer); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Currently the consumer
field is not available via params in the executor so we have to query for the rule and then acquire the consumer off of the rule's saved object attributes.
@@ -169,7 +176,7 @@ export function createLifecycleRuleTypeFactory(): CreateLifecycleRuleType<BaseRu | |||
'@timestamp': timestamp, | |||
'event.kind': 'state', | |||
'kibana.rac.alert.id': alertId, | |||
// 'owner': '' | |||
'kibana.rac.alert.owner': so.attributes.consumer, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
adding the consumer as the owner field on the alert here.
export interface AlertAttributes<T extends RuleParams = RuleParams> { | ||
// actions: RuleAlertAction[]; | ||
consumer: string; | ||
enabled: boolean; | ||
name: string; | ||
tags: string[]; | ||
createdBy: string; | ||
createdAt: string; | ||
updatedBy: string; | ||
schedule: { | ||
interval: string; | ||
}; | ||
throttle: string; | ||
params: T; | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
typing out the rule attributes from the saved object, used when querying for the rule SO to acquire the consumer.
@@ -80,7 +80,7 @@ export const removeClashes = (doc: BaseSignalHit): BaseSignalHit => { | |||
export const buildSignal = ( | |||
docs: BaseSignalHit[], | |||
rule: RulesSchema, | |||
owner: typeof SERVER_APP_ID | |||
owner: string // typeof SERVER_APP_ID |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
increasing scope of this type to string
since it is possible something else could be the consumer of a siem rule.
@@ -227,6 +227,7 @@ export interface SignalHit { | |||
|
|||
export interface AlertAttributes<T extends RuleParams = RuleParams> { | |||
actions: RuleAlertAction[]; | |||
consumer: string; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
exposing the consumer field from the rule SO attributes in the type here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM - this is awesome, thanks Devin.
WIP - trying to fix integration tests, broken authz for observer user / role updates authz feature builder to what ying had before we messed it up in our branch fixes integration tests add rac api access to apm adds getIndex functionality which requires the asset name to be passed in, same style as in the rule registry data client, adds update integration tests fix small merge conflict and update shell script fix merge conflict in alerting test file fix most type errors fix the rest of the type failures fix integration tests fix integration tests fix type error with feature registration in apm fix integration tests in apm and security solution fix type checker fix jest tests for apm remove console.error statements for eslint fix type check update security solution jest tests cleaning up PR and adding basic unit tests still need to clean up types in tests and update one test file fixes snapshot for signals template fix tests fix type check failures update cypress test undo changes in alert authz class, updates alert privilege in apm feature to 'read', utilizes the 'rule' object available in executor params over querying for the rule SO directly remove verbose logging from detection api integration tests fix type fix jest tests, adds missing mocked rule object to alert executor params [RAC] [RBAC] adds function to get alerts-as-data index name (#6) * WIP - test script and route in rule registry to pull index name. I need to test out adding this route within the APM and sec sol plugins specifically and see if they spit back the same .alerts index but with the appropriate asset name despite not providing one. WIP - DO NOT DELETE THIS CODE minor cleanup updates client to require passing in index name, which is now available through the alerts as data client function getAlertsIndex fix types * remove outdated comment update README, adds integration test (skipped) for testing authz with search strategy (#8) * WIP * update README, adds integration test (skipped) for testing authz with search strategy * fix rebase issues * adds typedoc docs * adds SKIPPED integration test for timeline search strategy to be unskipped once authorization is added to search strategy * removes unused references to the rule data client within the rule registry squashed commit (#11) * clean up commented out code, update PR per initial comments * introduce index param to get route again, allowing user to specify index to search * updating feature privileges UI to allow user to have all, read, none on alerts Co-authored-by: Yara Tercero <[email protected]>
WIP - trying to fix integration tests, broken authz for observer user / role updates authz feature builder to what ying had before we messed it up in our branch fixes integration tests add rac api access to apm adds getIndex functionality which requires the asset name to be passed in, same style as in the rule registry data client, adds update integration tests fix small merge conflict and update shell script fix merge conflict in alerting test file fix most type errors fix the rest of the type failures fix integration tests fix integration tests fix type error with feature registration in apm fix integration tests in apm and security solution fix type checker fix jest tests for apm remove console.error statements for eslint fix type check update security solution jest tests cleaning up PR and adding basic unit tests still need to clean up types in tests and update one test file fixes snapshot for signals template fix tests fix type check failures update cypress test undo changes in alert authz class, updates alert privilege in apm feature to 'read', utilizes the 'rule' object available in executor params over querying for the rule SO directly remove verbose logging from detection api integration tests fix type fix jest tests, adds missing mocked rule object to alert executor params [RAC] [RBAC] adds function to get alerts-as-data index name (#6) * WIP - test script and route in rule registry to pull index name. I need to test out adding this route within the APM and sec sol plugins specifically and see if they spit back the same .alerts index but with the appropriate asset name despite not providing one. WIP - DO NOT DELETE THIS CODE minor cleanup updates client to require passing in index name, which is now available through the alerts as data client function getAlertsIndex fix types * remove outdated comment update README, adds integration test (skipped) for testing authz with search strategy (#8) * WIP * update README, adds integration test (skipped) for testing authz with search strategy * fix rebase issues * adds typedoc docs * adds SKIPPED integration test for timeline search strategy to be unskipped once authorization is added to search strategy * removes unused references to the rule data client within the rule registry squashed commit (#11) * clean up commented out code, update PR per initial comments * introduce index param to get route again, allowing user to specify index to search * updating feature privileges UI to allow user to have all, read, none on alerts Co-authored-by: Yara Tercero <[email protected]> update tests WIP - updated shell scripts fixes scripts fix update route indexName -> index Merge pull request #12 from yctercero/rbac_update_tests Updates tests that were previously failing and addresses some feedback.
WIP - trying to fix integration tests, broken authz for observer user / role updates authz feature builder to what ying had before we messed it up in our branch fixes integration tests add rac api access to apm adds getIndex functionality which requires the asset name to be passed in, same style as in the rule registry data client, adds update integration tests fix small merge conflict and update shell script fix merge conflict in alerting test file fix most type errors fix the rest of the type failures fix integration tests fix integration tests fix type error with feature registration in apm fix integration tests in apm and security solution fix type checker fix jest tests for apm remove console.error statements for eslint fix type check update security solution jest tests cleaning up PR and adding basic unit tests still need to clean up types in tests and update one test file fixes snapshot for signals template fix tests fix type check failures update cypress test undo changes in alert authz class, updates alert privilege in apm feature to 'read', utilizes the 'rule' object available in executor params over querying for the rule SO directly remove verbose logging from detection api integration tests fix type fix jest tests, adds missing mocked rule object to alert executor params [RAC] [RBAC] adds function to get alerts-as-data index name (#6) * WIP - test script and route in rule registry to pull index name. I need to test out adding this route within the APM and sec sol plugins specifically and see if they spit back the same .alerts index but with the appropriate asset name despite not providing one. WIP - DO NOT DELETE THIS CODE minor cleanup updates client to require passing in index name, which is now available through the alerts as data client function getAlertsIndex fix types * remove outdated comment update README, adds integration test (skipped) for testing authz with search strategy (#8) * WIP * update README, adds integration test (skipped) for testing authz with search strategy * fix rebase issues * adds typedoc docs * adds SKIPPED integration test for timeline search strategy to be unskipped once authorization is added to search strategy * removes unused references to the rule data client within the rule registry squashed commit (#11) * clean up commented out code, update PR per initial comments * introduce index param to get route again, allowing user to specify index to search * updating feature privileges UI to allow user to have all, read, none on alerts Co-authored-by: Yara Tercero <[email protected]> update tests WIP - updated shell scripts fixes scripts fix update route indexName -> index Merge pull request #12 from yctercero/rbac_update_tests Updates tests that were previously failing and addresses some feedback.
WIP - trying to fix integration tests, broken authz for observer user / role updates authz feature builder to what ying had before we messed it up in our branch fixes integration tests add rac api access to apm adds getIndex functionality which requires the asset name to be passed in, same style as in the rule registry data client, adds update integration tests fix small merge conflict and update shell script fix merge conflict in alerting test file fix most type errors fix the rest of the type failures fix integration tests fix integration tests fix type error with feature registration in apm fix integration tests in apm and security solution fix type checker fix jest tests for apm remove console.error statements for eslint fix type check update security solution jest tests cleaning up PR and adding basic unit tests still need to clean up types in tests and update one test file fixes snapshot for signals template fix tests fix type check failures update cypress test undo changes in alert authz class, updates alert privilege in apm feature to 'read', utilizes the 'rule' object available in executor params over querying for the rule SO directly remove verbose logging from detection api integration tests fix type fix jest tests, adds missing mocked rule object to alert executor params [RAC] [RBAC] adds function to get alerts-as-data index name (#6) * WIP - test script and route in rule registry to pull index name. I need to test out adding this route within the APM and sec sol plugins specifically and see if they spit back the same .alerts index but with the appropriate asset name despite not providing one. WIP - DO NOT DELETE THIS CODE minor cleanup updates client to require passing in index name, which is now available through the alerts as data client function getAlertsIndex fix types * remove outdated comment update README, adds integration test (skipped) for testing authz with search strategy (#8) * WIP * update README, adds integration test (skipped) for testing authz with search strategy * fix rebase issues * adds typedoc docs * adds SKIPPED integration test for timeline search strategy to be unskipped once authorization is added to search strategy * removes unused references to the rule data client within the rule registry squashed commit (#11) * clean up commented out code, update PR per initial comments * introduce index param to get route again, allowing user to specify index to search * updating feature privileges UI to allow user to have all, read, none on alerts Co-authored-by: Yara Tercero <[email protected]> update tests WIP - updated shell scripts fixes scripts fix update route indexName -> index Merge pull request #12 from yctercero/rbac_update_tests Updates tests that were previously failing and addresses some feedback.
WIP - trying to fix integration tests, broken authz for observer user / role updates authz feature builder to what ying had before we messed it up in our branch fixes integration tests add rac api access to apm adds getIndex functionality which requires the asset name to be passed in, same style as in the rule registry data client, adds update integration tests fix small merge conflict and update shell script fix merge conflict in alerting test file fix most type errors fix the rest of the type failures fix integration tests fix integration tests fix type error with feature registration in apm fix integration tests in apm and security solution fix type checker fix jest tests for apm remove console.error statements for eslint fix type check update security solution jest tests cleaning up PR and adding basic unit tests still need to clean up types in tests and update one test file fixes snapshot for signals template fix tests fix type check failures update cypress test undo changes in alert authz class, updates alert privilege in apm feature to 'read', utilizes the 'rule' object available in executor params over querying for the rule SO directly remove verbose logging from detection api integration tests fix type fix jest tests, adds missing mocked rule object to alert executor params [RAC] [RBAC] adds function to get alerts-as-data index name (#6) * WIP - test script and route in rule registry to pull index name. I need to test out adding this route within the APM and sec sol plugins specifically and see if they spit back the same .alerts index but with the appropriate asset name despite not providing one. WIP - DO NOT DELETE THIS CODE minor cleanup updates client to require passing in index name, which is now available through the alerts as data client function getAlertsIndex fix types * remove outdated comment update README, adds integration test (skipped) for testing authz with search strategy (#8) * WIP * update README, adds integration test (skipped) for testing authz with search strategy * fix rebase issues * adds typedoc docs * adds SKIPPED integration test for timeline search strategy to be unskipped once authorization is added to search strategy * removes unused references to the rule data client within the rule registry squashed commit (#11) * clean up commented out code, update PR per initial comments * introduce index param to get route again, allowing user to specify index to search * updating feature privileges UI to allow user to have all, read, none on alerts Co-authored-by: Yara Tercero <[email protected]> update tests WIP - updated shell scripts fixes scripts fix update route indexName -> index Merge pull request #12 from yctercero/rbac_update_tests Updates tests that were previously failing and addresses some feedback.
WIP - trying to fix integration tests, broken authz for observer user / role updates authz feature builder to what ying had before we messed it up in our branch fixes integration tests add rac api access to apm adds getIndex functionality which requires the asset name to be passed in, same style as in the rule registry data client, adds update integration tests fix small merge conflict and update shell script fix merge conflict in alerting test file fix most type errors fix the rest of the type failures fix integration tests fix integration tests fix type error with feature registration in apm fix integration tests in apm and security solution fix type checker fix jest tests for apm remove console.error statements for eslint fix type check update security solution jest tests cleaning up PR and adding basic unit tests still need to clean up types in tests and update one test file fixes snapshot for signals template fix tests fix type check failures update cypress test undo changes in alert authz class, updates alert privilege in apm feature to 'read', utilizes the 'rule' object available in executor params over querying for the rule SO directly remove verbose logging from detection api integration tests fix type fix jest tests, adds missing mocked rule object to alert executor params [RAC] [RBAC] adds function to get alerts-as-data index name (#6) * WIP - test script and route in rule registry to pull index name. I need to test out adding this route within the APM and sec sol plugins specifically and see if they spit back the same .alerts index but with the appropriate asset name despite not providing one. WIP - DO NOT DELETE THIS CODE minor cleanup updates client to require passing in index name, which is now available through the alerts as data client function getAlertsIndex fix types * remove outdated comment update README, adds integration test (skipped) for testing authz with search strategy (#8) * WIP * update README, adds integration test (skipped) for testing authz with search strategy * fix rebase issues * adds typedoc docs * adds SKIPPED integration test for timeline search strategy to be unskipped once authorization is added to search strategy * removes unused references to the rule data client within the rule registry squashed commit (#11) * clean up commented out code, update PR per initial comments * introduce index param to get route again, allowing user to specify index to search * updating feature privileges UI to allow user to have all, read, none on alerts Co-authored-by: Yara Tercero <[email protected]> update tests WIP - updated shell scripts fixes scripts fix update route indexName -> index Merge pull request #12 from yctercero/rbac_update_tests Updates tests that were previously failing and addresses some feedback.
Summary
adds
consumer / owner
field to alerts created by rule registryCheck out the
Checklist
Delete any items that are not applicable to this PR.
For maintainers