-
Notifications
You must be signed in to change notification settings - Fork 106
selinux: fix containers access for shared runtime directories #397
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Signed-off-by: Sohan Kunkerkar <sohank2602@gmail.com>
Reviewer's guide (collapsed on small PRs)Reviewer's GuideThis patch extends the SELinux container policy to label and permit access to shared runtime directories (e.g. /run/containers, /run/docker) by updating file contexts, defining a new type, and adding the necessary allow rules in the container domain. File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Summary of Changes
Hello @sohankunkerkar, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!
This pull request addresses an SELinux policy adjustment to correctly manage container access to shared runtime directories. The change ensures that containers have the necessary permissions to interact with these directories while maintaining a principle of least privilege, enhancing overall system security.
Highlights
- SELinux Policy Refinement: The SELinux policy for containers accessing shared runtime directories has been updated. The permission set for
container_t
oncontainer_var_run_t:dir
was changed fromread open
tolist_dir_perms
to provide more precise access control.
Using Gemini Code Assist
The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.
Invoking Gemini
You can request assistance from Gemini at any point in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command>
or @gemini-code-assist <command>
. Below is a summary of the supported commands.
Feature | Command | Description |
---|---|---|
Code Review | /gemini review |
Performs a code review for the current pull request in its current state. |
Pull Request Summary | /gemini summary |
Provides a summary of the current pull request in its current state. |
Comment | @gemini-code-assist | Responds in comments when explicitly tagged, both in issue comments and review comments. |
Help | /gemini help |
Displays a list of available commands. |
Customization
To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/
folder in the base of the repository. Detailed instructions can be found here.
Limitations & Feedback
Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.
You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.
Footnotes
-
Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution. ↩
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
This pull request correctly fixes container access to shared runtime directories by replacing the overly restrictive { read open }
permissions with the list_dir_perms
macro. This change grants the necessary permissions for OCI runtimes to inspect these directories, such as search
and getattr
, while still preventing any modifications. The use of a standard macro is a good practice, and the change improves functionality without introducing security risks. The fix is sound and well-implemented.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: giuseppe, sohankunkerkar, sourcery-ai[bot] The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
LGTM |
@sohankunkerkar thanks. Were you able to test the fix prior to merge? Also, any recommendations on adding ocp tests to container-selinux? |
@lsm5 Yup, I have already commented here-> #396 (comment)
I think you need to set up prow for this repo in openshift/release to leverage openshift test-suite. |
@sohankunkerkar would you have time to do it for this repo? If not, mind giving us a handy link / doc ? |
/cherrypick rhaos-maint |
@lsm5: new pull request created: #400 In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
Summary by Sourcery
Update SELinux policy to allow container processes to access shared runtime directories, fixing permission denials on mounted host directories
Bug Fixes:
Enhancements: