summaryrefslogtreecommitdiffstats
path: root/etc/neutron/policy.json
diff options
context:
space:
mode:
Diffstat (limited to 'etc/neutron/policy.json')
-rw-r--r--etc/neutron/policy.json97
1 files changed, 48 insertions, 49 deletions
diff --git a/etc/neutron/policy.json b/etc/neutron/policy.json
index b397281..cd6662b 100644
--- a/etc/neutron/policy.json
+++ b/etc/neutron/policy.json
@@ -1,44 +1,43 @@
{
- "deny_readonly": "not role:readonly",
- "context_is_admin": "role:admin and rule:deny_readonly",
- "owner": "tenant_id:%(tenant_id)s and rule:deny_readonly",
+ "context_is_admin": "role:admin",
+ "owner": "tenant_id:%(tenant_id)s",
"admin_or_owner": "rule:context_is_admin or rule:owner",
- "context_is_advsvc": "role:advsvc and rule:deny_readonly",
+ "context_is_advsvc": "role:advsvc",
"admin_or_network_owner": "rule:context_is_admin or tenant_id:%(network:tenant_id)s or role:network_admin",
"admin_owner_or_network_owner": "rule:owner or rule:admin_or_network_owner",
- "admin_only": "rule:context_is_admin and rule:deny_readonly",
- "regular_user": "rule:deny_readonly",
+ "admin_only": "rule:context_is_admin",
+ "regular_user": "",
"shared": "field:networks:shared=True",
"shared_subnetpools": "field:subnetpools:shared=True",
"shared_address_scopes": "field:address_scopes:shared=True",
"external": "field:networks:router:external=True",
- "default": "rule:admin_or_owner and rule:deny_readonly",
+ "default": "rule:admin_or_owner",
- "create_subnet": "rule:admin_or_network_owner and rule:deny_readonly",
+ "create_subnet": "rule:admin_or_network_owner",
"create_subnet:segment_id": "rule:admin_only",
"create_subnet:service_types": "rule:admin_only",
"get_subnet": "rule:admin_or_owner or rule:shared",
"get_subnet:segment_id": "rule:admin_only",
- "update_subnet": "rule:admin_or_network_owner and rule:deny_readonly",
+ "update_subnet": "rule:admin_or_network_owner",
"update_subnet:service_types": "rule:admin_only",
- "delete_subnet": "rule:admin_or_network_owner and rule:deny_readonly",
+ "delete_subnet": "rule:admin_or_network_owner",
- "create_subnetpool": "rule:deny_readonly",
+ "create_subnetpool": "",
"create_subnetpool:shared": "rule:admin_only",
"create_subnetpool:is_default": "rule:admin_only",
"get_subnetpool": "rule:admin_or_owner or rule:shared_subnetpools",
- "update_subnetpool": "rule:admin_or_owner and rule:deny_readonly",
+ "update_subnetpool": "rule:admin_or_owner",
"update_subnetpool:is_default": "rule:admin_only",
- "delete_subnetpool": "rule:admin_or_owner and rule:deny_readonly",
+ "delete_subnetpool": "rule:admin_or_owner",
- "create_address_scope": "rule:deny_readonly",
+ "create_address_scope": "",
"create_address_scope:shared": "rule:admin_only",
"get_address_scope": "rule:admin_or_owner or rule:shared_address_scopes",
- "update_address_scope": "rule:admin_or_owner and rule:deny_readonly",
+ "update_address_scope": "rule:admin_or_owner",
"update_address_scope:shared": "rule:admin_only",
- "delete_address_scope": "rule:admin_or_owner and rule:deny_readonly",
+ "delete_address_scope": "rule:admin_or_owner",
- "create_network": "rule:deny_readonly",
+ "create_network": "",
"get_network": "rule:admin_or_owner or rule:shared or rule:external or rule:context_is_advsvc",
"get_network:router:external": "rule:regular_user",
"get_network:segments": "rule:admin_only",
@@ -55,22 +54,22 @@
"create_network:provider:network_type": "rule:admin_only",
"create_network:provider:physical_network": "rule:admin_only",
"create_network:provider:segmentation_id": "rule:admin_only",
- "update_network": "rule:admin_or_owner and rule:deny_readonly",
+ "update_network": "rule:admin_or_owner",
"update_network:segments": "rule:admin_only",
"update_network:shared": "rule:admin_only",
"update_network:provider:network_type": "rule:admin_only",
"update_network:provider:physical_network": "rule:admin_only",
"update_network:provider:segmentation_id": "rule:admin_only",
"update_network:router:external": "rule:admin_only",
- "delete_network": "rule:admin_or_owner and rule:deny_readonly",
+ "delete_network": "rule:admin_or_owner",
- "create_segment": "rule:admin_only and rule:deny_readonly",
+ "create_segment": "rule:admin_only",
"get_segment": "rule:admin_only",
- "update_segment": "rule:admin_only and rule:deny_readonly",
- "delete_segment": "rule:admin_only and rule:deny_readonly",
+ "update_segment": "rule:admin_only",
+ "delete_segment": "rule:admin_only",
"network_device": "field:port:device_owner=~^network:",
- "create_port": "rule:deny_readonly",
+ "create_port": "",
"create_port:device_owner": "not rule:network_device or rule:context_is_advsvc or rule:admin_or_network_owner",
"create_port:mac_address": "rule:context_is_advsvc or rule:admin_or_network_owner",
"create_port:fixed_ips": "rule:context_is_advsvc or rule:admin_or_network_owner",
@@ -78,7 +77,7 @@
"create_port:binding:host_id": "rule:admin_only",
"create_port:binding:profile": "rule:admin_only",
"create_port:mac_learning_enabled": "rule:context_is_advsvc or rule:admin_or_network_owner",
- "create_port:allowed_address_pairs": "rule:admin_or_network_owner and rule:deny_readonly",
+ "create_port:allowed_address_pairs": "rule:admin_or_network_owner",
"get_port": "rule:context_is_advsvc or rule:admin_owner_or_network_owner",
"get_port:queue_id": "rule:admin_only",
"get_port:binding:vif_type": "rule:admin_only",
@@ -90,32 +89,32 @@
"update_port:mac_address": "rule:admin_only or rule:context_is_advsvc",
"update_port:fixed_ips": "rule:context_is_advsvc or rule:admin_or_network_owner",
"update_port:port_security_enabled": "rule:context_is_advsvc or rule:admin_or_network_owner",
- "update_port:binding:host_id": "rule:admin_only and rule:deny_readonly",
- "update_port:binding:profile": "rule:admin_only and rule:deny_readonly",
+ "update_port:binding:host_id": "rule:admin_only",
+ "update_port:binding:profile": "rule:admin_only",
"update_port:mac_learning_enabled": "rule:context_is_advsvc or rule:admin_or_network_owner",
- "update_port:allowed_address_pairs": "rule:admin_or_network_owner and rule:deny_readonly",
+ "update_port:allowed_address_pairs": "rule:admin_or_network_owner",
"delete_port": "rule:context_is_advsvc or rule:admin_owner_or_network_owner",
"get_router:ha": "rule:admin_only",
- "create_router": "rule:regular_user and rule:deny_readonly",
+ "create_router": "rule:regular_user",
"create_router:external_gateway_info:enable_snat": "rule:admin_only",
"create_router:distributed": "rule:admin_only",
"create_router:ha": "rule:admin_only",
- "get_router": "rule:admin_or_owner and rule:deny_readonly",
+ "get_router": "rule:admin_or_owner",
"get_router:distributed": "rule:admin_only",
"update_router:external_gateway_info:enable_snat": "rule:admin_only",
"update_router:distributed": "rule:admin_only",
"update_router:ha": "rule:admin_only",
- "delete_router": "rule:admin_or_owner and rule:deny_readonly",
+ "delete_router": "rule:admin_or_owner",
- "add_router_interface": "rule:admin_or_owner and rule:deny_readonly",
- "remove_router_interface": "rule:admin_or_owner and rule:deny_readonly",
+ "add_router_interface": "rule:admin_or_owner",
+ "remove_router_interface": "rule:admin_or_owner",
"create_router:external_gateway_info:external_fixed_ips": "rule:admin_only",
"update_router:external_gateway_info:external_fixed_ips": "rule:admin_only",
- "insert_rule": "rule:admin_or_owner and rule:deny_readonly",
- "remove_rule": "rule:admin_or_owner and rule:deny_readonly",
+ "insert_rule": "rule:admin_or_owner",
+ "remove_rule": "rule:admin_or_owner",
"create_qos_queue": "rule:admin_only",
"get_qos_queue": "rule:admin_only",
@@ -137,11 +136,11 @@
"get_agent-loadbalancers": "rule:admin_only",
"get_loadbalancer-hosting-agent": "rule:admin_only",
- "create_floatingip": "rule:regular_user and rule:deny_readonly",
+ "create_floatingip": "rule:regular_user",
"create_floatingip:floating_ip_address": "rule:admin_only",
- "update_floatingip": "rule:admin_or_owner and rule:deny_readonly",
- "delete_floatingip": "rule:admin_or_owner and rule:deny_readonly",
- "get_floatingip": "rule:admin_or_owner and rule:deny_readonly",
+ "update_floatingip": "rule:admin_or_owner",
+ "delete_floatingip": "rule:admin_or_owner",
+ "get_floatingip": "rule:admin_or_owner",
"create_network_profile": "rule:admin_only",
"update_network_profile": "rule:admin_only",
@@ -194,22 +193,22 @@
"update_policy_minimum_bandwidth_rule": "rule:admin_only",
"restrict_wildcard": "(not field:rbac_policy:target_tenant=*) or rule:admin_only",
- "create_rbac_policy": "rule:deny_readonly",
+ "create_rbac_policy": "",
"create_rbac_policy:target_tenant": "rule:restrict_wildcard",
- "update_rbac_policy": "rule:admin_or_owner and rule:deny_readonly",
- "update_rbac_policy:target_tenant": "rule:restrict_wildcard and rule:admin_or_owner and rule:deny_readonly",
- "get_rbac_policy": "rule:admin_or_owner and rule:deny_readonly",
- "delete_rbac_policy": "rule:admin_or_owner and rule:deny_readonly",
+ "update_rbac_policy": "rule:admin_or_owner",
+ "update_rbac_policy:target_tenant": "rule:restrict_wildcard and rule:admin_or_owner",
+ "get_rbac_policy": "rule:admin_or_owner",
+ "delete_rbac_policy": "rule:admin_or_owner",
"create_flavor_service_profile": "rule:admin_only",
"delete_flavor_service_profile": "rule:admin_only",
"get_flavor_service_profile": "rule:regular_user",
- "get_auto_allocated_topology": "rule:admin_or_owner and rule:deny_readonly",
+ "get_auto_allocated_topology": "rule:admin_or_owner",
- "create_trunk": "rule:regular_user and rule:deny_readonly",
- "get_trunk": "rule:admin_or_owner and rule:deny_readonly",
- "delete_trunk": "rule:admin_or_owner and rule:deny_readonly",
+ "create_trunk": "rule:regular_user",
+ "get_trunk": "rule:admin_or_owner",
+ "delete_trunk": "rule:admin_or_owner",
"get_subports": "",
- "add_subports": "rule:admin_or_owner and rule:deny_readonly",
- "remove_subports": "rule:admin_or_owner and rule:deny_readonly"
+ "add_subports": "rule:admin_or_owner",
+ "remove_subports": "rule:admin_or_owner"
}