Conversation
10ac321 to
6712976
Compare
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: ASSERTIVE Plan: Advanced 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 |
Benchmark results, click to expandBenchmark authorization.GetDecisions Results:
Benchmark authorization.v2.GetMultiResourceDecision Results:
Benchmark Statistics
Bulk Benchmark Results
TDF3 Benchmark Results:
|
Signed-off-by: Chris Reed <creed@virtru.com>
052c050 to
1b758b8
Compare
Benchmark results, click to expandBenchmark authorization.GetDecisions Results:
Benchmark authorization.v2.GetMultiResourceDecision Results:
Benchmark Statistics
Bulk Benchmark Results
TDF3 Benchmark Results:
|
Add a round-trip test for KAO-based key lookup using a dedicated KM3 with `kas_uri_from_kao` enabled. Run it with `force-platform-supports: kas_uri_from_kao`. Stacked on #604. Uses the action input from opentdf/platform#4057 and covers platform stack opentdf/platform#3951 → opentdf/platform#4048 → opentdf/platform#4053 → opentdf/platform#4056. Validation: unit, fixture, workflow, lint, and type checks passed. Live round-trip not yet run. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added support for a dedicated third key management service in multi-KAS testing. - Extended audit log collection to include the third service. - Added validation for retrieving registered keys and handling missing key identifiers. - **Bug Fixes** - Improved KAO-enabled key management test execution based on detected platform support. - Enhanced verification of alternate key registrations, decryption, and rewrap audit events. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Signed-off-by: Chris Reed <creed@virtru.com>
Signed-off-by: Chris Reed <creed@virtru.com>
Benchmark results, click to expandBenchmark authorization.GetDecisions Results:
Benchmark authorization.v2.GetMultiResourceDecision Results:
Benchmark Statistics
Bulk Benchmark Results
TDF3 Benchmark Results:
|
Signed-off-by: Chris Reed <creed@virtru.com>
Benchmark results, click to expandBenchmark authorization.GetDecisions Results:
Benchmark authorization.v2.GetMultiResourceDecision Results:
Benchmark Statistics
Bulk Benchmark Results
TDF3 Benchmark Results:
|
Signed-off-by: Chris Reed <creed@virtru.com>
Benchmark results, click to expandBenchmark authorization.GetDecisions Results:
Benchmark authorization.v2.GetMultiResourceDecision Results:
Benchmark Statistics
Bulk Benchmark Results
TDF3 Benchmark Results:
|
Signed-off-by: Chris Reed <creed@virtru.com>
Benchmark results, click to expandBenchmark authorization.GetDecisions Results:
Benchmark authorization.v2.GetMultiResourceDecision Results:
Benchmark Statistics
Bulk Benchmark Results
TDF3 Benchmark Results:
|
The cache isolation test still expects registry IDs in cache-hit logs, so it fails after opentdf/platform#4056 changes cache identity to quoted KAS URI + key ID. Match the complete `cache_key` value so `/kas` cannot also satisfy the shorter URI’s assertion. Validation: Ruff lint/format and Pyright passed; checked matching against both URIs and rejection of wrong IDs, registry IDs, and the old prefix. [Cross-SDK validation](https://github.com/opentdf/tests/actions/runs/35634166716) is running against platform commit `110f84d3263c0479ca598c793074a1543cb9bc20`, with KAO/cache coverage enabled. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Tests** - Updated audit-log validation for cached private keys to verify the complete cache key, including the KAS URI and key ID. - Added coverage to ensure entries from different registries are matched distinctly. <!-- end of auto-generated comment: release notes by coderabbit.ai --> Signed-off-by: Chris Reed <creed@virtru.com>
Signed-off-by: Chris Reed <creed@virtru.com>
Benchmark results, click to expandBenchmark authorization.GetDecisions Results:
Benchmark authorization.v2.GetMultiResourceDecision Results:
Benchmark Statistics
Bulk Benchmark Results
TDF3 Benchmark Results:
|
Signed-off-by: Chris Reed <creed@virtru.com>
Benchmark results, click to expandBenchmark authorization.GetDecisions Results:
Benchmark authorization.v2.GetMultiResourceDecision Results:
Benchmark Statistics
Bulk Benchmark Results
TDF3 Benchmark Results:
|
| // CacheKey returns an opaque, stable identifier that distinguishes this key | ||
| // from keys at other KAS URIs or providers sharing a cache. | ||
| // Use ID for key lookups amonst key providers and CacheKey for caching key material. | ||
| CacheKey() string |
There was a problem hiding this comment.
maybe?
| CacheKey() string | |
| StableKey() string |
Also, move this to a separate interface, either its own or an extension
There was a problem hiding this comment.
Went ahead and created a ScopedKeyIdentifier that is implemented by the platform key indexer to uniquely identify the key for caching and other logging behavior. The manager's should still use ID() when reaching out to providers.
Signed-off-by: Chris Reed <creed@virtru.com>
Benchmark results, click to expandBenchmark authorization.GetDecisions Results:
Benchmark authorization.v2.GetMultiResourceDecision Results:
Benchmark Statistics
Bulk Benchmark Results
TDF3 Benchmark Results:
|
|
Proposed Changes
Prevent private-key cache collisions when KAS registrations share a key ID. The optional
ScopedKeyIdentifier.ScopedKeyID()includes the KAS URI; the basic manager falls back toID()for existing implementations. Provider lookups continue usingID().Stack: #3951 → #4048 → #4053 → #4056.
Checklist
Testing Instructions
Focused race tests and SDK README tests pass. No new lint findings; full local checks encounter existing lint issues and Keycloak fixture failures.
Prior xtest passed all 27 KAO/cache cases without skips, before these review changes.