2 "context_is_admin": "role:admin",
3 "owner": "tenant_id:%(tenant_id)s",
4 "admin_or_owner": "rule:context_is_admin or rule:owner",
5 "context_is_advsvc": "role:advsvc",
6 "admin_or_network_owner": "rule:context_is_admin or tenant_id:%(network:tenant_id)s",
7 "admin_owner_or_network_owner": "rule:admin_or_network_owner or rule:owner",
8 "admin_only": "rule:context_is_admin",
10 "shared": "field:networks:shared=True",
11 "shared_firewalls": "field:firewalls:shared=True",
12 "shared_firewall_policies": "field:firewall_policies:shared=True",
13 "shared_subnetpools": "field:subnetpools:shared=True",
14 "shared_address_scopes": "field:address_scopes:shared=True",
15 "external": "field:networks:router:external=True",
16 "default": "rule:admin_or_owner",
18 "create_subnet": "rule:admin_or_network_owner",
19 "get_subnet": "rule:admin_or_owner or rule:shared",
20 "update_subnet": "rule:admin_or_network_owner",
21 "delete_subnet": "rule:admin_or_network_owner",
23 "create_subnetpool": "",
24 "create_subnetpool:shared": "rule:admin_only",
25 "create_subnetpool:is_default": "rule:admin_only",
26 "get_subnetpool": "rule:admin_or_owner or rule:shared_subnetpools",
27 "update_subnetpool": "rule:admin_or_owner",
28 "update_subnetpool:is_default": "rule:admin_only",
29 "delete_subnetpool": "rule:admin_or_owner",
31 "create_address_scope": "",
32 "create_address_scope:shared": "rule:admin_only",
33 "get_address_scope": "rule:admin_or_owner or rule:shared_address_scopes",
34 "update_address_scope": "rule:admin_or_owner",
35 "update_address_scope:shared": "rule:admin_only",
36 "delete_address_scope": "rule:admin_or_owner",
39 "get_network": "rule:admin_or_owner or rule:shared or rule:external or rule:context_is_advsvc",
40 "get_network:router:external": "rule:regular_user",
41 "get_network:segments": "rule:admin_only",
42 "get_network:provider:network_type": "rule:admin_only",
43 "get_network:provider:physical_network": "rule:admin_only",
44 "get_network:provider:segmentation_id": "rule:admin_only",
45 "get_network:queue_id": "rule:admin_only",
46 "create_network:shared": "rule:admin_only",
47 "create_network:router:external": "rule:admin_only",
48 "create_network:segments": "rule:admin_only",
49 "create_network:provider:network_type": "rule:admin_only",
50 "create_network:provider:physical_network": "rule:admin_only",
51 "create_network:provider:segmentation_id": "rule:admin_only",
52 "update_network": "rule:admin_or_owner",
53 "update_network:segments": "rule:admin_only",
54 "update_network:shared": "rule:admin_only",
55 "update_network:provider:network_type": "rule:admin_only",
56 "update_network:provider:physical_network": "rule:admin_only",
57 "update_network:provider:segmentation_id": "rule:admin_only",
58 "update_network:router:external": "rule:admin_only",
59 "delete_network": "rule:admin_or_owner",
61 "network_device": "field:port:device_owner=~^network:",
63 "create_port:device_owner": "not rule:network_device or rule:admin_or_network_owner or rule:context_is_advsvc",
64 "create_port:mac_address": "rule:admin_or_network_owner or rule:context_is_advsvc",
65 "create_port:fixed_ips": "rule:admin_or_network_owner or rule:context_is_advsvc",
66 "create_port:port_security_enabled": "rule:admin_or_network_owner or rule:context_is_advsvc",
67 "create_port:binding:host_id": "rule:admin_only",
68 "create_port:binding:profile": "rule:admin_only",
69 "create_port:mac_learning_enabled": "rule:admin_or_network_owner or rule:context_is_advsvc",
70 "create_port:allowed_address_pairs": "rule:admin_or_network_owner",
71 "get_port": "rule:admin_owner_or_network_owner or rule:context_is_advsvc",
72 "get_port:queue_id": "rule:admin_only",
73 "get_port:binding:vif_type": "rule:admin_only",
74 "get_port:binding:vif_details": "rule:admin_only",
75 "get_port:binding:host_id": "rule:admin_only",
76 "get_port:binding:profile": "rule:admin_only",
77 "update_port": "rule:admin_or_owner or rule:context_is_advsvc",
78 "update_port:device_owner": "not rule:network_device or rule:admin_or_network_owner or rule:context_is_advsvc",
79 "update_port:mac_address": "rule:admin_only or rule:context_is_advsvc",
80 "update_port:fixed_ips": "rule:admin_or_network_owner or rule:context_is_advsvc",
81 "update_port:port_security_enabled": "rule:admin_or_network_owner or rule:context_is_advsvc",
82 "update_port:binding:host_id": "rule:admin_only",
83 "update_port:binding:profile": "rule:admin_only",
84 "update_port:mac_learning_enabled": "rule:admin_or_network_owner or rule:context_is_advsvc",
85 "update_port:allowed_address_pairs": "rule:admin_or_network_owner",
86 "delete_port": "rule:admin_owner_or_network_owner or rule:context_is_advsvc",
88 "get_router:ha": "rule:admin_only",
89 "create_router": "rule:regular_user",
90 "create_router:external_gateway_info:enable_snat": "rule:admin_only",
91 "create_router:distributed": "rule:admin_only",
92 "create_router:ha": "rule:admin_only",
93 "get_router": "rule:admin_or_owner",
94 "get_router:distributed": "rule:admin_only",
95 "update_router:external_gateway_info:enable_snat": "rule:admin_only",
96 "update_router:distributed": "rule:admin_only",
97 "update_router:ha": "rule:admin_only",
98 "delete_router": "rule:admin_or_owner",
100 "add_router_interface": "rule:admin_or_owner",
101 "remove_router_interface": "rule:admin_or_owner",
103 "create_router:external_gateway_info:external_fixed_ips": "rule:admin_only",
104 "update_router:external_gateway_info:external_fixed_ips": "rule:admin_only",
106 "create_firewall": "",
107 "get_firewall": "rule:admin_or_owner",
108 "create_firewall:shared": "rule:admin_only",
109 "get_firewall:shared": "rule:admin_only",
110 "update_firewall": "rule:admin_or_owner",
111 "update_firewall:shared": "rule:admin_only",
112 "delete_firewall": "rule:admin_or_owner",
114 "create_firewall_policy": "",
115 "get_firewall_policy": "rule:admin_or_owner or rule:shared_firewall_policies",
116 "create_firewall_policy:shared": "rule:admin_or_owner",
117 "update_firewall_policy": "rule:admin_or_owner",
118 "delete_firewall_policy": "rule:admin_or_owner",
120 "insert_rule": "rule:admin_or_owner",
121 "remove_rule": "rule:admin_or_owner",
123 "create_firewall_rule": "",
124 "get_firewall_rule": "rule:admin_or_owner or rule:shared_firewalls",
125 "update_firewall_rule": "rule:admin_or_owner",
126 "delete_firewall_rule": "rule:admin_or_owner",
128 "create_qos_queue": "rule:admin_only",
129 "get_qos_queue": "rule:admin_only",
131 "update_agent": "rule:admin_only",
132 "delete_agent": "rule:admin_only",
133 "get_agent": "rule:admin_only",
135 "create_dhcp-network": "rule:admin_only",
136 "delete_dhcp-network": "rule:admin_only",
137 "get_dhcp-networks": "rule:admin_only",
138 "create_l3-router": "rule:admin_only",
139 "delete_l3-router": "rule:admin_only",
140 "get_l3-routers": "rule:admin_only",
141 "get_dhcp-agents": "rule:admin_only",
142 "get_l3-agents": "rule:admin_only",
143 "get_loadbalancer-agent": "rule:admin_only",
144 "get_loadbalancer-pools": "rule:admin_only",
145 "get_agent-loadbalancers": "rule:admin_only",
146 "get_loadbalancer-hosting-agent": "rule:admin_only",
148 "create_floatingip": "rule:regular_user",
149 "create_floatingip:floating_ip_address": "rule:admin_only",
150 "update_floatingip": "rule:admin_or_owner",
151 "delete_floatingip": "rule:admin_or_owner",
152 "get_floatingip": "rule:admin_or_owner",
154 "create_network_profile": "rule:admin_only",
155 "update_network_profile": "rule:admin_only",
156 "delete_network_profile": "rule:admin_only",
157 "get_network_profiles": "",
158 "get_network_profile": "",
159 "update_policy_profiles": "rule:admin_only",
160 "get_policy_profiles": "",
161 "get_policy_profile": "",
163 "create_metering_label": "rule:admin_only",
164 "delete_metering_label": "rule:admin_only",
165 "get_metering_label": "rule:admin_only",
167 "create_metering_label_rule": "rule:admin_only",
168 "delete_metering_label_rule": "rule:admin_only",
169 "get_metering_label_rule": "rule:admin_only",
171 "get_service_provider": "rule:regular_user",
172 "get_lsn": "rule:admin_only",
173 "create_lsn": "rule:admin_only",
175 "create_flavor": "rule:admin_only",
176 "update_flavor": "rule:admin_only",
177 "delete_flavor": "rule:admin_only",
178 "get_flavors": "rule:regular_user",
179 "get_flavor": "rule:regular_user",
180 "create_service_profile": "rule:admin_only",
181 "update_service_profile": "rule:admin_only",
182 "delete_service_profile": "rule:admin_only",
183 "get_service_profiles": "rule:admin_only",
184 "get_service_profile": "rule:admin_only",
186 "get_policy": "rule:regular_user",
187 "create_policy": "rule:admin_only",
188 "update_policy": "rule:admin_only",
189 "delete_policy": "rule:admin_only",
190 "get_policy_bandwidth_limit_rule": "rule:regular_user",
191 "create_policy_bandwidth_limit_rule": "rule:admin_only",
192 "delete_policy_bandwidth_limit_rule": "rule:admin_only",
193 "update_policy_bandwidth_limit_rule": "rule:admin_only",
194 "get_rule_type": "rule:regular_user",
196 "restrict_wildcard": "(not field:rbac_policy:target_tenant=*) or rule:admin_only",
197 "create_rbac_policy": "",
198 "create_rbac_policy:target_tenant": "rule:restrict_wildcard",
199 "update_rbac_policy": "rule:admin_or_owner",
200 "update_rbac_policy:target_tenant": "rule:restrict_wildcard and rule:admin_or_owner",
201 "get_rbac_policy": "rule:admin_or_owner",
202 "delete_rbac_policy": "rule:admin_or_owner",
204 "create_flavor_service_profile": "rule:admin_only",
205 "delete_flavor_service_profile": "rule:admin_only",
206 "get_flavor_service_profile": "rule:regular_user"