Skip to content

feat: add auth0_managed curated blocklists to network ACL rules (EA only) - #1600

Draft
bkiran6398 wants to merge 6 commits into
mainfrom
DXCDT-1971/auth0-managed-network-acl
Draft

feat: add auth0_managed curated blocklists to network ACL rules (EA only)#1600
bkiran6398 wants to merge 6 commits into
mainfrom
DXCDT-1971/auth0-managed-network-acl

Conversation

@bkiran6398

@bkiran6398 bkiran6398 commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

🔧 Changes

Adds support for Auth0-curated blocklists as network ACL match criteria.

New flag on network-acl create and network-acl update:

  • --auth0-managed - comma-separated list of Auth0-curated blocklists

Available as auth0_managed inside both match and not_match when passing --rule JSON, and as an Auth0 Managed option in the interactive rule builder.

auth0 network-acl create -d "Curated Blocklist" -p 6 --active true \
  --rule '{"action":{"block":true},"scope":"tenant","match":{"auth0_managed":["auth0.low_reputation"]}}'

Display fixes

Two pre-existing bugs in the network ACL detail view are fixed here, because the new rows could not render without them:

  • Rule detail rows never displayed. A type assertion in the view never matched, so show, create, and update silently dropped every rule detail (scope, redirect URI, country codes, CIDRs, ASNs, fingerprints, user agents). These now render.
  • Removed a redundant NOT MATCH true row. The NOT prefix on each label already conveys the rule type.

--json output is unchanged.

This is an Early Access feature and requires the flag to be enabled on the tenant.

🔬 Testing

Automated

  • Unit tests for flag parsing and rule building, covering auth0_managed in match and not_match, and combined with other criteria.
  • Unit tests for the rendered detail rows and for the JSON output contract, including that id is always present.
  • Integration test cases updated for the rule detail rows that now render.

Manual

Requires a tenant with the Early Access feature enabled.

auth0 network-acl create -d "Curated Blocklist" -p 6 --active true \
  --rule '{"action":{"block":true},"scope":"tenant","match":{"auth0_managed":["auth0.low_reputation"]}}'
auth0 network-acl show <id>
auth0 network-acl show <id> --json
auth0 network-acl delete <id> --force

Also verified the interactive path by running auth0 network-acl create with no flags and selecting Auth0 Managed.

📝 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)

- Upgrade the v1 Management SDK from v1.45.0 to v1.46.0, which adds the
  auth0_managed field on network ACL rule match criteria.
- Required before the network-acl command can expose Auth0-managed
  curated blocklists; no behavior change on its own.
- Add --auth0-managed flag to network-acl create and update commands for
  specifying Auth0-curated blocklists (auth0.low_reputation, etc.) in rule
  matching criteria. (Early Access only.)
- Support auth0_managed in both match and not_match rule types via the existing
  rule builder.
- Include auth0_managed in the interactive rule builder prompt and default
  extraction from existing rules.
- Add table-driven tests for auth0_managed handling in buildNetworkACLRule and
  extractCurrentRuleDefaults.
- Regenerate command docs with new examples.
- Render Auth0-managed blocklists in both match and not_match rule output,
  labeled as "AUTH0 MANAGED" and "NOT AUTH0 MANAGED" respectively.
- Remove redundant "NOT MATCH" marker row since the "NOT " prefix on field
  labels already clarifies the rule type.
- Fix raw data assignment in makeNetworkACLView to use a pointer.
- Add table-driven tests for auth0_managed field rendering.
- Fix the `raw` field in networkACLView to store a value instead of a pointer to
  management.NetworkACL, which prevents the struct's MarshalJSON pointer receiver
  from stripping the "id" field during JSON serialization.
- Update the KeyValues type assertion to work with the value type, allowing the
  Auth0 Managed display rows to render while keeping "id" in --json output.
- Add regression test covering both populated and minimal ACL serialization to
  detect future JSON contract changes.
- Update test 003 assertions to include SCOPE and IPV4 CIDRS rows which now
  render correctly after fixing the KeyValues type assertion in the display layer.
- Update test 007 assertions to include SCOPE and COUNTRY CODES rows, and
  repad all columns to account for the widened key column width.
- The widening from 2 to 4 spaces was caused by COUNTRY CODES (13 chars) becoming
  the longest key, pushing the visual alignment outward.
@bkiran6398 bkiran6398 changed the title auth0 managed network acl rule feat: add auth0_managed curated blocklists to network ACL rules (EA only) Aug 13, 2026
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