Skip to content

feat(iamd): enforce IAM policies with typed CEL filters - #1027

Open
Xe wants to merge 2 commits into
masterfrom
feat/iam-policies
Open

Xe wants to merge 2 commits into
masterfrom
feat/iam-policies

Conversation

@Xe

@Xe Xe commented Oct 17, 2026

Copy link
Copy Markdown
Owner

iamd now enforces attached IAM policy documents on its signed RPC routes. Administrators manage immutable policies and attachments through PolicyService or the iam CLI; non-admin callers require an applicable ALLOW, and every applicable DENY takes precedence.

The evaluator uses concrete request and principal protobuf types with cel.dev/cel-go v0.32.0. Conditional DENY rules, malformed filters, wildcard boundaries, missing policy documents, and admin recovery all retain fail-closed behavior. Both STS response types and verifier caches carry policies and admin identity for downstream enforcement.

The repository's application imports use the canonical CEL module. The old module remains indirectly required by Protovalidate and the OpenAPI generator.

Validation:

  • npm test passed, including generation, formatting, and go test ./....
  • Race checks passed for iam/authz, cmd/iamd/..., and both iamsts verifier packages.
  • Regressions cover policy precedence, typed filters, admin recovery, unavailable DENY documents, and policy/admin propagation on fresh and cached verification.
  • Downstream guide examples compile with existing IAM service bindings substituted for the illustrative widget service.

Other applications still need to install their own enforcement. Downstream policy revocation remains bounded by the server-advised verifier cache TTL.

Add policy storage, admin management APIs, CLI templates, and per-call
RPC enforcement. Propagate policy snapshots and admin identity through
STS and both signature verifiers.

Use cel.dev/cel-go, preserve DENY precedence and conditional filters,
and fail closed when attached documents are unavailable. Cover policy
evaluation, admin recovery, and cached metadata propagation with
regression tests.

Signed-off-by: Xe Iaso <me@xeiaso.net>

Xe commented Oct 17, 2026

Copy link
Copy Markdown
Owner Author

/reviewbot

@github-actions

github-actions Bot commented Oct 17, 2026 •

Copy link
Copy Markdown
Contributor

The latest Buf updates on your PR. Results from workflow Go / build (pull_request).

BuildFormatLintBreakingUpdated (UTC)
✅ passed✅ passed✅ passed✅ passedOct 17, 2026, 5:37 AM

Signed-off-by: Xe Iaso <me@xeiaso.net>
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