Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Additional security controls for webhooks for multi-tenancy #2029

Open
tbloomfi opened this issue Nov 25, 2022 · 5 comments
Open

Additional security controls for webhooks for multi-tenancy #2029

tbloomfi opened this issue Nov 25, 2022 · 5 comments

Comments

@tbloomfi
Copy link

We have a security requirement for tenants to rotate keys for all inbound API calls including webhooks. For webhooks, this would be challenging to manage centrally and is better managed by the tenant. Posting here for feedback on the planned approach before submitting a PR.

The approach is as follows:

  1. Add an ACA-Py API endpoint to enable the tenant to create and manage a webhook secret. Note: Inbound API calls will be secured via OIDC via an external API gateway as part of our deployment.
  2. Create a hash signature (SHA-256?) for the webhook messages using the webhook secret
  3. Include the hash in the HTTP header for the message
  4. The tenant would then be responsible for validating webhook messages as authentic using the secret managed by their controller. The controller would update the secret based on the tenant's security policy.

This is a pattern used by Github and others to secure webhooks - https://docs.github.com/en/developers/webhooks-and-events/webhooks/securing-your-webhooks

@swcurran
Copy link
Contributor

@andrewwhitehead @ianco @TimoGlastra ^^^ Thoughts on this approach?

@ianco
Copy link
Contributor

ianco commented Nov 25, 2022

Makes sense to me, if it's a common pattern. For backward compatibility, this should be optional, with a default to the existing "static" api key.

Note that the mines team has developed some self-serve functionality for tenants as well, which they've implemented as a plug-in. tagging @usingtechnology

@usingtechnology
Copy link
Contributor

we can do a prototype of this when we add some enhancements for our tenants in the innkeeper plugin.

@swcurran
Copy link
Contributor

@esune -- is this issue addressed with #2860?

@esune
Copy link
Member

esune commented Aug 15, 2024

@esune -- is this issue addressed with #2860?

No, this is a different thing. I wonder, however, if this issue and #2542 should be consolidated into one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants