c551eb818566a7c7d278fbec7186cdcbb9dd7c9c
[openstack-build/neutron-build.git] / neutron / tests / etc / policy.json
1 {
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",
9     "regular_user": "",
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",
17
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",
22
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",
30
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",
37
38     "create_network": "",
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",
60
61     "network_device": "field:port:device_owner=~^network:",
62     "create_port": "",
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",
87
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",
99
100     "add_router_interface": "rule:admin_or_owner",
101     "remove_router_interface": "rule:admin_or_owner",
102
103     "create_router:external_gateway_info:external_fixed_ips": "rule:admin_only",
104     "update_router:external_gateway_info:external_fixed_ips": "rule:admin_only",
105
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",
113
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",
119
120     "insert_rule": "rule:admin_or_owner",
121     "remove_rule": "rule:admin_or_owner",
122
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",
127
128     "create_qos_queue": "rule:admin_only",
129     "get_qos_queue": "rule:admin_only",
130
131     "update_agent": "rule:admin_only",
132     "delete_agent": "rule:admin_only",
133     "get_agent": "rule:admin_only",
134
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",
147
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",
153
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": "",
162
163     "create_metering_label": "rule:admin_only",
164     "delete_metering_label": "rule:admin_only",
165     "get_metering_label": "rule:admin_only",
166
167     "create_metering_label_rule": "rule:admin_only",
168     "delete_metering_label_rule": "rule:admin_only",
169     "get_metering_label_rule": "rule:admin_only",
170
171     "get_service_provider": "rule:regular_user",
172     "get_lsn": "rule:admin_only",
173     "create_lsn": "rule:admin_only",
174
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",
185
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",
195
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",
203
204     "create_flavor_service_profile": "rule:admin_only",
205     "delete_flavor_service_profile": "rule:admin_only",
206     "get_flavor_service_profile": "rule:regular_user"
207 }