Repository navigation
Fix Extension Management permission validation - #12383
PooyaKharamesh wants to merge 4 commits into
Conversation
Backport the corrected permission-set checks and regression tests, including the namespace and test compilation repairs from Bug 651703. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
The |
|
This backport targets |
Good Sense Reviewer - Round 1Recommendation: Reject ChangesWhat this PR doesThis change replaces the indirect metadata read-permission check with explicit authorization for The permission API checks direct and inherited assignments, and the app ID, scope, company, and role filters match the intended tenant-wide authorization. The code-level fix is coherent and targets the authorization root cause. Problem-solution fitFit: Strong The change directly replaces the overly broad authorization signal with the specific permission sets intended to manage extensions. The added tests cover the main allow and deny cases. SuggestionsNone. Risk assessment and necessityRisk: This changes the tenant-wide authorization gate used by extension installation, removal, and data deletion. The explicit checks appear correct, and the code remains internal, but an error here could either deny valid administrators or allow unauthorized extension changes. AL compilation succeeded; runtime tests did not complete because the build environment could not connect to Docker. Necessity: The authorization hardening is justified because unrelated metadata read access must not grant extension-management rights. However,
|
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Good Sense Reviewer - Round 2Recommendation: Reject ChangesWhat this PR doesThe new commits make the test-only authorization subscriber manual, bind it before extension lifecycle tests, and separate the test codeunit variables. They also reorder These updates fix the test subscriber lifecycle without changing the authorization logic. The explicit Status of previous suggestionsNone from round 1. New observations (commits since round 1)None. Risk assessment and necessityRisk: This changes the tenant-wide authorization gate used by extension installation, removal, and data deletion. The explicit checks remain targeted, the application builds pass, and all 15 focused Extension Management tests pass; the round-2 commits add no new production behavior. Necessity: The authorization hardening is justified. The PR-specific discussion explicitly identifies this exact target branch,
|
|
Closing this PR because its target branch is unsupported and will not be merged here. The authorization-hardening change and any remaining review/build follow-up will be fixed in separate PRs targeting supported branches. |
1 similar comment
|
Closing this PR because its target branch is unsupported and will not be merged here. The authorization-hardening change and any remaining review/build follow-up will be fixed in separate PRs targeting supported branches. |
Pull request was closed
Fixes missing permission validation in Extension Management.
Related to AB#648158