[Connectors] Persist inbound token on a dedicated SO - #290908
Open
yngrdyn wants to merge 2 commits into
Open
Conversation
|
🤖 Jobs for this PR can be triggered through checkboxes. 🚧
ℹ️ To trigger the CI, please tick the checkbox below 👇
|
Contributor
💔 Build Failed
Failed CI StepsMetrics [docs]
History |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes https://github.com/elastic/security-team/issues/19171).
Summary
Move inbound ingest-token verification off
action.configonto a hiddenconnector_ingress_credentialsaved object.The stored value is an HMAC-SHA256 hex digest (not the raw token, not ESO). The public token is
{credentialId}.{secret}. The hub loads the credential by id, checksconnectorId, and verifies the HMAC. Create/update never mint. Rotate is the only mint path and still returns{ ingest_token }once.Fixes the GA-safety problem of putting a verifier on
action.config(Core cannot migrate attributes across SO types).Why a dedicated SO
action.configis not a safe long-term shape.connector_tokenis the wrong sibling: those rows are deleted on connector update. Ingest credentials must survive rename/update.namespaceType: multiple-isolatedmatchesaction(same connector id in two spaces must not share a credential)..inboundWebhook.Behavior
keepCredentialId). Delete failures throw; connector delete does not proceed if cleanup fails.config.ingestTokenHash404.config.ingestTokenHash.apiKey/uiamApiKey..kibana_alerting_cases,importableAndExportable: false.