HonahX opened a new pull request, #2767: URL: https://github.com/apache/polaris/pull/2767
In https://github.com/apache/polaris/pull/2697, we introduce fine grained authorizable operations which creates the need to authorize multiple `authorizableOperations` for one request. This PR introduce new `authorizeOrThrow` api to help batch authorize multiple operations, instead of doing so in a for loop in CatalogHandler Previous ``` for (PolarisAuthorizableOperation op : ops) { authorizer.authorizeOrThrow( polarisPrincipal, resolutionManifest.getAllActivatedCatalogRoleAndPrincipalRoles(), op, target, null /* secondary */); } ``` Now: ``` authorizer.authorizeOrThrow( polarisPrincipal, resolutionManifest.getAllActivatedCatalogRoleAndPrincipalRoles(), ops, target, null /* secondary */); ``` This will be helpful for external authorizer integration like: https://github.com/apache/polaris/pull/2680, which will send a rest request for every `authorizeOrThrow` call. Making `authorizeOrThrow` takes multiple operations allow the implementation to send a batch authorization request to the backend. cc: @travis-bowen @collado-mike @dimas-b <!-- Possible security vulnerabilities: STOP here and contact [email protected] instead! Please update the title of the PR with a meaningful message - do not leave it "empty" or "generated" Please update this summary field: The summary should cover these topics, if applicable: * the motivation for the change * a description of the status quo, for example the current behavior * the desired behavior * etc PR checklist: - Do a self-review of your code before opening a pull request - Make sure that there's good test coverage for the changes included in this PR - Run tests locally before pushing a PR (./gradlew check) - Code should have comments where applicable. Particularly hard-to-understand areas deserve good in-line documentation. - Include changes and enhancements to the documentation (in site/content/in-dev/unreleased) - For Work In Progress Pull Requests, please use the Draft PR feature. Make sure to add the information BELOW this comment. Everything in this comment will NOT be added to the PR description. --> -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
