[KYUUBI #7676][DOCS] Recommend multi-tenant session config safeguards - #7677
[KYUUBI #7676][DOCS] Recommend multi-tenant session config safeguards#7677nightcityblade wants to merge 4 commits into
Conversation
…guards Signed-off-by: nightcityblade <jackchen@haloailabs.com>
|
Greeting is somehow broken. Sending a message by hand
|
|
@nightcityblade Thank you for the PR! |
|
Thanks — I added a concrete starting policy in 44994a2. It silently keeps server-defined driver/executor memory while explicitly rejecting client changes to The text also explains when to use the ignore versus restrict list, tells administrators to tailor the baseline, and clarifies that operation-level |
wForget
left a comment
There was a problem hiding this comment.
@nightcityblade Thanks for your contribution. However, the documentation you modified is for the Kyuubi AuthZ Plugin For Spark SQL, which is unrelated to the configuration mentioned in this PR.
|
Thanks for catching the scope mismatch. I moved the multi-tenant session-configuration guidance out of the Spark authorization plugin page and into the general Kyuubi security overview. The full Sphinx HTML build succeeds with the same six unrelated existing warnings, and |
| kyuubi.session.conf.ignore.list=spark.driver.memory,spark.executor.memory | ||
| kyuubi.session.conf.restrict.list=spark.master,spark.submit.deployMode,spark.sql.extensions,spark.sql.optimizer.excludedRules |
There was a problem hiding this comment.
These parameters are not a good example for security. For example, I would like to add kyuubi.session.engine.spark.main.resource to restrict overriding the main class and add kyuubi.engine.share.level to restrict overriding the share level, also spark.submit.deployMode to ensure client use the expected deploy mode.
Also please mention this example is not a comprehensive list.
| client values, while the restrict list rejects the connection. They do not | ||
| prevent later changes through `SET` statements; configure the engine's | ||
| operation-level restrictions separately when that protection is required. |
There was a problem hiding this comment.
They do not prevent later changes through
SETstatements; configure the engine's operation-level restrictions separately when that protection is required.
This is not always true. If the config is static or used in other module (e.g. yarn/core), it's never updated.
|
Also, would you create a new doc under docs/security for this guidance? Adding to index.md is not a good idea. I would like to keep the index.md only for index |
|
Addressed the latest feedback in 95c480e:
Validation: the full Sphinx HTML build succeeds with the same six unrelated existing warnings, and |
|
Addressed: the guidance now lives in a dedicated docs/security/session_configuration.md page, includes the requested main-resource, engine-share-level, and deploy-mode safeguards, marks the list as non-comprehensive, and clarifies that only some settings remain mutable via SET. |
Why are the changes needed?
The session configuration ignore and restrict lists are empty by default. In a
multi-tenant deployment, leaving both lists empty lets clients override
sensitive session-level configuration during engine bootstrap and connection
setup. This adds an explicit administrator recommendation to the existing
security documentation.
Closes #7676.
How was this patch tested?
env PATH=/usr/bin:/bin:/usr/sbin:/sbin dev/reformatsphinx-build -W --keep-going -D suppress_warnings=myst.xref_missing,misc.highlighting_failure -b html docs /tmp/kyuubi-docs-build-7676-focusedsecurity/authorization/spark/overview.htmlcontainsthe recommendation.
The Sphinx suppression covers existing warnings in unrelated documentation;
the changed page builds without warnings.
Was this patch assisted by generative AI tooling?
Assisted-by: OpenAI Codex:GPT-5