Skip to content

feat: add HTTP message signature signal to network-acl rules (EA only) - #1637

Open
bkiran6398 wants to merge 4 commits into
mainfrom
DXCDT-2269/hmac-sign-signal-acl
Open

feat: add HTTP message signature signal to network-acl rules (EA only)#1637
bkiran6398 wants to merge 4 commits into
mainfrom
DXCDT-2269/hmac-sign-signal-acl

Conversation

@bkiran6398

@bkiran6398 bkiran6398 commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

🔧 Changes

Adds support for the http_message_signature signal on network ACL rules, letting a rule match (or not match) traffic by the HMAC signing key that signed the request. This is Early Access, gated behind the tenant_acl_hmac_signature feature flag.

  • Adds a --signature-key-ids flag to network-acl create and network-acl update.
  • Adds an interactive key picker that lists the tenant's existing Network ACL keys by name and pre-selects the keys already on the rule.
    Usage:
auth0 network-acl create
auth0 network-acl create -d "Require signed traffic" -p 1 --active true --signature-key-ids "key_abc,key_def"
auth0 network-acl create -d "Require signed traffic" -p 1 --active true \
  --rule '{"action":{"block":true},"scope":"tenant","not_match":{"http_message_signature":{"keys":[{"id":"key_abc"}]}}}'

📚 References

🔬 Testing

  • Unit tests cover rule building for match/not_match, extraction of current key ids into update defaults, and the display rows for both cases.
  • make test-unit, make lint, and make check-docs pass.
  • Manual: against an EA-enabled tenant with the flag on, verified the interactive picker lists keys and pre-selects current ids on update, that a tenant with no keys errors and a rule set via --rule round-trips through show.

📝 Checklist

  • All new/changed/fixed functionality is covered by tests (or N/A)
  • I have added documentation for all new/changed functionality (or N/A)

- Bump github.com/auth0/go-auth0 from v1.48.0 to
  v1.48.1-0.20260901104455-6d71a49e53f3, which adds the
  http_message_signature field to NetworkACLRuleMatch.
- Lets the network-acl command reference HMAC signing keys against the
  released SDK instead of a local replace directive.
- Add the NetworkACLKeyAPIV3 interface exposing List over the v3
  /keys/network-acls endpoint, wired into APIV3 via m.Keys.NetworkACLs.
- Generate its gomock mock for unit tests.
- Enables the network-acl command to list existing signing keys for the
  http_message_signature picker; key create/delete is deferred.
- Add the --signature-key-ids flag to network-acl create/update and a
  "Signature Keys" option in the interactive parameter picker, mapping the
  selected key ids into the rule's http_message_signature match/not_match.
- Add pickNetworkACLSignatureKeys, a multi-select over the tenant's Network
  ACL keys (v3 client) that pre-selects the keys already on the rule; it
  errors when none exist, since keys cannot be created or typed manually.
- Reject --signature-key-ids in non-interactive mode, directing users to set
  http_message_signature inside --rule.
- Render SIGNATURE KEY IDS / NOT SIGNATURE KEY IDS in the ACL view and read
  current key ids back as update defaults.
- Add prompt.AskMultiSelectWithDefault for pre-selected multi-select options.
- Add unit tests and regenerate command docs. Signal is Early Access gated.
@bkiran6398 bkiran6398 changed the title hmac sign signal acl feat: add HTTP message signature signal to network-acl rules (EA only) Sep 1, 2026
- Add read:network_acl_keys to RequiredScopes so an interactive `auth0
  login` token can list Network ACL keys, which the network-acl
  signature-key picker needs.
- Replace the local auth0StringPtr test helper with the existing
  auth0.String in the network-acl tests.
@bkiran6398
bkiran6398 force-pushed the DXCDT-2269/hmac-sign-signal-acl branch from b399a06 to 4b8cea9 Compare September 2, 2026 05:33
@bkiran6398
bkiran6398 marked this pull request as ready for review September 2, 2026 05:46
@bkiran6398
bkiran6398 requested a review from a team as a code owner September 2, 2026 05:46
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

Successfully merging this pull request may close these issues.

1 participant