[Improvement] RESTful API supports isolated authentication configuration
- Dominant language
- Scala
- Stars
- 2.4k
- Forks
- 1k
- PR merge metrics
- No merged PRs in 30d
Description
### Code of Conduct
- [X] I agree to follow this project's [Code of Conduct](https://www.apache.org/foundation/policies/conduct)
### Search before asking
- [X] I have searched in the [issues](https://github.com/apache/kyuubi/issues?q=is%3Aissue) and found no similar issues.
### What would you like to be improved?
kyuubi restful api uses the authentication method set by the `kyuubi.authentication` parameter, but sometimes users do not want to enable the authentication for restful api.
When `kyuubi.authentication=KERBEROS`, but `kyuubi.spnego.xxx` not set, an error will be reported, and http requests for "/api/v1" will fail.
```
WARN main org.apache.kyuubi.server.http.authentication.AuthenticationFilter: The authentication handler KerberosAuthenticationHandler for scheme NEGOTIATE is not supported.
```

Should we add a configuration parameter like `kyuubi.restful.authentication` to control whether the restful api enables authentication?
### How should we improve?
add a configuration parameter to supports restful api control authentication isolated.
### Are you willing to submit PR?
- [X] Yes. I would be willing to submit a PR with guidance from the Kyuubi community to improve.
- [ ] No. I cannot submit a PR at this time.
Contributor guide
Research direction
Start by tracing the RESTful API authentication handling and the existing kyuubi.authentication and kyuubi.spnego configuration. Define how an isolated REST API authentication setting should behave when global authentication is enabled, then add coverage for the reported KERBEROS configuration case and verify that /api/v1 requests behave as intended.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- scala
- Domain
- api, authentication, backend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100