docs: document SELinux container domains - #60
Conversation
|
Applied the independent review findings in 0e82262: clarified the exact |
0e82262 to
c8e3f37
Compare
Jiri Appl (jiria)
left a comment
There was a problem hiding this comment.
Read through this carefully against the policy sources — it's a genuinely high-quality doc, and the verification methodology in the description is more rigorous than most. The workload-vs-engine/helper-domain split is a distinction people routinely get wrong, and it's handled well here. Tables using text markers alongside colour is a nice touch too.
I spot-checked the factual claims and the following all hold up: the crictl ... info | jq -r '.config.enableSelinux' path for containerd 2.x, enable_selinux = true in the shipped containerd config, persistent journal storage under /var/log/journal, the container_logreader_t grant set, svirt_lxc_net_t as a container_t alias, container_runtime_t as a file type, the container_kvm_t specifics, the engine-scope and MCS-constrained columns, the MCS dominance reasoning, and containerd allocating a fresh MCS level when the level is omitted.
I also went and checked the "five workload process domains" count and the container_init_t statement, since those are the hardest claims for a reader to verify — both are correct for RELEASE_2_20250213. (Flagging that only because an automated pass against refpolicy main disagrees, where container_init was added after the shipped release. Might be worth a version anchor in the text to save the next person the same detour.)
Five comments below. Two I'd actually like a response on (the spc_t module-loading attribution, and DAC in the journal validation step); the rest are low-priority or take-or-leave. Not blocking — this is already approved and I don't want to hold it up.
|
Addressed the latest review in 682baf6. In addition to the inline fixes, the guide now anchors the five-domain inventory and undefined |
There was a problem hiding this comment.
Pull request overview
Adds a customer-facing reference for ACL’s workload-selectable SELinux container domains, focusing on helping operators choose the narrowest appropriate domain instead of defaulting to privileged spc_t.
Changes:
- Reworks
selinux.mdinto a domain selection and reference guide coveringcontainer_t,container_logreader_t,container_kvm_t,spc_t, andspc_user_t. - Adds decision/capability matrices plus Kubernetes-focused domain selection and MCS isolation guidance.
- Updates the docs index entry to reflect the new SELinux guide scope.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| acl/docs/selinux.md | Expands into a full SELinux container domain reference with selection guidance, capability comparison, and operational examples. |
| acl/docs/README.md | Updates the SELinux docs row description to match the expanded guide. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
682baf6 to
153198f
Compare
153198f to
4e5bb7c
Compare
Provide a customer-facing reference for every workload container domain, incorporate review guidance for CRI, MCS, DAC, audit and troubleshooting behavior, and distinguish supported workloads from internal policy types. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Signed-off-by: Sean Dougherty <sdougherty@microsoft.com>
4e5bb7c to
85a4700
Compare
|
Jiri Appl (@jiria) Nikola Bojanic (@nbojanic) The conflict-free replacement now folds the #63 follow-ups directly into #60. It is one docs-only commit on merged |
Summary
Add a customer-facing reference for every workload-selectable SELinux container domain shipped by ACL. The guide helps teams choose purpose-built confined domains instead of defaulting to
spc_t.This PR now targets
aclmaindirectly and includes the reviewed runtime-guidance changes previously tracked in #63; #63 is superseded.Change Log
container_t,container_logreader_t,container_kvm_t,spc_t, andspc_user_t.enableSelinux, single- and multi-container MCS considerations, and collision-free allocation requirements.dontaudittroubleshooting on development images.svirt_lxc_net_talias and shipped-but-undefinedcontainer_init_tcontext.spc_tpermissions.Type of Change
Does this affect the image build?
Associated Issues
Test Methodology
selinux-policy-2.20250213-10CIL.container_kvm_t, audit read/no-map, journal read/map, and directspc_tmodule-loading semantics against source and packaged policy.enableSelinux, runtime type/MCS assignment, and host-log reads on the ACL validation image.Merge Checklist