Repository navigation
feat(scim): provision Entra agent identities and directory groups - #43230
joshua-berri wants to merge 12 commits into
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
|
@greptileai Please review 82e6d85: the split preserves identity boundaries, isolates feature dependencies, and adds regression coverage for confirmed authorization gaps. |
|
bugbot run Please review 82e6d85, including authorization boundaries, schema compatibility, failure handling, and regression tests for this split PR. |
|
@greptileai Please review 82e6d85: the split preserves identity boundaries, isolates feature dependencies, and adds regression coverage for confirmed authorization gaps. |
|
bugbot run Please review 82e6d85, including authorization boundaries, schema compatibility, failure handling, and regression tests for this split PR. |
|
|
@greptileai Please review 5a701dd: atomic human ownership, legacy-token isolation, GUID normalization, and native Entra verification. Final independent verification is quota-blocked. |
|
bugbot run Please review 5a701dd: source boundaries, atomic local-account reservation, immutable identity correspondence, and GUID normalization have fresh regression and live evidence. |
|
Rejecting every scoped admin credential now has nine regression cases. @greptileai and @cursor review please recheck 472514e, including the withdrawn database-read finding |
b855ecd to
08b0133
Compare
472514e to
da71c5a
Compare
08b0133 to
320a688
Compare
|
@greptileai @veria-ai Please review da71c5a. This reconciles the approved three-PR stack and prior fixes. Verify this complete scope against its immediate parent. |
c49737d to
91bc86a
Compare
904e677 to
9a917b5
Compare
|
@greptileai @veria-ai Please review 9a917b5: legacy user routes now protect source-owned teams. Live attack blocked, ordinary controls pass; privacy limitation awaits adjudication. |
|
@greptileai @veria-ai Please review b265697: test-only PT012 repair, four cases pass; ownership enforcement unchanged. Conflict-response privacy limitation still awaits adjudication. |
|
@greptileai @veria-ai Please review 7a3b7c1: immutable membership defaults fix the lint overage. All canonical gates pass; accepted privacy limitation is documented. |
TLDR
Problem this solves:
How it solves it:
Depends on #43229, which depends on #43149. Reconciles existing implementation and review fixes; no additional feature scope
Diff sizes are being refreshed after the reviewed repairs
User Flow
Before: the complete workflow below is unavailable at this PR's parent
After: this PR provides the workflow through the existing gateway surfaces
Relevant issues
Original complete implementation: #43149
Affected release
Linear ticket
Pre-Submission checklist
Screenshots / Proof of Fix
Live SCIM checks used a source provisioning credential and a separate legacy /scim/* credential against a real source-owned team
Before, at 904e677, POST /scim/v2/Users with the directory team in groups returned 201 and added the new user to that roster. PUT and PATCH also returned 200 and changed source-owned membership
After the focused ownership guard, the same POST, PUT and PATCH requests return 403 before user creation or roster mutation. Ordinary-team creation and membership updates still return 201/200. The guard checks changed team IDs through the existing authoritative, bounded ownership lookup; unchanged memberships and trusted internal synchronization are preserved
Eight guard cases passed. Four endpoint regressions fail behaviorally on the parent by reaching the forbidden write. A final typing adjustment normalizes the existing structured team input to its ID before validation; its focused verification is pending
Previous-tip Codecov covered 900/900 reported changed executable lines. Current-tip CI, coverage and reviewer reassessment remain pending
Current scoped repair at 7a3b7c1: four membership-guard call sites use immutable empty defaults; 48 focused tests and the full canonical lint/type gates pass. Current-tip CI, coverage and bot reviews are pending; additional live checks are running in parallel.
Type
New Feature
Caveats
Final Attestation