feat: Virtru as attribute store#40634
Conversation
|
Looks like this PR is not ready to merge, because of the following issues:
Please fix the issues and try again If you have any trouble, please check the PR guidelines |
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## develop #40634 +/- ##
===========================================
+ Coverage 69.65% 69.77% +0.12%
===========================================
Files 3338 3343 +5
Lines 123246 123544 +298
Branches 21973 21985 +12
===========================================
+ Hits 85841 86205 +364
+ Misses 34052 33988 -64
+ Partials 3353 3351 -2
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
7a0c73b to
f3a549c
Compare
… typed entity-resolution error
Update test assertions to await the now-async method.
The service relied solely on the 'license.module' broker event to track
the ABAC license flag, missing the initial state if the event fired before
subscription. Seed hasAbacLicense in started() via License.hasModule('abac')
so the effective attribute-store evaluation works on the first request.
In microservices the AbacService runs in the authorization-service
process while the license lives in the monolith. reevaluateAttributeStore
re-synced the store selection from a stale hasAbacLicense field, so the
Virtru attribute store was never selected. Refresh the flag from the
License service (broker call) before re-syncing; the monolith already
invokes this on License.onToggledFeature('abac').
The attribute-store selection was gated by a cached hasAbacLicense flag
seeded at startup and refreshed by a license-module event. In
microservices the AbacService runs in the authorization-service while the
license lives in the monolith, so both the startup seed and the event
race the cross-process license validation, leaving the service stuck on
the local store and the Virtru store unreachable.
Query the license service live at the point of use instead: effectiveStore
awaits License.hasModule('abac'), and the store instance is resolved
on demand. This matches the request-time license gate already used by the
ABAC API routes and removes the startup race entirely. Drops the
hasAbacLicense field, the license-module listener and reevaluateAttributeStore.
The microservices never run the Log_Level settings watch that the monolith uses, so @rocket.chat/logger stayed pinned at 'warn' and debug output from service-side code was invisible in CI. Seed the logger's default level from a LOG_LEVEL env var and pass DEBUG_LOG_LEVEL into each microservice container so e2e debug runs surface service logs.
VirtruAttributeStore.decideRooms now translates a failed GetDecisionBulk call into PdpUnavailableError, so a write blocked by an unreachable decision endpoint surfaces error-pdp-unavailable instead of a raw error. e2e fixes: the "admin A can POST" test now targets a fresh room instead of the pre-seeded shared room (which already had the clearance key); the admin B DENY write tests assert error-abac-not-authorized-to-modify-room (the PDP is reachable and returns DENY); and the wipe-transition and local-mode-regression before hooks reset/seed the mock server before issuing PDP-gated writes.
b2dc287 to
2a00e01
Compare
|
|
/layne exception-approve LAYNE-8598b68f3ce8435a LAYNE-e568b73325f960fd LAYNE-5929c5f8cb7138d7 reason: these are acceptable and valid ignoreSsrfValidation entries, not vulnerabilities |
|
✅ Exception recorded for LAYNE-8598b68f3ce8435a, LAYNE-e568b73325f960fd, LAYNE-5929c5f8cb7138d7 by @julio-rocketchat: "these are acceptable and valid ignoreSsrfValidation entries, not vulnerabilities". Re-running scan... |
Proposed changes (including videos or screenshots)
Issue(s)
Steps to test or reproduce
Further comments