mchades opened a new pull request, #12797: URL: https://github.com/apache/gravitino/pull/12797
### What changes were proposed in this pull request? - Register generic `ViewOperations` with `GravitinoInterceptionService`. - Add authorization expressions and metadata for list, create, load, alter, and drop endpoints. - Filter listed views by ownership or `SELECT_VIEW`. - Set the generic View creator as owner and preserve authorization mappings across rename. - Reuse `CREATE_VIEW`, `SELECT_VIEW`, and owner-based mutation semantics without introducing an `ALTER_VIEW` privilege. - Update authorization, OpenAPI, and View design documentation. ### Why are the changes needed? Generic View REST operations currently bypass metadata authorization, allowing requests to reach catalog lookup before privilege checks. Fix: #12729 ### Does this PR introduce _any_ user-facing change? Yes. When authorization is enabled: - Generic View endpoints enforce metadata-operation authorization. - View listings only return authorized entries. - Newly created Views are owned by their creator. - Alter and drop operations are owner-based. This does not add an explicit `INVOKER`/`DEFINER` option, `DEFINER` execution, or new engine integration. The current Iceberg engine path continues to use invoker behavior. ### How was this patch tested? - Ran 50 focused authorization, interceptor, REST, ownership-hook, and Iceberg View tests. - Ran Spotless checks for all affected Java modules. - Ran `./gradlew :docs:build --no-daemon`. - Ran `git diff origin/main...HEAD --check`. -- 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]
