Skip to content

[Security Solution] SIEM Migrations RBAC#207087

Merged
semd merged 40 commits intoelastic:mainfrom
semd:siem_migrations/feature_rbac
Feb 6, 2025
Merged

[Security Solution] SIEM Migrations RBAC#207087
semd merged 40 commits intoelastic:mainfrom
semd:siem_migrations/feature_rbac

Conversation

@semd
Copy link
Copy Markdown
Contributor

@semd semd commented Jan 17, 2025

Summary

Implements the access controls for SIEM rule migrations.

API changes

  • All API routes have been secured with "SIEM Migration" feature checks
  • Start migration API route now checks if the user has privileges to use the connector ID received

UI changes

Onboarding SIEM migrations

  • AI Connector selection
    • Actions & Connectors: Read -> This privilege allows reading and selecting a connector

Otherwise, we show a callout with the missing privileges:
connector read missing

  • Create a migration
    • Security All -> Main Security read & write access
    • Siem Migrations All -> new feature under the Security catalog
    • Actions & Connectors: Read -> This privilege allows connector execution for LLM calls

Otherwise, we show a callout with the missing privileges:
onboarding start card callout

Rule Translations page

  • Minimum privileges to make the page accessible (read access):
    • Security Read -> Main Security read access
    • Siem Migrations All -> new feature under the Security catalog

Otherwise, we hide the link in the navigation and display the generic empty state if accessed:
rules minimum privileges missing

  • To successfully install rules the following privileges are also required (write access):
    • Security All -> Main Security read & write access
    • Index privileges for .alerts* pattern: read, write, view_index_metadata, manage
    • Index privileges for lookup_* pattern: read

Otherwise, we show a callout at the top of the page, this callout is consistent with the one displayed on the Detection Rules page (/app/security/rules)
alerts privileges missing

  • To retry rule translations (upload missing macros/lookups or retry errors)
    • Actions & Connectors: Read -> This privilege allows connector execution for LLM calls

Otherwise, when attempted, we show a toast with the missing privilege.

Other changes

  • Technical preview label

technical preview

  • No connector selected toast
no_connector_toast.mov

Fixes

  • [Fixed] Not possible to select a connector when no connector is selected:
    bug connectors

@semd semd self-assigned this Jan 17, 2025
@semd
Copy link
Copy Markdown
Contributor Author

semd commented Jan 17, 2025

@elasticmachine merge upstream

@semd semd marked this pull request as ready for review January 30, 2025 14:44
@semd semd requested review from a team as code owners January 30, 2025 14:44
@semd

This comment was marked as resolved.

@kc13greiner
Copy link
Copy Markdown
Contributor

ACK: re-reviewing

@semd semd disabled auto-merge February 5, 2025 14:36
@semd semd added the v8.19.0 label Feb 5, 2025
Copy link
Copy Markdown
Contributor

@kc13greiner kc13greiner left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall LGTM!

One nit: When I load this card, it doesn't match your screenshot, but it is probably misconfig error on my end ( It looked like there should be 2 sections):
Screenshot 2025-02-05 at 1 26 57 PM

Thanks for working with me on this - looks great!

@semd
Copy link
Copy Markdown
Contributor Author

semd commented Feb 5, 2025

Overall LGTM!

One nit: When I load this card, it doesn't match your screenshot, but it is probably misconfig error on my end ( It looked like there should be 2 sections):

@kc13greiner This is the UI when there's no AI connector created, the UI with 2 sections is displayed when you have at least one connector available
Thanks for the review! 🙏

@semd semd merged commit a990be6 into elastic:main Feb 6, 2025
@kibanamachine
Copy link
Copy Markdown
Contributor

Starting backport for target branches: 8.18, 8.x, 9.0

https://github.com/elastic/kibana/actions/runs/13184684371

kibanamachine added a commit to kibanamachine/kibana that referenced this pull request Feb 6, 2025
## Summary

Implements the access controls for SIEM rule migrations.

## API changes

- All API routes have been secured with "SIEM Migration" feature checks
- Start migration API route now checks if the user has privileges to use
the connector ID received

## UI changes

###  Onboarding SIEM migrations

- AI Connector selection
- Actions & Connectors: Read -> This privilege allows reading and
selecting a connector

Otherwise, we show a callout with the missing privileges:
![connector read
missing](https://github.com/user-attachments/assets/2eb474df-78f0-488c-803b-7c874123b62a)

- Create a migration
  - Security All -> Main Security read & write access
  - Siem Migrations All -> new feature under the Security catalog
- Actions & Connectors: Read -> This privilege allows connector
execution for LLM calls

Otherwise, we show a callout with the missing privileges:
![onboarding start card
callout](https://github.com/user-attachments/assets/19975efd-d684-47d8-b4c0-0352b7c319b4)

### Rule Translations page

- Minimum privileges to make the page accessible (read access):
  - Security Read -> Main Security read access
  - Siem Migrations All -> new feature under the Security catalog

Otherwise, we hide the link in the navigation and display the generic
empty state if accessed:
![rules minimum privileges
missing](https://github.com/user-attachments/assets/9dd88c72-e669-4fde-8397-e76d3d5069f9)

- To successfully install rules the following privileges are also
required (write access):
  - Security All -> Main Security read & write access
- Index privileges for `.alerts*` pattern: _read, write,
view_index_metadata, manage_
  - Index privileges for `lookup_*` pattern: _read_

Otherwise, we show a callout at the top of the page, this callout is
consistent with the one displayed on the Detection Rules page
(`/app/security/rules`)
![alerts privileges
missing](https://github.com/user-attachments/assets/105e53d7-9591-457f-983a-7fe4f9f33068)

- To retry rule translations (upload missing macros/lookups or retry
errors)
- Actions & Connectors: Read -> This privilege allows connector
execution for LLM calls

Otherwise, when attempted, we show a toast with the missing privilege.

![](https://github.com/user-attachments/assets/f6090bb5-e6f8-4be7-bb9b-c4192155bdf8)

## Other changes

- Technical preview label

![technical
preview](https://github.com/user-attachments/assets/244724e2-9756-4c6d-805f-3459367f7975)

- No connector selected toast

https://github.com/user-attachments/assets/e4900129-ae9c-413f-9a41-f7dca452e71d

## Fixes

- [Fixed] Not possible to select a connector when no connector is
selected:
![bug
connectors](https://github.com/user-attachments/assets/2f5a831e-2172-4e77-9997-2447b4ee866f)

---------

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
(cherry picked from commit a990be6)
@kibanamachine
Copy link
Copy Markdown
Contributor

💔 Some backports could not be created

Status Branch Result
8.18 Backport failed because of merge conflicts
8.x Backport failed because of merge conflicts
9.0

Note: Successful backport PRs will be merged automatically after passing CI.

Manual backport

To create the backport manually run:

node scripts/backport --pr 207087

Questions ?

Please refer to the Backport tool documentation

drewdaemon pushed a commit to drewdaemon/kibana that referenced this pull request Feb 6, 2025
## Summary

Implements the access controls for SIEM rule migrations.

## API changes

- All API routes have been secured with "SIEM Migration" feature checks
- Start migration API route now checks if the user has privileges to use
the connector ID received
 
## UI changes

###  Onboarding SIEM migrations

- AI Connector selection
- Actions & Connectors: Read -> This privilege allows reading and
selecting a connector

Otherwise, we show a callout with the missing privileges:
![connector read
missing](https://github.com/user-attachments/assets/2eb474df-78f0-488c-803b-7c874123b62a)

- Create a migration
  - Security All -> Main Security read & write access
  - Siem Migrations All -> new feature under the Security catalog
- Actions & Connectors: Read -> This privilege allows connector
execution for LLM calls

Otherwise, we show a callout with the missing privileges:
![onboarding start card
callout](https://github.com/user-attachments/assets/19975efd-d684-47d8-b4c0-0352b7c319b4)

### Rule Translations page

- Minimum privileges to make the page accessible (read access):
  - Security Read -> Main Security read access
  - Siem Migrations All -> new feature under the Security catalog
    
Otherwise, we hide the link in the navigation and display the generic
empty state if accessed:
![rules minimum privileges
missing](https://github.com/user-attachments/assets/9dd88c72-e669-4fde-8397-e76d3d5069f9)

- To successfully install rules the following privileges are also
required (write access):
  - Security All -> Main Security read & write access
- Index privileges for `.alerts*` pattern: _read, write,
view_index_metadata, manage_
  - Index privileges for `lookup_*` pattern: _read_

Otherwise, we show a callout at the top of the page, this callout is
consistent with the one displayed on the Detection Rules page
(`/app/security/rules`)
![alerts privileges
missing](https://github.com/user-attachments/assets/105e53d7-9591-457f-983a-7fe4f9f33068)

- To retry rule translations (upload missing macros/lookups or retry
errors)
- Actions & Connectors: Read -> This privilege allows connector
execution for LLM calls

Otherwise, when attempted, we show a toast with the missing privilege. 

![](https://github.com/user-attachments/assets/f6090bb5-e6f8-4be7-bb9b-c4192155bdf8)

## Other changes

- Technical preview label

![technical
preview](https://github.com/user-attachments/assets/244724e2-9756-4c6d-805f-3459367f7975)

- No connector selected toast


https://github.com/user-attachments/assets/e4900129-ae9c-413f-9a41-f7dca452e71d

## Fixes

- [Fixed] Not possible to select a connector when no connector is
selected:
![bug
connectors](https://github.com/user-attachments/assets/2f5a831e-2172-4e77-9997-2447b4ee866f)

---------

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
kibanamachine added a commit that referenced this pull request Feb 7, 2025
# Backport

This will backport the following commits from `main` to `9.0`:
- [[Security Solution] SIEM Migrations RBAC
(#207087)](#207087)

<!--- Backport version: 9.4.3 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sqren/backport)

<!--BACKPORT [{"author":{"name":"Sergi
Massaneda","email":"sergi.massaneda@elastic.co"},"sourceCommit":{"committedDate":"2025-02-06T17:41:21Z","message":"[Security
Solution] SIEM Migrations RBAC (#207087)\n\n## Summary\r\n\r\nImplements
the access controls for SIEM rule migrations.\r\n\r\n## API
changes\r\n\r\n- All API routes have been secured with \"SIEM
Migration\" feature checks\r\n- Start migration API route now checks if
the user has privileges to use\r\nthe connector ID received\r\n \r\n##
UI changes\r\n\r\n### Onboarding SIEM migrations\r\n\r\n- AI Connector
selection\r\n- Actions & Connectors: Read -> This privilege allows
reading and\r\nselecting a connector\r\n\r\nOtherwise, we show a callout
with the missing privileges:\r\n![connector
read\r\nmissing](https://github.com/user-attachments/assets/2eb474df-78f0-488c-803b-7c874123b62a)\r\n\r\n-
Create a migration\r\n - Security All -> Main Security read & write
access\r\n - Siem Migrations All -> new feature under the Security
catalog\r\n- Actions & Connectors: Read -> This privilege allows
connector\r\nexecution for LLM calls\r\n\r\nOtherwise, we show a callout
with the missing privileges:\r\n![onboarding start
card\r\ncallout](https://github.com/user-attachments/assets/19975efd-d684-47d8-b4c0-0352b7c319b4)\r\n\r\n###
Rule Translations page\r\n\r\n- Minimum privileges to make the page
accessible (read access):\r\n - Security Read -> Main Security read
access\r\n - Siem Migrations All -> new feature under the Security
catalog\r\n \r\nOtherwise, we hide the link in the navigation and
display the generic\r\nempty state if accessed:\r\n![rules minimum
privileges\r\nmissing](https://github.com/user-attachments/assets/9dd88c72-e669-4fde-8397-e76d3d5069f9)\r\n\r\n-
To successfully install rules the following privileges are
also\r\nrequired (write access):\r\n - Security All -> Main Security
read & write access\r\n- Index privileges for `.alerts*` pattern: _read,
write,\r\nview_index_metadata, manage_\r\n - Index privileges for
`lookup_*` pattern: _read_\r\n\r\nOtherwise, we show a callout at the
top of the page, this callout is\r\nconsistent with the one displayed on
the Detection Rules page\r\n(`/app/security/rules`)\r\n![alerts
privileges\r\nmissing](https://github.com/user-attachments/assets/105e53d7-9591-457f-983a-7fe4f9f33068)\r\n\r\n-
To retry rule translations (upload missing macros/lookups or
retry\r\nerrors)\r\n- Actions & Connectors: Read -> This privilege
allows connector\r\nexecution for LLM calls\r\n\r\nOtherwise, when
attempted, we show a toast with the missing privilege.
\r\n\r\n![](https://github.com/user-attachments/assets/f6090bb5-e6f8-4be7-bb9b-c4192155bdf8)\r\n\r\n##
Other changes\r\n\r\n- Technical preview
label\r\n\r\n![technical\r\npreview](https://github.com/user-attachments/assets/244724e2-9756-4c6d-805f-3459367f7975)\r\n\r\n-
No connector selected
toast\r\n\r\n\r\nhttps://github.com/user-attachments/assets/e4900129-ae9c-413f-9a41-f7dca452e71d\r\n\r\n##
Fixes\r\n\r\n- [Fixed] Not possible to select a connector when no
connector
is\r\nselected:\r\n![bug\r\nconnectors](https://github.com/user-attachments/assets/2f5a831e-2172-4e77-9997-2447b4ee866f)\r\n\r\n---------\r\n\r\nCo-authored-by:
Elastic Machine
<elasticmachine@users.noreply.github.com>\r\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"a990be66dffbe89b271722630fd78b544b6ae903","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","v9.0.0","Team:Threat
Hunting","backport:version","v8.18.0","v9.1.0","v8.19.0"],"title":"[Security
Solution] SIEM Migrations
RBAC","number":207087,"url":"https://github.com/elastic/kibana/pull/207087","mergeCommit":{"message":"[Security
Solution] SIEM Migrations RBAC (#207087)\n\n## Summary\r\n\r\nImplements
the access controls for SIEM rule migrations.\r\n\r\n## API
changes\r\n\r\n- All API routes have been secured with \"SIEM
Migration\" feature checks\r\n- Start migration API route now checks if
the user has privileges to use\r\nthe connector ID received\r\n \r\n##
UI changes\r\n\r\n### Onboarding SIEM migrations\r\n\r\n- AI Connector
selection\r\n- Actions & Connectors: Read -> This privilege allows
reading and\r\nselecting a connector\r\n\r\nOtherwise, we show a callout
with the missing privileges:\r\n![connector
read\r\nmissing](https://github.com/user-attachments/assets/2eb474df-78f0-488c-803b-7c874123b62a)\r\n\r\n-
Create a migration\r\n - Security All -> Main Security read & write
access\r\n - Siem Migrations All -> new feature under the Security
catalog\r\n- Actions & Connectors: Read -> This privilege allows
connector\r\nexecution for LLM calls\r\n\r\nOtherwise, we show a callout
with the missing privileges:\r\n![onboarding start
card\r\ncallout](https://github.com/user-attachments/assets/19975efd-d684-47d8-b4c0-0352b7c319b4)\r\n\r\n###
Rule Translations page\r\n\r\n- Minimum privileges to make the page
accessible (read access):\r\n - Security Read -> Main Security read
access\r\n - Siem Migrations All -> new feature under the Security
catalog\r\n \r\nOtherwise, we hide the link in the navigation and
display the generic\r\nempty state if accessed:\r\n![rules minimum
privileges\r\nmissing](https://github.com/user-attachments/assets/9dd88c72-e669-4fde-8397-e76d3d5069f9)\r\n\r\n-
To successfully install rules the following privileges are
also\r\nrequired (write access):\r\n - Security All -> Main Security
read & write access\r\n- Index privileges for `.alerts*` pattern: _read,
write,\r\nview_index_metadata, manage_\r\n - Index privileges for
`lookup_*` pattern: _read_\r\n\r\nOtherwise, we show a callout at the
top of the page, this callout is\r\nconsistent with the one displayed on
the Detection Rules page\r\n(`/app/security/rules`)\r\n![alerts
privileges\r\nmissing](https://github.com/user-attachments/assets/105e53d7-9591-457f-983a-7fe4f9f33068)\r\n\r\n-
To retry rule translations (upload missing macros/lookups or
retry\r\nerrors)\r\n- Actions & Connectors: Read -> This privilege
allows connector\r\nexecution for LLM calls\r\n\r\nOtherwise, when
attempted, we show a toast with the missing privilege.
\r\n\r\n![](https://github.com/user-attachments/assets/f6090bb5-e6f8-4be7-bb9b-c4192155bdf8)\r\n\r\n##
Other changes\r\n\r\n- Technical preview
label\r\n\r\n![technical\r\npreview](https://github.com/user-attachments/assets/244724e2-9756-4c6d-805f-3459367f7975)\r\n\r\n-
No connector selected
toast\r\n\r\n\r\nhttps://github.com/user-attachments/assets/e4900129-ae9c-413f-9a41-f7dca452e71d\r\n\r\n##
Fixes\r\n\r\n- [Fixed] Not possible to select a connector when no
connector
is\r\nselected:\r\n![bug\r\nconnectors](https://github.com/user-attachments/assets/2f5a831e-2172-4e77-9997-2447b4ee866f)\r\n\r\n---------\r\n\r\nCo-authored-by:
Elastic Machine
<elasticmachine@users.noreply.github.com>\r\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"a990be66dffbe89b271722630fd78b544b6ae903"}},"sourceBranch":"main","suggestedTargetBranches":["9.0","8.18","8.x"],"targetPullRequestStates":[{"branch":"9.0","label":"v9.0.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"8.18","label":"v8.18.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/207087","number":207087,"mergeCommit":{"message":"[Security
Solution] SIEM Migrations RBAC (#207087)\n\n## Summary\r\n\r\nImplements
the access controls for SIEM rule migrations.\r\n\r\n## API
changes\r\n\r\n- All API routes have been secured with \"SIEM
Migration\" feature checks\r\n- Start migration API route now checks if
the user has privileges to use\r\nthe connector ID received\r\n \r\n##
UI changes\r\n\r\n### Onboarding SIEM migrations\r\n\r\n- AI Connector
selection\r\n- Actions & Connectors: Read -> This privilege allows
reading and\r\nselecting a connector\r\n\r\nOtherwise, we show a callout
with the missing privileges:\r\n![connector
read\r\nmissing](https://github.com/user-attachments/assets/2eb474df-78f0-488c-803b-7c874123b62a)\r\n\r\n-
Create a migration\r\n - Security All -> Main Security read & write
access\r\n - Siem Migrations All -> new feature under the Security
catalog\r\n- Actions & Connectors: Read -> This privilege allows
connector\r\nexecution for LLM calls\r\n\r\nOtherwise, we show a callout
with the missing privileges:\r\n![onboarding start
card\r\ncallout](https://github.com/user-attachments/assets/19975efd-d684-47d8-b4c0-0352b7c319b4)\r\n\r\n###
Rule Translations page\r\n\r\n- Minimum privileges to make the page
accessible (read access):\r\n - Security Read -> Main Security read
access\r\n - Siem Migrations All -> new feature under the Security
catalog\r\n \r\nOtherwise, we hide the link in the navigation and
display the generic\r\nempty state if accessed:\r\n![rules minimum
privileges\r\nmissing](https://github.com/user-attachments/assets/9dd88c72-e669-4fde-8397-e76d3d5069f9)\r\n\r\n-
To successfully install rules the following privileges are
also\r\nrequired (write access):\r\n - Security All -> Main Security
read & write access\r\n- Index privileges for `.alerts*` pattern: _read,
write,\r\nview_index_metadata, manage_\r\n - Index privileges for
`lookup_*` pattern: _read_\r\n\r\nOtherwise, we show a callout at the
top of the page, this callout is\r\nconsistent with the one displayed on
the Detection Rules page\r\n(`/app/security/rules`)\r\n![alerts
privileges\r\nmissing](https://github.com/user-attachments/assets/105e53d7-9591-457f-983a-7fe4f9f33068)\r\n\r\n-
To retry rule translations (upload missing macros/lookups or
retry\r\nerrors)\r\n- Actions & Connectors: Read -> This privilege
allows connector\r\nexecution for LLM calls\r\n\r\nOtherwise, when
attempted, we show a toast with the missing privilege.
\r\n\r\n![](https://github.com/user-attachments/assets/f6090bb5-e6f8-4be7-bb9b-c4192155bdf8)\r\n\r\n##
Other changes\r\n\r\n- Technical preview
label\r\n\r\n![technical\r\npreview](https://github.com/user-attachments/assets/244724e2-9756-4c6d-805f-3459367f7975)\r\n\r\n-
No connector selected
toast\r\n\r\n\r\nhttps://github.com/user-attachments/assets/e4900129-ae9c-413f-9a41-f7dca452e71d\r\n\r\n##
Fixes\r\n\r\n- [Fixed] Not possible to select a connector when no
connector
is\r\nselected:\r\n![bug\r\nconnectors](https://github.com/user-attachments/assets/2f5a831e-2172-4e77-9997-2447b4ee866f)\r\n\r\n---------\r\n\r\nCo-authored-by:
Elastic Machine
<elasticmachine@users.noreply.github.com>\r\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"a990be66dffbe89b271722630fd78b544b6ae903"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

Co-authored-by: Sergi Massaneda <sergi.massaneda@elastic.co>
@semd
Copy link
Copy Markdown
Contributor Author

semd commented Feb 7, 2025

💚 All backports created successfully

Status Branch Result
8.x
8.18

Note: Successful backport PRs will be merged automatically after passing CI.

Questions ?

Please refer to the Backport tool documentation

semd added a commit to semd/kibana that referenced this pull request Feb 7, 2025
## Summary

Implements the access controls for SIEM rule migrations.

## API changes

- All API routes have been secured with "SIEM Migration" feature checks
- Start migration API route now checks if the user has privileges to use
the connector ID received

## UI changes

###  Onboarding SIEM migrations

- AI Connector selection
- Actions & Connectors: Read -> This privilege allows reading and
selecting a connector

Otherwise, we show a callout with the missing privileges:
![connector read
missing](https://github.com/user-attachments/assets/2eb474df-78f0-488c-803b-7c874123b62a)

- Create a migration
  - Security All -> Main Security read & write access
  - Siem Migrations All -> new feature under the Security catalog
- Actions & Connectors: Read -> This privilege allows connector
execution for LLM calls

Otherwise, we show a callout with the missing privileges:
![onboarding start card
callout](https://github.com/user-attachments/assets/19975efd-d684-47d8-b4c0-0352b7c319b4)

### Rule Translations page

- Minimum privileges to make the page accessible (read access):
  - Security Read -> Main Security read access
  - Siem Migrations All -> new feature under the Security catalog

Otherwise, we hide the link in the navigation and display the generic
empty state if accessed:
![rules minimum privileges
missing](https://github.com/user-attachments/assets/9dd88c72-e669-4fde-8397-e76d3d5069f9)

- To successfully install rules the following privileges are also
required (write access):
  - Security All -> Main Security read & write access
- Index privileges for `.alerts*` pattern: _read, write,
view_index_metadata, manage_
  - Index privileges for `lookup_*` pattern: _read_

Otherwise, we show a callout at the top of the page, this callout is
consistent with the one displayed on the Detection Rules page
(`/app/security/rules`)
![alerts privileges
missing](https://github.com/user-attachments/assets/105e53d7-9591-457f-983a-7fe4f9f33068)

- To retry rule translations (upload missing macros/lookups or retry
errors)
- Actions & Connectors: Read -> This privilege allows connector
execution for LLM calls

Otherwise, when attempted, we show a toast with the missing privilege.

![](https://github.com/user-attachments/assets/f6090bb5-e6f8-4be7-bb9b-c4192155bdf8)

## Other changes

- Technical preview label

![technical
preview](https://github.com/user-attachments/assets/244724e2-9756-4c6d-805f-3459367f7975)

- No connector selected toast

https://github.com/user-attachments/assets/e4900129-ae9c-413f-9a41-f7dca452e71d

## Fixes

- [Fixed] Not possible to select a connector when no connector is
selected:
![bug
connectors](https://github.com/user-attachments/assets/2f5a831e-2172-4e77-9997-2447b4ee866f)

---------

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
(cherry picked from commit a990be6)

# Conflicts:
#	x-pack/test/spaces_api_integration/common/suites/get.ts
semd added a commit to semd/kibana that referenced this pull request Feb 7, 2025
## Summary

Implements the access controls for SIEM rule migrations.

## API changes

- All API routes have been secured with "SIEM Migration" feature checks
- Start migration API route now checks if the user has privileges to use
the connector ID received

## UI changes

###  Onboarding SIEM migrations

- AI Connector selection
- Actions & Connectors: Read -> This privilege allows reading and
selecting a connector

Otherwise, we show a callout with the missing privileges:
![connector read
missing](https://github.com/user-attachments/assets/2eb474df-78f0-488c-803b-7c874123b62a)

- Create a migration
  - Security All -> Main Security read & write access
  - Siem Migrations All -> new feature under the Security catalog
- Actions & Connectors: Read -> This privilege allows connector
execution for LLM calls

Otherwise, we show a callout with the missing privileges:
![onboarding start card
callout](https://github.com/user-attachments/assets/19975efd-d684-47d8-b4c0-0352b7c319b4)

### Rule Translations page

- Minimum privileges to make the page accessible (read access):
  - Security Read -> Main Security read access
  - Siem Migrations All -> new feature under the Security catalog

Otherwise, we hide the link in the navigation and display the generic
empty state if accessed:
![rules minimum privileges
missing](https://github.com/user-attachments/assets/9dd88c72-e669-4fde-8397-e76d3d5069f9)

- To successfully install rules the following privileges are also
required (write access):
  - Security All -> Main Security read & write access
- Index privileges for `.alerts*` pattern: _read, write,
view_index_metadata, manage_
  - Index privileges for `lookup_*` pattern: _read_

Otherwise, we show a callout at the top of the page, this callout is
consistent with the one displayed on the Detection Rules page
(`/app/security/rules`)
![alerts privileges
missing](https://github.com/user-attachments/assets/105e53d7-9591-457f-983a-7fe4f9f33068)

- To retry rule translations (upload missing macros/lookups or retry
errors)
- Actions & Connectors: Read -> This privilege allows connector
execution for LLM calls

Otherwise, when attempted, we show a toast with the missing privilege.

![](https://github.com/user-attachments/assets/f6090bb5-e6f8-4be7-bb9b-c4192155bdf8)

## Other changes

- Technical preview label

![technical
preview](https://github.com/user-attachments/assets/244724e2-9756-4c6d-805f-3459367f7975)

- No connector selected toast

https://github.com/user-attachments/assets/e4900129-ae9c-413f-9a41-f7dca452e71d

## Fixes

- [Fixed] Not possible to select a connector when no connector is
selected:
![bug
connectors](https://github.com/user-attachments/assets/2f5a831e-2172-4e77-9997-2447b4ee866f)

---------

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
(cherry picked from commit a990be6)

# Conflicts:
#	x-pack/test/spaces_api_integration/common/suites/get.ts
semd added a commit that referenced this pull request Feb 7, 2025
# Backport

This will backport the following commits from `main` to `8.18`:
- [[Security Solution] SIEM Migrations RBAC
(#207087)](#207087)

<!--- Backport version: 9.6.4 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Sergi
Massaneda","email":"sergi.massaneda@elastic.co"},"sourceCommit":{"committedDate":"2025-02-06T17:41:21Z","message":"[Security
Solution] SIEM Migrations RBAC (#207087)\n\n## Summary\r\n\r\nImplements
the access controls for SIEM rule migrations.\r\n\r\n## API
changes\r\n\r\n- All API routes have been secured with \"SIEM
Migration\" feature checks\r\n- Start migration API route now checks if
the user has privileges to use\r\nthe connector ID received\r\n \r\n##
UI changes\r\n\r\n### Onboarding SIEM migrations\r\n\r\n- AI Connector
selection\r\n- Actions & Connectors: Read -> This privilege allows
reading and\r\nselecting a connector\r\n\r\nOtherwise, we show a callout
with the missing privileges:\r\n![connector
read\r\nmissing](https://github.com/user-attachments/assets/2eb474df-78f0-488c-803b-7c874123b62a)\r\n\r\n-
Create a migration\r\n - Security All -> Main Security read & write
access\r\n - Siem Migrations All -> new feature under the Security
catalog\r\n- Actions & Connectors: Read -> This privilege allows
connector\r\nexecution for LLM calls\r\n\r\nOtherwise, we show a callout
with the missing privileges:\r\n![onboarding start
card\r\ncallout](https://github.com/user-attachments/assets/19975efd-d684-47d8-b4c0-0352b7c319b4)\r\n\r\n###
Rule Translations page\r\n\r\n- Minimum privileges to make the page
accessible (read access):\r\n - Security Read -> Main Security read
access\r\n - Siem Migrations All -> new feature under the Security
catalog\r\n \r\nOtherwise, we hide the link in the navigation and
display the generic\r\nempty state if accessed:\r\n![rules minimum
privileges\r\nmissing](https://github.com/user-attachments/assets/9dd88c72-e669-4fde-8397-e76d3d5069f9)\r\n\r\n-
To successfully install rules the following privileges are
also\r\nrequired (write access):\r\n - Security All -> Main Security
read & write access\r\n- Index privileges for `.alerts*` pattern: _read,
write,\r\nview_index_metadata, manage_\r\n - Index privileges for
`lookup_*` pattern: _read_\r\n\r\nOtherwise, we show a callout at the
top of the page, this callout is\r\nconsistent with the one displayed on
the Detection Rules page\r\n(`/app/security/rules`)\r\n![alerts
privileges\r\nmissing](https://github.com/user-attachments/assets/105e53d7-9591-457f-983a-7fe4f9f33068)\r\n\r\n-
To retry rule translations (upload missing macros/lookups or
retry\r\nerrors)\r\n- Actions & Connectors: Read -> This privilege
allows connector\r\nexecution for LLM calls\r\n\r\nOtherwise, when
attempted, we show a toast with the missing privilege.
\r\n\r\n![](https://github.com/user-attachments/assets/f6090bb5-e6f8-4be7-bb9b-c4192155bdf8)\r\n\r\n##
Other changes\r\n\r\n- Technical preview
label\r\n\r\n![technical\r\npreview](https://github.com/user-attachments/assets/244724e2-9756-4c6d-805f-3459367f7975)\r\n\r\n-
No connector selected
toast\r\n\r\n\r\nhttps://github.com/user-attachments/assets/e4900129-ae9c-413f-9a41-f7dca452e71d\r\n\r\n##
Fixes\r\n\r\n- [Fixed] Not possible to select a connector when no
connector
is\r\nselected:\r\n![bug\r\nconnectors](https://github.com/user-attachments/assets/2f5a831e-2172-4e77-9997-2447b4ee866f)\r\n\r\n---------\r\n\r\nCo-authored-by:
Elastic Machine
<elasticmachine@users.noreply.github.com>\r\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"a990be66dffbe89b271722630fd78b544b6ae903","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","v9.0.0","Team:Threat
Hunting","backport:version","v8.18.0","v9.1.0","v8.19.0"],"title":"[Security
Solution] SIEM Migrations
RBAC","number":207087,"url":"https://github.com/elastic/kibana/pull/207087","mergeCommit":{"message":"[Security
Solution] SIEM Migrations RBAC (#207087)\n\n## Summary\r\n\r\nImplements
the access controls for SIEM rule migrations.\r\n\r\n## API
changes\r\n\r\n- All API routes have been secured with \"SIEM
Migration\" feature checks\r\n- Start migration API route now checks if
the user has privileges to use\r\nthe connector ID received\r\n \r\n##
UI changes\r\n\r\n### Onboarding SIEM migrations\r\n\r\n- AI Connector
selection\r\n- Actions & Connectors: Read -> This privilege allows
reading and\r\nselecting a connector\r\n\r\nOtherwise, we show a callout
with the missing privileges:\r\n![connector
read\r\nmissing](https://github.com/user-attachments/assets/2eb474df-78f0-488c-803b-7c874123b62a)\r\n\r\n-
Create a migration\r\n - Security All -> Main Security read & write
access\r\n - Siem Migrations All -> new feature under the Security
catalog\r\n- Actions & Connectors: Read -> This privilege allows
connector\r\nexecution for LLM calls\r\n\r\nOtherwise, we show a callout
with the missing privileges:\r\n![onboarding start
card\r\ncallout](https://github.com/user-attachments/assets/19975efd-d684-47d8-b4c0-0352b7c319b4)\r\n\r\n###
Rule Translations page\r\n\r\n- Minimum privileges to make the page
accessible (read access):\r\n - Security Read -> Main Security read
access\r\n - Siem Migrations All -> new feature under the Security
catalog\r\n \r\nOtherwise, we hide the link in the navigation and
display the generic\r\nempty state if accessed:\r\n![rules minimum
privileges\r\nmissing](https://github.com/user-attachments/assets/9dd88c72-e669-4fde-8397-e76d3d5069f9)\r\n\r\n-
To successfully install rules the following privileges are
also\r\nrequired (write access):\r\n - Security All -> Main Security
read & write access\r\n- Index privileges for `.alerts*` pattern: _read,
write,\r\nview_index_metadata, manage_\r\n - Index privileges for
`lookup_*` pattern: _read_\r\n\r\nOtherwise, we show a callout at the
top of the page, this callout is\r\nconsistent with the one displayed on
the Detection Rules page\r\n(`/app/security/rules`)\r\n![alerts
privileges\r\nmissing](https://github.com/user-attachments/assets/105e53d7-9591-457f-983a-7fe4f9f33068)\r\n\r\n-
To retry rule translations (upload missing macros/lookups or
retry\r\nerrors)\r\n- Actions & Connectors: Read -> This privilege
allows connector\r\nexecution for LLM calls\r\n\r\nOtherwise, when
attempted, we show a toast with the missing privilege.
\r\n\r\n![](https://github.com/user-attachments/assets/f6090bb5-e6f8-4be7-bb9b-c4192155bdf8)\r\n\r\n##
Other changes\r\n\r\n- Technical preview
label\r\n\r\n![technical\r\npreview](https://github.com/user-attachments/assets/244724e2-9756-4c6d-805f-3459367f7975)\r\n\r\n-
No connector selected
toast\r\n\r\n\r\nhttps://github.com/user-attachments/assets/e4900129-ae9c-413f-9a41-f7dca452e71d\r\n\r\n##
Fixes\r\n\r\n- [Fixed] Not possible to select a connector when no
connector
is\r\nselected:\r\n![bug\r\nconnectors](https://github.com/user-attachments/assets/2f5a831e-2172-4e77-9997-2447b4ee866f)\r\n\r\n---------\r\n\r\nCo-authored-by:
Elastic Machine
<elasticmachine@users.noreply.github.com>\r\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"a990be66dffbe89b271722630fd78b544b6ae903"}},"sourceBranch":"main","suggestedTargetBranches":["8.18","8.x"],"targetPullRequestStates":[{"branch":"9.0","label":"v9.0.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"url":"https://github.com/elastic/kibana/pull/210086","number":210086,"state":"MERGED","mergeCommit":{"sha":"8acee959bc8252dade3aa5f2a335dbe129d962c3","message":"[9.0]
[Security Solution] SIEM Migrations RBAC (#207087) (#210086)\n\n#
Backport\n\nThis will backport the following commits from `main` to
`9.0`:\n- [[Security Solution] SIEM Migrations
RBAC\n(#207087)](https://github.com/elastic/kibana/pull/207087)\n\n<!---
Backport version: 9.4.3 -->\n\n### Questions ?\nPlease refer to the
[Backport
tool\ndocumentation](https://github.com/sqren/backport)\n\n<!--BACKPORT
[{\"author\":{\"name\":\"Sergi\nMassaneda\",\"email\":\"sergi.massaneda@elastic.co\"},\"sourceCommit\":{\"committedDate\":\"2025-02-06T17:41:21Z\",\"message\":\"[Security\nSolution]
SIEM Migrations RBAC (#207087)\\n\\n##
Summary\\r\\n\\r\\nImplements\nthe access controls for SIEM rule
migrations.\\r\\n\\r\\n## API\nchanges\\r\\n\\r\\n- All API routes have
been secured with \\\"SIEM\nMigration\\\" feature checks\\r\\n- Start
migration API route now checks if\nthe user has privileges to
use\\r\\nthe connector ID received\\r\\n \\r\\n##\nUI
changes\\r\\n\\r\\n### Onboarding SIEM migrations\\r\\n\\r\\n- AI
Connector\nselection\\r\\n- Actions & Connectors: Read -> This privilege
allows\nreading and\\r\\nselecting a connector\\r\\n\\r\\nOtherwise, we
show a callout\nwith the missing
privileges:\\r\\n![connector\nread\\r\\nmissing](https://github.com/user-attachments/assets/2eb474df-78f0-488c-803b-7c874123b62a)\\r\\n\\r\\n-\nCreate
a migration\\r\\n - Security All -> Main Security read &
write\naccess\\r\\n - Siem Migrations All -> new feature under the
Security\ncatalog\\r\\n- Actions & Connectors: Read -> This privilege
allows\nconnector\\r\\nexecution for LLM calls\\r\\n\\r\\nOtherwise, we
show a callout\nwith the missing privileges:\\r\\n![onboarding
start\ncard\\r\\ncallout](https://github.com/user-attachments/assets/19975efd-d684-47d8-b4c0-0352b7c319b4)\\r\\n\\r\\n###\nRule
Translations page\\r\\n\\r\\n- Minimum privileges to make the
page\naccessible (read access):\\r\\n - Security Read -> Main Security
read\naccess\\r\\n - Siem Migrations All -> new feature under the
Security\ncatalog\\r\\n \\r\\nOtherwise, we hide the link in the
navigation and\ndisplay the generic\\r\\nempty state if
accessed:\\r\\n![rules
minimum\nprivileges\\r\\nmissing](https://github.com/user-attachments/assets/9dd88c72-e669-4fde-8397-e76d3d5069f9)\\r\\n\\r\\n-\nTo
successfully install rules the following privileges
are\nalso\\r\\nrequired (write access):\\r\\n - Security All -> Main
Security\nread & write access\\r\\n- Index privileges for `.alerts*`
pattern: _read,\nwrite,\\r\\nview_index_metadata, manage_\\r\\n - Index
privileges for\n`lookup_*` pattern: _read_\\r\\n\\r\\nOtherwise, we show
a callout at the\ntop of the page, this callout is\\r\\nconsistent with
the one displayed on\nthe Detection Rules
page\\r\\n(`/app/security/rules`)\\r\\n![alerts\nprivileges\\r\\nmissing](https://github.com/user-attachments/assets/105e53d7-9591-457f-983a-7fe4f9f33068)\\r\\n\\r\\n-\nTo
retry rule translations (upload missing macros/lookups
or\nretry\\r\\nerrors)\\r\\n- Actions & Connectors: Read -> This
privilege\nallows connector\\r\\nexecution for LLM
calls\\r\\n\\r\\nOtherwise, when\nattempted, we show a toast with the
missing
privilege.\n\\r\\n\\r\\n![](https://github.com/user-attachments/assets/f6090bb5-e6f8-4be7-bb9b-c4192155bdf8)\\r\\n\\r\\n##\nOther
changes\\r\\n\\r\\n- Technical
preview\nlabel\\r\\n\\r\\n![technical\\r\\npreview](https://github.com/user-attachments/assets/244724e2-9756-4c6d-805f-3459367f7975)\\r\\n\\r\\n-\nNo
connector
selected\ntoast\\r\\n\\r\\n\\r\\nhttps://github.com/user-attachments/assets/e4900129-ae9c-413f-9a41-f7dca452e71d\\r\\n\\r\\n##\nFixes\\r\\n\\r\\n-
[Fixed] Not possible to select a connector when
no\nconnector\nis\\r\\nselected:\\r\\n![bug\\r\\nconnectors](https://github.com/user-attachments/assets/2f5a831e-2172-4e77-9997-2447b4ee866f)\\r\\n\\r\\n---------\\r\\n\\r\\nCo-authored-by:\nElastic
Machine\n<elasticmachine@users.noreply.github.com>\\r\\nCo-authored-by:\nkibanamachine\n<42973632+kibanamachine@users.noreply.github.com>\",\"sha\":\"a990be66dffbe89b271722630fd78b544b6ae903\",\"branchLabelMapping\":{\"^v9.1.0$\":\"main\",\"^v8.19.0$\":\"8.x\",\"^v(\\\\d+).(\\\\d+).\\\\d+$\":\"$1.$2\"}},\"sourcePullRequest\":{\"labels\":[\"release_note:skip\",\"v9.0.0\",\"Team:Threat\nHunting\",\"backport:version\",\"v8.18.0\",\"v9.1.0\",\"v8.19.0\"],\"title\":\"[Security\nSolution]
SIEM
Migrations\nRBAC\",\"number\":207087,\"url\":\"https://github.com/elastic/kibana/pull/207087\",\"mergeCommit\":{\"message\":\"[Security\nSolution]
SIEM Migrations RBAC (#207087)\\n\\n##
Summary\\r\\n\\r\\nImplements\nthe access controls for SIEM rule
migrations.\\r\\n\\r\\n## API\nchanges\\r\\n\\r\\n- All API routes have
been secured with \\\"SIEM\nMigration\\\" feature checks\\r\\n- Start
migration API route now checks if\nthe user has privileges to
use\\r\\nthe connector ID received\\r\\n \\r\\n##\nUI
changes\\r\\n\\r\\n### Onboarding SIEM migrations\\r\\n\\r\\n- AI
Connector\nselection\\r\\n- Actions & Connectors: Read -> This privilege
allows\nreading and\\r\\nselecting a connector\\r\\n\\r\\nOtherwise, we
show a callout\nwith the missing
privileges:\\r\\n![connector\nread\\r\\nmissing](https://github.com/user-attachments/assets/2eb474df-78f0-488c-803b-7c874123b62a)\\r\\n\\r\\n-\nCreate
a migration\\r\\n - Security All -> Main Security read &
write\naccess\\r\\n - Siem Migrations All -> new feature under the
Security\ncatalog\\r\\n- Actions & Connectors: Read -> This privilege
allows\nconnector\\r\\nexecution for LLM calls\\r\\n\\r\\nOtherwise, we
show a callout\nwith the missing privileges:\\r\\n![onboarding
start\ncard\\r\\ncallout](https://github.com/user-attachments/assets/19975efd-d684-47d8-b4c0-0352b7c319b4)\\r\\n\\r\\n###\nRule
Translations page\\r\\n\\r\\n- Minimum privileges to make the
page\naccessible (read access):\\r\\n - Security Read -> Main Security
read\naccess\\r\\n - Siem Migrations All -> new feature under the
Security\ncatalog\\r\\n \\r\\nOtherwise, we hide the link in the
navigation and\ndisplay the generic\\r\\nempty state if
accessed:\\r\\n![rules
minimum\nprivileges\\r\\nmissing](https://github.com/user-attachments/assets/9dd88c72-e669-4fde-8397-e76d3d5069f9)\\r\\n\\r\\n-\nTo
successfully install rules the following privileges
are\nalso\\r\\nrequired (write access):\\r\\n - Security All -> Main
Security\nread & write access\\r\\n- Index privileges for `.alerts*`
pattern: _read,\nwrite,\\r\\nview_index_metadata, manage_\\r\\n - Index
privileges for\n`lookup_*` pattern: _read_\\r\\n\\r\\nOtherwise, we show
a callout at the\ntop of the page, this callout is\\r\\nconsistent with
the one displayed on\nthe Detection Rules
page\\r\\n(`/app/security/rules`)\\r\\n![alerts\nprivileges\\r\\nmissing](https://github.com/user-attachments/assets/105e53d7-9591-457f-983a-7fe4f9f33068)\\r\\n\\r\\n-\nTo
retry rule translations (upload missing macros/lookups
or\nretry\\r\\nerrors)\\r\\n- Actions & Connectors: Read -> This
privilege\nallows connector\\r\\nexecution for LLM
calls\\r\\n\\r\\nOtherwise, when\nattempted, we show a toast with the
missing
privilege.\n\\r\\n\\r\\n![](https://github.com/user-attachments/assets/f6090bb5-e6f8-4be7-bb9b-c4192155bdf8)\\r\\n\\r\\n##\nOther
changes\\r\\n\\r\\n- Technical
preview\nlabel\\r\\n\\r\\n![technical\\r\\npreview](https://github.com/user-attachments/assets/244724e2-9756-4c6d-805f-3459367f7975)\\r\\n\\r\\n-\nNo
connector
selected\ntoast\\r\\n\\r\\n\\r\\nhttps://github.com/user-attachments/assets/e4900129-ae9c-413f-9a41-f7dca452e71d\\r\\n\\r\\n##\nFixes\\r\\n\\r\\n-
[Fixed] Not possible to select a connector when
no\nconnector\nis\\r\\nselected:\\r\\n![bug\\r\\nconnectors](https://github.com/user-attachments/assets/2f5a831e-2172-4e77-9997-2447b4ee866f)\\r\\n\\r\\n---------\\r\\n\\r\\nCo-authored-by:\nElastic
Machine\n<elasticmachine@users.noreply.github.com>\\r\\nCo-authored-by:\nkibanamachine\n<42973632+kibanamachine@users.noreply.github.com>\",\"sha\":\"a990be66dffbe89b271722630fd78b544b6ae903\"}},\"sourceBranch\":\"main\",\"suggestedTargetBranches\":[\"9.0\",\"8.18\",\"8.x\"],\"targetPullRequestStates\":[{\"branch\":\"9.0\",\"label\":\"v9.0.0\",\"branchLabelMappingKey\":\"^v(\\\\d+).(\\\\d+).\\\\d+$\",\"isSourceBranch\":false,\"state\":\"NOT_CREATED\"},{\"branch\":\"8.18\",\"label\":\"v8.18.0\",\"branchLabelMappingKey\":\"^v(\\\\d+).(\\\\d+).\\\\d+$\",\"isSourceBranch\":false,\"state\":\"NOT_CREATED\"},{\"branch\":\"main\",\"label\":\"v9.1.0\",\"branchLabelMappingKey\":\"^v9.1.0$\",\"isSourceBranch\":true,\"state\":\"MERGED\",\"url\":\"https://github.com/elastic/kibana/pull/207087\",\"number\":207087,\"mergeCommit\":{\"message\":\"[Security\nSolution]
SIEM Migrations RBAC (#207087)\\n\\n##
Summary\\r\\n\\r\\nImplements\nthe access controls for SIEM rule
migrations.\\r\\n\\r\\n## API\nchanges\\r\\n\\r\\n- All API routes have
been secured with \\\"SIEM\nMigration\\\" feature checks\\r\\n- Start
migration API route now checks if\nthe user has privileges to
use\\r\\nthe connector ID received\\r\\n \\r\\n##\nUI
changes\\r\\n\\r\\n### Onboarding SIEM migrations\\r\\n\\r\\n- AI
Connector\nselection\\r\\n- Actions & Connectors: Read -> This privilege
allows\nreading and\\r\\nselecting a connector\\r\\n\\r\\nOtherwise, we
show a callout\nwith the missing
privileges:\\r\\n![connector\nread\\r\\nmissing](https://github.com/user-attachments/assets/2eb474df-78f0-488c-803b-7c874123b62a)\\r\\n\\r\\n-\nCreate
a migration\\r\\n - Security All -> Main Security read &
write\naccess\\r\\n - Siem Migrations All -> new feature under the
Security\ncatalog\\r\\n- Actions & Connectors: Read -> This privilege
allows\nconnector\\r\\nexecution for LLM calls\\r\\n\\r\\nOtherwise, we
show a callout\nwith the missing privileges:\\r\\n![onboarding
start\ncard\\r\\ncallout](https://github.com/user-attachments/assets/19975efd-d684-47d8-b4c0-0352b7c319b4)\\r\\n\\r\\n###\nRule
Translations page\\r\\n\\r\\n- Minimum privileges to make the
page\naccessible (read access):\\r\\n - Security Read -> Main Security
read\naccess\\r\\n - Siem Migrations All -> new feature under the
Security\ncatalog\\r\\n \\r\\nOtherwise, we hide the link in the
navigation and\ndisplay the generic\\r\\nempty state if
accessed:\\r\\n![rules
minimum\nprivileges\\r\\nmissing](https://github.com/user-attachments/assets/9dd88c72-e669-4fde-8397-e76d3d5069f9)\\r\\n\\r\\n-\nTo
successfully install rules the following privileges
are\nalso\\r\\nrequired (write access):\\r\\n - Security All -> Main
Security\nread & write access\\r\\n- Index privileges for `.alerts*`
pattern: _read,\nwrite,\\r\\nview_index_metadata, manage_\\r\\n - Index
privileges for\n`lookup_*` pattern: _read_\\r\\n\\r\\nOtherwise, we show
a callout at the\ntop of the page, this callout is\\r\\nconsistent with
the one displayed on\nthe Detection Rules
page\\r\\n(`/app/security/rules`)\\r\\n![alerts\nprivileges\\r\\nmissing](https://github.com/user-attachments/assets/105e53d7-9591-457f-983a-7fe4f9f33068)\\r\\n\\r\\n-\nTo
retry rule translations (upload missing macros/lookups
or\nretry\\r\\nerrors)\\r\\n- Actions & Connectors: Read -> This
privilege\nallows connector\\r\\nexecution for LLM
calls\\r\\n\\r\\nOtherwise, when\nattempted, we show a toast with the
missing
privilege.\n\\r\\n\\r\\n![](https://github.com/user-attachments/assets/f6090bb5-e6f8-4be7-bb9b-c4192155bdf8)\\r\\n\\r\\n##\nOther
changes\\r\\n\\r\\n- Technical
preview\nlabel\\r\\n\\r\\n![technical\\r\\npreview](https://github.com/user-attachments/assets/244724e2-9756-4c6d-805f-3459367f7975)\\r\\n\\r\\n-\nNo
connector
selected\ntoast\\r\\n\\r\\n\\r\\nhttps://github.com/user-attachments/assets/e4900129-ae9c-413f-9a41-f7dca452e71d\\r\\n\\r\\n##\nFixes\\r\\n\\r\\n-
[Fixed] Not possible to select a connector when
no\nconnector\nis\\r\\nselected:\\r\\n![bug\\r\\nconnectors](https://github.com/user-attachments/assets/2f5a831e-2172-4e77-9997-2447b4ee866f)\\r\\n\\r\\n---------\\r\\n\\r\\nCo-authored-by:\nElastic
Machine\n<elasticmachine@users.noreply.github.com>\\r\\nCo-authored-by:\nkibanamachine\n<42973632+kibanamachine@users.noreply.github.com>\",\"sha\":\"a990be66dffbe89b271722630fd78b544b6ae903\"}},{\"branch\":\"8.x\",\"label\":\"v8.19.0\",\"branchLabelMappingKey\":\"^v8.19.0$\",\"isSourceBranch\":false,\"state\":\"NOT_CREATED\"}]}]\nBACKPORT-->\n\nCo-authored-by:
Sergi Massaneda
<sergi.massaneda@elastic.co>"}},{"branch":"8.18","label":"v8.18.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/207087","number":207087,"mergeCommit":{"message":"[Security
Solution] SIEM Migrations RBAC (#207087)\n\n## Summary\r\n\r\nImplements
the access controls for SIEM rule migrations.\r\n\r\n## API
changes\r\n\r\n- All API routes have been secured with \"SIEM
Migration\" feature checks\r\n- Start migration API route now checks if
the user has privileges to use\r\nthe connector ID received\r\n \r\n##
UI changes\r\n\r\n### Onboarding SIEM migrations\r\n\r\n- AI Connector
selection\r\n- Actions & Connectors: Read -> This privilege allows
reading and\r\nselecting a connector\r\n\r\nOtherwise, we show a callout
with the missing privileges:\r\n![connector
read\r\nmissing](https://github.com/user-attachments/assets/2eb474df-78f0-488c-803b-7c874123b62a)\r\n\r\n-
Create a migration\r\n - Security All -> Main Security read & write
access\r\n - Siem Migrations All -> new feature under the Security
catalog\r\n- Actions & Connectors: Read -> This privilege allows
connector\r\nexecution for LLM calls\r\n\r\nOtherwise, we show a callout
with the missing privileges:\r\n![onboarding start
card\r\ncallout](https://github.com/user-attachments/assets/19975efd-d684-47d8-b4c0-0352b7c319b4)\r\n\r\n###
Rule Translations page\r\n\r\n- Minimum privileges to make the page
accessible (read access):\r\n - Security Read -> Main Security read
access\r\n - Siem Migrations All -> new feature under the Security
catalog\r\n \r\nOtherwise, we hide the link in the navigation and
display the generic\r\nempty state if accessed:\r\n![rules minimum
privileges\r\nmissing](https://github.com/user-attachments/assets/9dd88c72-e669-4fde-8397-e76d3d5069f9)\r\n\r\n-
To successfully install rules the following privileges are
also\r\nrequired (write access):\r\n - Security All -> Main Security
read & write access\r\n- Index privileges for `.alerts*` pattern: _read,
write,\r\nview_index_metadata, manage_\r\n - Index privileges for
`lookup_*` pattern: _read_\r\n\r\nOtherwise, we show a callout at the
top of the page, this callout is\r\nconsistent with the one displayed on
the Detection Rules page\r\n(`/app/security/rules`)\r\n![alerts
privileges\r\nmissing](https://github.com/user-attachments/assets/105e53d7-9591-457f-983a-7fe4f9f33068)\r\n\r\n-
To retry rule translations (upload missing macros/lookups or
retry\r\nerrors)\r\n- Actions & Connectors: Read -> This privilege
allows connector\r\nexecution for LLM calls\r\n\r\nOtherwise, when
attempted, we show a toast with the missing privilege.
\r\n\r\n![](https://github.com/user-attachments/assets/f6090bb5-e6f8-4be7-bb9b-c4192155bdf8)\r\n\r\n##
Other changes\r\n\r\n- Technical preview
label\r\n\r\n![technical\r\npreview](https://github.com/user-attachments/assets/244724e2-9756-4c6d-805f-3459367f7975)\r\n\r\n-
No connector selected
toast\r\n\r\n\r\nhttps://github.com/user-attachments/assets/e4900129-ae9c-413f-9a41-f7dca452e71d\r\n\r\n##
Fixes\r\n\r\n- [Fixed] Not possible to select a connector when no
connector
is\r\nselected:\r\n![bug\r\nconnectors](https://github.com/user-attachments/assets/2f5a831e-2172-4e77-9997-2447b4ee866f)\r\n\r\n---------\r\n\r\nCo-authored-by:
Elastic Machine
<elasticmachine@users.noreply.github.com>\r\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"a990be66dffbe89b271722630fd78b544b6ae903"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->
semd added a commit that referenced this pull request Feb 7, 2025
# Backport

This will backport the following commits from `main` to `8.x`:
- [[Security Solution] SIEM Migrations RBAC
(#207087)](#207087)

<!--- Backport version: 9.6.4 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Sergi
Massaneda","email":"sergi.massaneda@elastic.co"},"sourceCommit":{"committedDate":"2025-02-06T17:41:21Z","message":"[Security
Solution] SIEM Migrations RBAC (#207087)\n\n## Summary\r\n\r\nImplements
the access controls for SIEM rule migrations.\r\n\r\n## API
changes\r\n\r\n- All API routes have been secured with \"SIEM
Migration\" feature checks\r\n- Start migration API route now checks if
the user has privileges to use\r\nthe connector ID received\r\n \r\n##
UI changes\r\n\r\n### Onboarding SIEM migrations\r\n\r\n- AI Connector
selection\r\n- Actions & Connectors: Read -> This privilege allows
reading and\r\nselecting a connector\r\n\r\nOtherwise, we show a callout
with the missing privileges:\r\n![connector
read\r\nmissing](https://github.com/user-attachments/assets/2eb474df-78f0-488c-803b-7c874123b62a)\r\n\r\n-
Create a migration\r\n - Security All -> Main Security read & write
access\r\n - Siem Migrations All -> new feature under the Security
catalog\r\n- Actions & Connectors: Read -> This privilege allows
connector\r\nexecution for LLM calls\r\n\r\nOtherwise, we show a callout
with the missing privileges:\r\n![onboarding start
card\r\ncallout](https://github.com/user-attachments/assets/19975efd-d684-47d8-b4c0-0352b7c319b4)\r\n\r\n###
Rule Translations page\r\n\r\n- Minimum privileges to make the page
accessible (read access):\r\n - Security Read -> Main Security read
access\r\n - Siem Migrations All -> new feature under the Security
catalog\r\n \r\nOtherwise, we hide the link in the navigation and
display the generic\r\nempty state if accessed:\r\n![rules minimum
privileges\r\nmissing](https://github.com/user-attachments/assets/9dd88c72-e669-4fde-8397-e76d3d5069f9)\r\n\r\n-
To successfully install rules the following privileges are
also\r\nrequired (write access):\r\n - Security All -> Main Security
read & write access\r\n- Index privileges for `.alerts*` pattern: _read,
write,\r\nview_index_metadata, manage_\r\n - Index privileges for
`lookup_*` pattern: _read_\r\n\r\nOtherwise, we show a callout at the
top of the page, this callout is\r\nconsistent with the one displayed on
the Detection Rules page\r\n(`/app/security/rules`)\r\n![alerts
privileges\r\nmissing](https://github.com/user-attachments/assets/105e53d7-9591-457f-983a-7fe4f9f33068)\r\n\r\n-
To retry rule translations (upload missing macros/lookups or
retry\r\nerrors)\r\n- Actions & Connectors: Read -> This privilege
allows connector\r\nexecution for LLM calls\r\n\r\nOtherwise, when
attempted, we show a toast with the missing privilege.
\r\n\r\n![](https://github.com/user-attachments/assets/f6090bb5-e6f8-4be7-bb9b-c4192155bdf8)\r\n\r\n##
Other changes\r\n\r\n- Technical preview
label\r\n\r\n![technical\r\npreview](https://github.com/user-attachments/assets/244724e2-9756-4c6d-805f-3459367f7975)\r\n\r\n-
No connector selected
toast\r\n\r\n\r\nhttps://github.com/user-attachments/assets/e4900129-ae9c-413f-9a41-f7dca452e71d\r\n\r\n##
Fixes\r\n\r\n- [Fixed] Not possible to select a connector when no
connector
is\r\nselected:\r\n![bug\r\nconnectors](https://github.com/user-attachments/assets/2f5a831e-2172-4e77-9997-2447b4ee866f)\r\n\r\n---------\r\n\r\nCo-authored-by:
Elastic Machine
<elasticmachine@users.noreply.github.com>\r\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"a990be66dffbe89b271722630fd78b544b6ae903","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","v9.0.0","Team:Threat
Hunting","backport:version","v8.18.0","v9.1.0","v8.19.0"],"title":"[Security
Solution] SIEM Migrations
RBAC","number":207087,"url":"https://github.com/elastic/kibana/pull/207087","mergeCommit":{"message":"[Security
Solution] SIEM Migrations RBAC (#207087)\n\n## Summary\r\n\r\nImplements
the access controls for SIEM rule migrations.\r\n\r\n## API
changes\r\n\r\n- All API routes have been secured with \"SIEM
Migration\" feature checks\r\n- Start migration API route now checks if
the user has privileges to use\r\nthe connector ID received\r\n \r\n##
UI changes\r\n\r\n### Onboarding SIEM migrations\r\n\r\n- AI Connector
selection\r\n- Actions & Connectors: Read -> This privilege allows
reading and\r\nselecting a connector\r\n\r\nOtherwise, we show a callout
with the missing privileges:\r\n![connector
read\r\nmissing](https://github.com/user-attachments/assets/2eb474df-78f0-488c-803b-7c874123b62a)\r\n\r\n-
Create a migration\r\n - Security All -> Main Security read & write
access\r\n - Siem Migrations All -> new feature under the Security
catalog\r\n- Actions & Connectors: Read -> This privilege allows
connector\r\nexecution for LLM calls\r\n\r\nOtherwise, we show a callout
with the missing privileges:\r\n![onboarding start
card\r\ncallout](https://github.com/user-attachments/assets/19975efd-d684-47d8-b4c0-0352b7c319b4)\r\n\r\n###
Rule Translations page\r\n\r\n- Minimum privileges to make the page
accessible (read access):\r\n - Security Read -> Main Security read
access\r\n - Siem Migrations All -> new feature under the Security
catalog\r\n \r\nOtherwise, we hide the link in the navigation and
display the generic\r\nempty state if accessed:\r\n![rules minimum
privileges\r\nmissing](https://github.com/user-attachments/assets/9dd88c72-e669-4fde-8397-e76d3d5069f9)\r\n\r\n-
To successfully install rules the following privileges are
also\r\nrequired (write access):\r\n - Security All -> Main Security
read & write access\r\n- Index privileges for `.alerts*` pattern: _read,
write,\r\nview_index_metadata, manage_\r\n - Index privileges for
`lookup_*` pattern: _read_\r\n\r\nOtherwise, we show a callout at the
top of the page, this callout is\r\nconsistent with the one displayed on
the Detection Rules page\r\n(`/app/security/rules`)\r\n![alerts
privileges\r\nmissing](https://github.com/user-attachments/assets/105e53d7-9591-457f-983a-7fe4f9f33068)\r\n\r\n-
To retry rule translations (upload missing macros/lookups or
retry\r\nerrors)\r\n- Actions & Connectors: Read -> This privilege
allows connector\r\nexecution for LLM calls\r\n\r\nOtherwise, when
attempted, we show a toast with the missing privilege.
\r\n\r\n![](https://github.com/user-attachments/assets/f6090bb5-e6f8-4be7-bb9b-c4192155bdf8)\r\n\r\n##
Other changes\r\n\r\n- Technical preview
label\r\n\r\n![technical\r\npreview](https://github.com/user-attachments/assets/244724e2-9756-4c6d-805f-3459367f7975)\r\n\r\n-
No connector selected
toast\r\n\r\n\r\nhttps://github.com/user-attachments/assets/e4900129-ae9c-413f-9a41-f7dca452e71d\r\n\r\n##
Fixes\r\n\r\n- [Fixed] Not possible to select a connector when no
connector
is\r\nselected:\r\n![bug\r\nconnectors](https://github.com/user-attachments/assets/2f5a831e-2172-4e77-9997-2447b4ee866f)\r\n\r\n---------\r\n\r\nCo-authored-by:
Elastic Machine
<elasticmachine@users.noreply.github.com>\r\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"a990be66dffbe89b271722630fd78b544b6ae903"}},"sourceBranch":"main","suggestedTargetBranches":["8.18","8.x"],"targetPullRequestStates":[{"branch":"9.0","label":"v9.0.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"url":"https://github.com/elastic/kibana/pull/210086","number":210086,"state":"MERGED","mergeCommit":{"sha":"8acee959bc8252dade3aa5f2a335dbe129d962c3","message":"[9.0]
[Security Solution] SIEM Migrations RBAC (#207087) (#210086)\n\n#
Backport\n\nThis will backport the following commits from `main` to
`9.0`:\n- [[Security Solution] SIEM Migrations
RBAC\n(#207087)](https://github.com/elastic/kibana/pull/207087)\n\n<!---
Backport version: 9.4.3 -->\n\n### Questions ?\nPlease refer to the
[Backport
tool\ndocumentation](https://github.com/sqren/backport)\n\n<!--BACKPORT
[{\"author\":{\"name\":\"Sergi\nMassaneda\",\"email\":\"sergi.massaneda@elastic.co\"},\"sourceCommit\":{\"committedDate\":\"2025-02-06T17:41:21Z\",\"message\":\"[Security\nSolution]
SIEM Migrations RBAC (#207087)\\n\\n##
Summary\\r\\n\\r\\nImplements\nthe access controls for SIEM rule
migrations.\\r\\n\\r\\n## API\nchanges\\r\\n\\r\\n- All API routes have
been secured with \\\"SIEM\nMigration\\\" feature checks\\r\\n- Start
migration API route now checks if\nthe user has privileges to
use\\r\\nthe connector ID received\\r\\n \\r\\n##\nUI
changes\\r\\n\\r\\n### Onboarding SIEM migrations\\r\\n\\r\\n- AI
Connector\nselection\\r\\n- Actions & Connectors: Read -> This privilege
allows\nreading and\\r\\nselecting a connector\\r\\n\\r\\nOtherwise, we
show a callout\nwith the missing
privileges:\\r\\n![connector\nread\\r\\nmissing](https://github.com/user-attachments/assets/2eb474df-78f0-488c-803b-7c874123b62a)\\r\\n\\r\\n-\nCreate
a migration\\r\\n - Security All -> Main Security read &
write\naccess\\r\\n - Siem Migrations All -> new feature under the
Security\ncatalog\\r\\n- Actions & Connectors: Read -> This privilege
allows\nconnector\\r\\nexecution for LLM calls\\r\\n\\r\\nOtherwise, we
show a callout\nwith the missing privileges:\\r\\n![onboarding
start\ncard\\r\\ncallout](https://github.com/user-attachments/assets/19975efd-d684-47d8-b4c0-0352b7c319b4)\\r\\n\\r\\n###\nRule
Translations page\\r\\n\\r\\n- Minimum privileges to make the
page\naccessible (read access):\\r\\n - Security Read -> Main Security
read\naccess\\r\\n - Siem Migrations All -> new feature under the
Security\ncatalog\\r\\n \\r\\nOtherwise, we hide the link in the
navigation and\ndisplay the generic\\r\\nempty state if
accessed:\\r\\n![rules
minimum\nprivileges\\r\\nmissing](https://github.com/user-attachments/assets/9dd88c72-e669-4fde-8397-e76d3d5069f9)\\r\\n\\r\\n-\nTo
successfully install rules the following privileges
are\nalso\\r\\nrequired (write access):\\r\\n - Security All -> Main
Security\nread & write access\\r\\n- Index privileges for `.alerts*`
pattern: _read,\nwrite,\\r\\nview_index_metadata, manage_\\r\\n - Index
privileges for\n`lookup_*` pattern: _read_\\r\\n\\r\\nOtherwise, we show
a callout at the\ntop of the page, this callout is\\r\\nconsistent with
the one displayed on\nthe Detection Rules
page\\r\\n(`/app/security/rules`)\\r\\n![alerts\nprivileges\\r\\nmissing](https://github.com/user-attachments/assets/105e53d7-9591-457f-983a-7fe4f9f33068)\\r\\n\\r\\n-\nTo
retry rule translations (upload missing macros/lookups
or\nretry\\r\\nerrors)\\r\\n- Actions & Connectors: Read -> This
privilege\nallows connector\\r\\nexecution for LLM
calls\\r\\n\\r\\nOtherwise, when\nattempted, we show a toast with the
missing
privilege.\n\\r\\n\\r\\n![](https://github.com/user-attachments/assets/f6090bb5-e6f8-4be7-bb9b-c4192155bdf8)\\r\\n\\r\\n##\nOther
changes\\r\\n\\r\\n- Technical
preview\nlabel\\r\\n\\r\\n![technical\\r\\npreview](https://github.com/user-attachments/assets/244724e2-9756-4c6d-805f-3459367f7975)\\r\\n\\r\\n-\nNo
connector
selected\ntoast\\r\\n\\r\\n\\r\\nhttps://github.com/user-attachments/assets/e4900129-ae9c-413f-9a41-f7dca452e71d\\r\\n\\r\\n##\nFixes\\r\\n\\r\\n-
[Fixed] Not possible to select a connector when
no\nconnector\nis\\r\\nselected:\\r\\n![bug\\r\\nconnectors](https://github.com/user-attachments/assets/2f5a831e-2172-4e77-9997-2447b4ee866f)\\r\\n\\r\\n---------\\r\\n\\r\\nCo-authored-by:\nElastic
Machine\n<elasticmachine@users.noreply.github.com>\\r\\nCo-authored-by:\nkibanamachine\n<42973632+kibanamachine@users.noreply.github.com>\",\"sha\":\"a990be66dffbe89b271722630fd78b544b6ae903\",\"branchLabelMapping\":{\"^v9.1.0$\":\"main\",\"^v8.19.0$\":\"8.x\",\"^v(\\\\d+).(\\\\d+).\\\\d+$\":\"$1.$2\"}},\"sourcePullRequest\":{\"labels\":[\"release_note:skip\",\"v9.0.0\",\"Team:Threat\nHunting\",\"backport:version\",\"v8.18.0\",\"v9.1.0\",\"v8.19.0\"],\"title\":\"[Security\nSolution]
SIEM
Migrations\nRBAC\",\"number\":207087,\"url\":\"https://github.com/elastic/kibana/pull/207087\",\"mergeCommit\":{\"message\":\"[Security\nSolution]
SIEM Migrations RBAC (#207087)\\n\\n##
Summary\\r\\n\\r\\nImplements\nthe access controls for SIEM rule
migrations.\\r\\n\\r\\n## API\nchanges\\r\\n\\r\\n- All API routes have
been secured with \\\"SIEM\nMigration\\\" feature checks\\r\\n- Start
migration API route now checks if\nthe user has privileges to
use\\r\\nthe connector ID received\\r\\n \\r\\n##\nUI
changes\\r\\n\\r\\n### Onboarding SIEM migrations\\r\\n\\r\\n- AI
Connector\nselection\\r\\n- Actions & Connectors: Read -> This privilege
allows\nreading and\\r\\nselecting a connector\\r\\n\\r\\nOtherwise, we
show a callout\nwith the missing
privileges:\\r\\n![connector\nread\\r\\nmissing](https://github.com/user-attachments/assets/2eb474df-78f0-488c-803b-7c874123b62a)\\r\\n\\r\\n-\nCreate
a migration\\r\\n - Security All -> Main Security read &
write\naccess\\r\\n - Siem Migrations All -> new feature under the
Security\ncatalog\\r\\n- Actions & Connectors: Read -> This privilege
allows\nconnector\\r\\nexecution for LLM calls\\r\\n\\r\\nOtherwise, we
show a callout\nwith the missing privileges:\\r\\n![onboarding
start\ncard\\r\\ncallout](https://github.com/user-attachments/assets/19975efd-d684-47d8-b4c0-0352b7c319b4)\\r\\n\\r\\n###\nRule
Translations page\\r\\n\\r\\n- Minimum privileges to make the
page\naccessible (read access):\\r\\n - Security Read -> Main Security
read\naccess\\r\\n - Siem Migrations All -> new feature under the
Security\ncatalog\\r\\n \\r\\nOtherwise, we hide the link in the
navigation and\ndisplay the generic\\r\\nempty state if
accessed:\\r\\n![rules
minimum\nprivileges\\r\\nmissing](https://github.com/user-attachments/assets/9dd88c72-e669-4fde-8397-e76d3d5069f9)\\r\\n\\r\\n-\nTo
successfully install rules the following privileges
are\nalso\\r\\nrequired (write access):\\r\\n - Security All -> Main
Security\nread & write access\\r\\n- Index privileges for `.alerts*`
pattern: _read,\nwrite,\\r\\nview_index_metadata, manage_\\r\\n - Index
privileges for\n`lookup_*` pattern: _read_\\r\\n\\r\\nOtherwise, we show
a callout at the\ntop of the page, this callout is\\r\\nconsistent with
the one displayed on\nthe Detection Rules
page\\r\\n(`/app/security/rules`)\\r\\n![alerts\nprivileges\\r\\nmissing](https://github.com/user-attachments/assets/105e53d7-9591-457f-983a-7fe4f9f33068)\\r\\n\\r\\n-\nTo
retry rule translations (upload missing macros/lookups
or\nretry\\r\\nerrors)\\r\\n- Actions & Connectors: Read -> This
privilege\nallows connector\\r\\nexecution for LLM
calls\\r\\n\\r\\nOtherwise, when\nattempted, we show a toast with the
missing
privilege.\n\\r\\n\\r\\n![](https://github.com/user-attachments/assets/f6090bb5-e6f8-4be7-bb9b-c4192155bdf8)\\r\\n\\r\\n##\nOther
changes\\r\\n\\r\\n- Technical
preview\nlabel\\r\\n\\r\\n![technical\\r\\npreview](https://github.com/user-attachments/assets/244724e2-9756-4c6d-805f-3459367f7975)\\r\\n\\r\\n-\nNo
connector
selected\ntoast\\r\\n\\r\\n\\r\\nhttps://github.com/user-attachments/assets/e4900129-ae9c-413f-9a41-f7dca452e71d\\r\\n\\r\\n##\nFixes\\r\\n\\r\\n-
[Fixed] Not possible to select a connector when
no\nconnector\nis\\r\\nselected:\\r\\n![bug\\r\\nconnectors](https://github.com/user-attachments/assets/2f5a831e-2172-4e77-9997-2447b4ee866f)\\r\\n\\r\\n---------\\r\\n\\r\\nCo-authored-by:\nElastic
Machine\n<elasticmachine@users.noreply.github.com>\\r\\nCo-authored-by:\nkibanamachine\n<42973632+kibanamachine@users.noreply.github.com>\",\"sha\":\"a990be66dffbe89b271722630fd78b544b6ae903\"}},\"sourceBranch\":\"main\",\"suggestedTargetBranches\":[\"9.0\",\"8.18\",\"8.x\"],\"targetPullRequestStates\":[{\"branch\":\"9.0\",\"label\":\"v9.0.0\",\"branchLabelMappingKey\":\"^v(\\\\d+).(\\\\d+).\\\\d+$\",\"isSourceBranch\":false,\"state\":\"NOT_CREATED\"},{\"branch\":\"8.18\",\"label\":\"v8.18.0\",\"branchLabelMappingKey\":\"^v(\\\\d+).(\\\\d+).\\\\d+$\",\"isSourceBranch\":false,\"state\":\"NOT_CREATED\"},{\"branch\":\"main\",\"label\":\"v9.1.0\",\"branchLabelMappingKey\":\"^v9.1.0$\",\"isSourceBranch\":true,\"state\":\"MERGED\",\"url\":\"https://github.com/elastic/kibana/pull/207087\",\"number\":207087,\"mergeCommit\":{\"message\":\"[Security\nSolution]
SIEM Migrations RBAC (#207087)\\n\\n##
Summary\\r\\n\\r\\nImplements\nthe access controls for SIEM rule
migrations.\\r\\n\\r\\n## API\nchanges\\r\\n\\r\\n- All API routes have
been secured with \\\"SIEM\nMigration\\\" feature checks\\r\\n- Start
migration API route now checks if\nthe user has privileges to
use\\r\\nthe connector ID received\\r\\n \\r\\n##\nUI
changes\\r\\n\\r\\n### Onboarding SIEM migrations\\r\\n\\r\\n- AI
Connector\nselection\\r\\n- Actions & Connectors: Read -> This privilege
allows\nreading and\\r\\nselecting a connector\\r\\n\\r\\nOtherwise, we
show a callout\nwith the missing
privileges:\\r\\n![connector\nread\\r\\nmissing](https://github.com/user-attachments/assets/2eb474df-78f0-488c-803b-7c874123b62a)\\r\\n\\r\\n-\nCreate
a migration\\r\\n - Security All -> Main Security read &
write\naccess\\r\\n - Siem Migrations All -> new feature under the
Security\ncatalog\\r\\n- Actions & Connectors: Read -> This privilege
allows\nconnector\\r\\nexecution for LLM calls\\r\\n\\r\\nOtherwise, we
show a callout\nwith the missing privileges:\\r\\n![onboarding
start\ncard\\r\\ncallout](https://github.com/user-attachments/assets/19975efd-d684-47d8-b4c0-0352b7c319b4)\\r\\n\\r\\n###\nRule
Translations page\\r\\n\\r\\n- Minimum privileges to make the
page\naccessible (read access):\\r\\n - Security Read -> Main Security
read\naccess\\r\\n - Siem Migrations All -> new feature under the
Security\ncatalog\\r\\n \\r\\nOtherwise, we hide the link in the
navigation and\ndisplay the generic\\r\\nempty state if
accessed:\\r\\n![rules
minimum\nprivileges\\r\\nmissing](https://github.com/user-attachments/assets/9dd88c72-e669-4fde-8397-e76d3d5069f9)\\r\\n\\r\\n-\nTo
successfully install rules the following privileges
are\nalso\\r\\nrequired (write access):\\r\\n - Security All -> Main
Security\nread & write access\\r\\n- Index privileges for `.alerts*`
pattern: _read,\nwrite,\\r\\nview_index_metadata, manage_\\r\\n - Index
privileges for\n`lookup_*` pattern: _read_\\r\\n\\r\\nOtherwise, we show
a callout at the\ntop of the page, this callout is\\r\\nconsistent with
the one displayed on\nthe Detection Rules
page\\r\\n(`/app/security/rules`)\\r\\n![alerts\nprivileges\\r\\nmissing](https://github.com/user-attachments/assets/105e53d7-9591-457f-983a-7fe4f9f33068)\\r\\n\\r\\n-\nTo
retry rule translations (upload missing macros/lookups
or\nretry\\r\\nerrors)\\r\\n- Actions & Connectors: Read -> This
privilege\nallows connector\\r\\nexecution for LLM
calls\\r\\n\\r\\nOtherwise, when\nattempted, we show a toast with the
missing
privilege.\n\\r\\n\\r\\n![](https://github.com/user-attachments/assets/f6090bb5-e6f8-4be7-bb9b-c4192155bdf8)\\r\\n\\r\\n##\nOther
changes\\r\\n\\r\\n- Technical
preview\nlabel\\r\\n\\r\\n![technical\\r\\npreview](https://github.com/user-attachments/assets/244724e2-9756-4c6d-805f-3459367f7975)\\r\\n\\r\\n-\nNo
connector
selected\ntoast\\r\\n\\r\\n\\r\\nhttps://github.com/user-attachments/assets/e4900129-ae9c-413f-9a41-f7dca452e71d\\r\\n\\r\\n##\nFixes\\r\\n\\r\\n-
[Fixed] Not possible to select a connector when
no\nconnector\nis\\r\\nselected:\\r\\n![bug\\r\\nconnectors](https://github.com/user-attachments/assets/2f5a831e-2172-4e77-9997-2447b4ee866f)\\r\\n\\r\\n---------\\r\\n\\r\\nCo-authored-by:\nElastic
Machine\n<elasticmachine@users.noreply.github.com>\\r\\nCo-authored-by:\nkibanamachine\n<42973632+kibanamachine@users.noreply.github.com>\",\"sha\":\"a990be66dffbe89b271722630fd78b544b6ae903\"}},{\"branch\":\"8.x\",\"label\":\"v8.19.0\",\"branchLabelMappingKey\":\"^v8.19.0$\",\"isSourceBranch\":false,\"state\":\"NOT_CREATED\"}]}]\nBACKPORT-->\n\nCo-authored-by:
Sergi Massaneda
<sergi.massaneda@elastic.co>"}},{"branch":"8.18","label":"v8.18.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/207087","number":207087,"mergeCommit":{"message":"[Security
Solution] SIEM Migrations RBAC (#207087)\n\n## Summary\r\n\r\nImplements
the access controls for SIEM rule migrations.\r\n\r\n## API
changes\r\n\r\n- All API routes have been secured with \"SIEM
Migration\" feature checks\r\n- Start migration API route now checks if
the user has privileges to use\r\nthe connector ID received\r\n \r\n##
UI changes\r\n\r\n### Onboarding SIEM migrations\r\n\r\n- AI Connector
selection\r\n- Actions & Connectors: Read -> This privilege allows
reading and\r\nselecting a connector\r\n\r\nOtherwise, we show a callout
with the missing privileges:\r\n![connector
read\r\nmissing](https://github.com/user-attachments/assets/2eb474df-78f0-488c-803b-7c874123b62a)\r\n\r\n-
Create a migration\r\n - Security All -> Main Security read & write
access\r\n - Siem Migrations All -> new feature under the Security
catalog\r\n- Actions & Connectors: Read -> This privilege allows
connector\r\nexecution for LLM calls\r\n\r\nOtherwise, we show a callout
with the missing privileges:\r\n![onboarding start
card\r\ncallout](https://github.com/user-attachments/assets/19975efd-d684-47d8-b4c0-0352b7c319b4)\r\n\r\n###
Rule Translations page\r\n\r\n- Minimum privileges to make the page
accessible (read access):\r\n - Security Read -> Main Security read
access\r\n - Siem Migrations All -> new feature under the Security
catalog\r\n \r\nOtherwise, we hide the link in the navigation and
display the generic\r\nempty state if accessed:\r\n![rules minimum
privileges\r\nmissing](https://github.com/user-attachments/assets/9dd88c72-e669-4fde-8397-e76d3d5069f9)\r\n\r\n-
To successfully install rules the following privileges are
also\r\nrequired (write access):\r\n - Security All -> Main Security
read & write access\r\n- Index privileges for `.alerts*` pattern: _read,
write,\r\nview_index_metadata, manage_\r\n - Index privileges for
`lookup_*` pattern: _read_\r\n\r\nOtherwise, we show a callout at the
top of the page, this callout is\r\nconsistent with the one displayed on
the Detection Rules page\r\n(`/app/security/rules`)\r\n![alerts
privileges\r\nmissing](https://github.com/user-attachments/assets/105e53d7-9591-457f-983a-7fe4f9f33068)\r\n\r\n-
To retry rule translations (upload missing macros/lookups or
retry\r\nerrors)\r\n- Actions & Connectors: Read -> This privilege
allows connector\r\nexecution for LLM calls\r\n\r\nOtherwise, when
attempted, we show a toast with the missing privilege.
\r\n\r\n![](https://github.com/user-attachments/assets/f6090bb5-e6f8-4be7-bb9b-c4192155bdf8)\r\n\r\n##
Other changes\r\n\r\n- Technical preview
label\r\n\r\n![technical\r\npreview](https://github.com/user-attachments/assets/244724e2-9756-4c6d-805f-3459367f7975)\r\n\r\n-
No connector selected
toast\r\n\r\n\r\nhttps://github.com/user-attachments/assets/e4900129-ae9c-413f-9a41-f7dca452e71d\r\n\r\n##
Fixes\r\n\r\n- [Fixed] Not possible to select a connector when no
connector
is\r\nselected:\r\n![bug\r\nconnectors](https://github.com/user-attachments/assets/2f5a831e-2172-4e77-9997-2447b4ee866f)\r\n\r\n---------\r\n\r\nCo-authored-by:
Elastic Machine
<elasticmachine@users.noreply.github.com>\r\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"a990be66dffbe89b271722630fd78b544b6ae903"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport:version Backport to applied version labels release_note:skip Skip the PR/issue when compiling release notes Team:Threat Hunting Security Solution Threat Hunting Team v8.18.0 v8.19.0 v9.0.0 v9.1.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants