-
-
Notifications
You must be signed in to change notification settings - Fork 48
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
Improve handling of restricted Admin API policy #5099
Labels
C: core
P: default
Priority: default. Default priority for new issues, to be replaced given sufficient information.
T: enhancement
Type: enhancement. A new feature that does not yet exist or improvement of existing functionality.
Comments
marmarek
added
T: enhancement
Type: enhancement. A new feature that does not yet exist or improvement of existing functionality.
C: core
P: default
Priority: default. Default priority for new issues, to be replaced given sufficient information.
labels
Jun 14, 2019
marmarek
added a commit
to marmarek/qubes-core-admin-client
that referenced
this issue
Jun 14, 2019
…call When qubesd returns an name of VM or other object, as part of another call (reading a property, listing devices etc), it's safe to assume that object exists. Do not try to list it, which could be prevented by qrexec policy. This means a VM object would be returned (for example in vm.netvm property), which potentially could not be listed through app.domains collection. This may lead to some corner cases, but generally should ease handling of restricted policy. This does not affect practical information the management VM have access too, as those names are already returned. It's just client side python wrapper that didn't allowed to access them. QubesOS/qubes-issues#5099
marmarek
added a commit
to marmarek/qubes-core-admin-client
that referenced
this issue
Dec 3, 2019
…call When qubesd returns an name of VM or other object, as part of another call (reading a property, listing devices etc), it's safe to assume that object exists. Do not try to list it, which could be prevented by qrexec policy. This means a VM object would be returned (for example in vm.netvm property), which potentially could not be listed through app.domains collection. This may lead to some corner cases, but generally should ease handling of restricted policy. This does not affect practical information the management VM have access too, as those names are already returned. It's just client side python wrapper that didn't allowed to access them. QubesOS/qubes-issues#5099
marmarek
added a commit
to marmarek/qubes-core-admin-client
that referenced
this issue
Jan 18, 2020
…call When qubesd returns an name of VM or other object, as part of another call (reading a property, listing devices etc), it's safe to assume that object exists. Do not try to list it, which could be prevented by qrexec policy. This means a VM object would be returned (for example in vm.netvm property), which potentially could not be listed through app.domains collection. This may lead to some corner cases, but generally should ease handling of restricted policy. This does not affect practical information the management VM have access too, as those names are already returned. It's just client side python wrapper that didn't allowed to access them. QubesOS/qubes-issues#5099
marmarek
added a commit
to marmarek/qubes-core-admin-client
that referenced
this issue
Jan 28, 2020
…call When qubesd returns an name of VM or other object, as part of another call (reading a property, listing devices etc), it's safe to assume that object exists. Do not try to list it, which could be prevented by qrexec policy. This means a VM object would be returned (for example in vm.netvm property), which potentially could not be listed through app.domains collection. This may lead to some corner cases, but generally should ease handling of restricted policy. This does not affect practical information the management VM have access too, as those names are already returned. It's just client side python wrapper that didn't allowed to access them. QubesOS/qubes-issues#5099
Generally |
marmarek
added a commit
to marmarek/qubes-core-admin
that referenced
this issue
Feb 21, 2020
This will be useful in other places too. QubesOS/qubes-issues#5099
marmarek
added a commit
to marmarek/qubes-core-admin
that referenced
this issue
Mar 9, 2020
This will be useful in other places too. QubesOS/qubes-issues#5099
marmarek
added a commit
to marmarek/qubes-core-admin-client
that referenced
this issue
Apr 20, 2020
…call When qubesd returns an name of VM or other object, as part of another call (reading a property, listing devices etc), it's safe to assume that object exists. Do not try to list it, which could be prevented by qrexec policy. This means a VM object would be returned (for example in vm.netvm property), which potentially could not be listed through app.domains collection. This may lead to some corner cases, but generally should ease handling of restricted policy. This does not affect practical information the management VM have access too, as those names are already returned. It's just client side python wrapper that didn't allowed to access them. QubesOS/qubes-issues#5099
marmarek
added a commit
to marmarek/qubes-core-admin-client
that referenced
this issue
May 18, 2020
…call When qubesd returns an name of VM or other object, as part of another call (reading a property, listing devices etc), it's safe to assume that object exists. Do not try to list it, which could be prevented by qrexec policy. This means a VM object would be returned (for example in vm.netvm property), which potentially could not be listed through app.domains collection. This may lead to some corner cases, but generally should ease handling of restricted policy. This does not affect practical information the management VM have access too, as those names are already returned. It's just client side python wrapper that didn't allowed to access them. QubesOS/qubes-issues#5099
marmarek
added a commit
to QubesOS/qubes-core-admin-client
that referenced
this issue
Oct 24, 2020
…call When qubesd returns an name of VM or other object, as part of another call (reading a property, listing devices etc), it's safe to assume that object exists. Do not try to list it, which could be prevented by qrexec policy. This means a VM object would be returned (for example in vm.netvm property), which potentially could not be listed through app.domains collection. This may lead to some corner cases, but generally should ease handling of restricted policy. This does not affect practical information the management VM have access too, as those names are already returned. It's just client side python wrapper that didn't allowed to access them. QubesOS/qubes-issues#5099 (cherry picked from commit 5315bbf)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
C: core
P: default
Priority: default. Default priority for new issues, to be replaced given sufficient information.
T: enhancement
Type: enhancement. A new feature that does not yet exist or improvement of existing functionality.
The problem you're addressing (if any)
Writing policy for management VM for qvm-* tools to work require multiple trade-offs. For example:
Describe the solution you'd like
admin.vm.List
output (which when directed todom0
- list all the VMs) to a list of VMs explicitly allowed inadmin.vm.List
policy, even when the call is to dom0.Where is the value to a user, and who might that user be?
Ease writing concise and precise Admin API policy. Basically, remove catches mentioned in https://www.qubes-os.org/news/2017/06/27/qubes-admin-api/#simple-management-vm-demo
Related, non-duplicate issues
#3293
The text was updated successfully, but these errors were encountered: