nova/nova/policies
Prashanth kumar reddy 4a09c2210b Separate CRUD policy for server_groups
The same policy rule (os_compute_api:os-server-groups) is being used
for all actions (show, index, delete, create) for server_groups REST
APIs. It is thus impossible to provide different RBAC for specific
actions based on roles. To address this changes are made to have
separate policy rules for each of action.

It has been argued that index and show may not need separate policy
rules, but most other places in nova (and OpenStack in general) do
have separate policy rules for each action. This affords the ultimate
flexibility to deployers, who can obviously use the same rule if
that is what they want. One example where show and index may be
different is that if show is restricted based on some criteria, such
that a user is able to see some resources within the tenant but not
others, then list would need to be disallowed to prevent the user
from using list to see resources they cannot show.

Change-Id: Ica9e07f6e80257902b4a0cc44b65fd6bad008bba
Closes-Bug: #1636157
2016-11-21 11:43:13 -05:00
..
__init__.py policy: clean-up 2016-06-30 19:56:14 +00:00
admin_actions.py policy: Add defaults in code (part 1) 2016-06-23 19:53:29 +03:00
admin_password.py policy: Add defaults in code (part 1) 2016-06-23 19:53:29 +03:00
agents.py policy: Add defaults in code (part 1) 2016-06-23 19:53:29 +03:00
aggregates.py policy: Add defaults in code (part 1) 2016-06-23 19:53:29 +03:00
assisted_volume_snapshots.py policy: Add defaults in code (part 1) 2016-06-23 19:53:29 +03:00
attach_interfaces.py Add separate create/delete policies to attach_interface 2016-08-09 11:01:26 -04:00
availability_zone.py policy: Add defaults in code (part 1) 2016-06-23 19:53:29 +03:00
baremetal_nodes.py policy: Add defaults in code (part 1) 2016-06-23 19:53:29 +03:00
base.py policy: clean-up 2016-06-30 19:56:14 +00:00
block_device_mapping.py policy: clean-up 2016-06-30 19:56:14 +00:00
block_device_mapping_v1.py policy: Add defaults in code (part 1) 2016-06-23 19:53:29 +03:00
cells.py policy: Add defaults in code (part 2) 2016-06-23 12:10:03 -07:00
cells_scheduler.py policy: clean-up 2016-06-30 19:56:14 +00:00
certificates.py policy: Add defaults in code (part 2) 2016-06-23 12:10:03 -07:00
cloudpipe.py policy: Add defaults in code (part 2) 2016-06-23 12:10:03 -07:00
config_drive.py policy: Add defaults in code (part 2) 2016-06-23 12:10:03 -07:00
console_auth_tokens.py policy: Add defaults in code (part 2) 2016-06-23 12:10:03 -07:00
console_output.py policy: Add defaults in code (part 2) 2016-06-23 12:10:03 -07:00
consoles.py policy: Add defaults in code (part 2) 2016-06-23 12:10:03 -07:00
create_backup.py policy: Add defaults in code (part 2) 2016-06-23 12:10:03 -07:00
deferred_delete.py policy: Add defaults in code (part 2) 2016-06-23 12:10:03 -07:00
evacuate.py policy: Add defaults in code (part 2) 2016-06-23 12:10:03 -07:00
extended_availability_zone.py policy: Add defaults in code (part 2) 2016-06-23 12:10:03 -07:00
extended_server_attributes.py policy: Add defaults in code (part 2) 2016-06-23 12:10:03 -07:00
extended_status.py policy: Add defaults in code (part 2) 2016-06-23 12:10:03 -07:00
extended_volumes.py policy: Add defaults in code (part 2) 2016-06-23 12:10:03 -07:00
extension_info.py policy: Add defaults in code (part 2) 2016-06-23 12:10:03 -07:00
extensions.py policy: Add defaults in code (part 2) 2016-06-23 12:10:03 -07:00
fixed_ips.py policy: Add defaults in code (part 3) 2016-06-23 19:22:53 +00:00
flavor_access.py policy: Add defaults in code (part 3) 2016-06-23 19:22:53 +00:00
flavor_extra_specs.py policy: Add defaults in code (part 3) 2016-06-23 19:22:53 +00:00
flavor_manage.py policy: Add defaults in code (part 3) 2016-06-23 19:22:53 +00:00
flavor_rxtx.py policy: Add defaults in code (part 3) 2016-06-23 19:22:53 +00:00
flavors.py policy: Add defaults in code (part 3) 2016-06-23 19:22:53 +00:00
floating_ip_dns.py policy: Add defaults in code (part 3) 2016-06-23 19:22:53 +00:00
floating_ip_pools.py policy: Add defaults in code (part 3) 2016-06-23 19:22:53 +00:00
floating_ips.py policy: Add defaults in code (part 3) 2016-06-23 19:22:53 +00:00
floating_ips_bulk.py policy: Add defaults in code (part 3) 2016-06-23 19:22:53 +00:00
fping.py policy: Add defaults in code (part 3) 2016-06-23 19:22:53 +00:00
hide_server_addresses.py policy: Add defaults in code (part 3) 2016-06-23 19:22:53 +00:00
hosts.py policy: Add defaults in code (part 3) 2016-06-23 19:22:53 +00:00
hypervisors.py policy: Add defaults in code (part 3) 2016-06-23 19:22:53 +00:00
image_metadata.py policy: clean-up 2016-06-30 19:56:14 +00:00
image_size.py policy: Add defaults in code (part 4) 2016-06-23 19:25:06 +00:00
images.py policy: Add defaults in code (part 4) 2016-06-23 19:25:06 +00:00
instance_actions.py policy: Add defaults in code (part 4) 2016-06-23 19:25:06 +00:00
instance_usage_audit_log.py policy: Add defaults in code (part 4) 2016-06-23 19:25:06 +00:00
ips.py policy: Add defaults in code (part 4) 2016-06-23 19:25:06 +00:00
keypairs.py policy: Add defaults in code (part 4) 2016-06-23 19:25:06 +00:00
limits.py policy: Add defaults in code (part 4) 2016-06-23 19:25:06 +00:00
lock_server.py policy: Add defaults in code (part 4) 2016-06-23 19:25:06 +00:00
migrate_server.py policy: Add defaults in code (part 4) 2016-06-23 19:25:06 +00:00
migrations.py policy: Add defaults in code (part 4) 2016-06-23 19:25:06 +00:00
multinic.py policy: Add defaults in code (part 4) 2016-06-23 19:25:06 +00:00
multiple_create.py policy: clean-up 2016-06-30 19:56:14 +00:00
networks.py policy: Add defaults in code (part 4) 2016-06-23 19:25:06 +00:00
networks_associate.py policy: Add defaults in code (part 4) 2016-06-23 19:25:06 +00:00
pause_server.py policy: Add defaults in code (part 5) 2016-06-23 19:25:29 +00:00
pci.py policy: Add defaults in code (part 5) 2016-06-23 19:25:29 +00:00
quota_class_sets.py policy: Add defaults in code (part 5) 2016-06-23 19:25:29 +00:00
quota_sets.py policy: Add defaults in code (part 5) 2016-06-23 19:25:29 +00:00
remote_consoles.py policy: Add defaults in code (part 5) 2016-06-23 19:25:29 +00:00
rescue.py policy: Add defaults in code (part 5) 2016-06-23 19:25:29 +00:00
scheduler_hints.py policy: Add defaults in code (part 5) 2016-06-23 19:25:29 +00:00
security_group_default_rules.py policy: Add defaults in code (part 5) 2016-06-23 19:25:29 +00:00
security_groups.py policy: Add defaults in code (part 5) 2016-06-23 19:25:29 +00:00
server_diagnostics.py policy: Add defaults in code (part 5) 2016-06-23 19:25:29 +00:00
server_external_events.py policy: Add defaults in code (part 5) 2016-06-23 19:25:29 +00:00
server_groups.py Separate CRUD policy for server_groups 2016-11-21 11:43:13 -05:00
server_metadata.py policy: Add defaults in code (part 5) 2016-06-23 19:25:29 +00:00
server_password.py policy: Add defaults in code (part 5) 2016-06-23 19:25:29 +00:00
server_tags.py policy: clean-up 2016-06-30 19:56:14 +00:00
server_usage.py policy: Add defaults in code (part 6) 2016-06-24 06:18:37 -04:00
servers.py Fix server operations' policies to admin only 2016-08-10 15:57:13 +09:00
servers_migrations.py policy: clean-up 2016-06-30 19:56:14 +00:00
services.py policy: Add defaults in code (part 6) 2016-06-24 06:18:37 -04:00
shelve.py policy: clean-up 2016-06-30 19:56:14 +00:00
simple_tenant_usage.py policy: Add defaults in code (part 6) 2016-06-24 06:18:37 -04:00
suspend_server.py policy: Add defaults in code (part 6) 2016-06-24 06:18:37 -04:00
tenant_networks.py policy: Add defaults in code (part 6) 2016-06-24 06:18:37 -04:00
used_limits.py policy: Add defaults in code (part 6) 2016-06-24 06:18:37 -04:00
user_data.py policy: Add defaults in code (part 6) 2016-06-24 06:18:37 -04:00
versions.py policy: clean-up 2016-06-30 19:56:14 +00:00
virtual_interfaces.py policy: Add defaults in code (part 6) 2016-06-24 06:18:37 -04:00
volumes.py policy: Add defaults in code (part 6) 2016-06-24 06:18:37 -04:00
volumes_attachments.py policy: Add defaults in code (part 6) 2016-06-24 06:18:37 -04:00