You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This PR adds a new role, of a "limited collaborator". The role
essentially has restrictions on actions on networking resources while
allowing normal collaborator permissions on compute resources.
The `limited collaborator` role can `read` and `list_children`,
but can _not_ `create_children`, or `modify` (or delete) the following
resources:
- VPC
- Subnet
- Firewall Rule
- Custom Router
- Route
- Internet Gateway (including attach/detach IP pools and IP addresses)
Limited Collaborators will still be allowed full create / modify /
delete permissions on these resources:
- Floating IP
- Instance Network Interfaces
- compute resources
---------
Co-authored-by: David Pacheco <[email protected]>
Copy file name to clipboardExpand all lines: docs/adding-an-endpoint.adoc
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -32,7 +32,7 @@ this document should act as a jumping-off point.
32
32
* Add helper functions to `LookupPath` to make it possible to fetch the resource by either UUID or name (https://github.com/oxidecomputer/omicron/blob/1dfe47c1b3122bc4f32a9c517cb31b1600581ea2/nexus/src/db/lookup.rs#L225-L237[Example])
33
33
** These are often named `pub fn <my_resource>_name`, or `pub fn <my_resource>_id`
34
34
* Use the https://github.com/oxidecomputer/omicron/blob/main/nexus/authz-macros/src/lib.rs[`authz_resource!` macro] to define a new `authz::...` structure, which is returned from the **Lookup** functions (https://github.com/oxidecomputer/omicron/blob/1dfe47c1b3122bc4f32a9c517cb31b1600581ea2/nexus/src/authz/api_resources.rs#L758-L764[Example])
35
-
** If you define `polar_snippet = InProject` (for developer resources) or `polar_snippet = FleetChild` (for operator resources), most of the polar policy is automatically defined for you
35
+
** If you define `polar_snippet = InProjectLimited` or `polar_snippet = InProjectFull` (for developer resources) or `polar_snippet = FleetChild` (for operator resources), most of the polar policy is automatically defined for you
36
36
** If you define `polar_snippet = Custom`, you should edit the omicron.polar file to describe the authorization policy for your object (https://github.com/oxidecomputer/omicron/blob/1dfe47c1b3122bc4f32a9c517cb31b1600581ea2/nexus/src/authz/omicron.polar#L376-L393[Example])
37
37
* Either way, you should add reference the new resource when https://github.com/oxidecomputer/omicron/blob/1dfe47c1b3122bc4f32a9c517cb31b1600581ea2/nexus/src/authz/oso_generic.rs#L119-L148[constructing the Oso structure]
0 commit comments