summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Kolodyazhny <e0ne@e0ne.info>2019-04-04 08:54:45 +0000
committerAkihiro Motoki <amotoki@gmail.com>2019-04-04 13:03:57 +0000
commit9042981cc2b935a1437381794ca13f556c2faec5 (patch)
tree17686ece7194b3851de0912037870d8f33248887
parentb5d220d518d8bae69b338b8aea5835a78d3fa56e (diff)
downloadhorizon-9042981cc2b935a1437381794ca13f556c2faec5.tar.gz
Sync policy.json files with service projects15.0.0.0rc215.0.0
Policies are generated using oslopolicy-sample-generator according to Horizon 'Policy file maintenance' guide [1]. [1] https://docs.openstack.org/horizon/latest/contributor/topics/policy.html#policy-file-maintenance Change-Id: If31c072ab14e1746969b7f94e6837722cefa28ea Closes-Bug: #1821289 (cherry picked from commit 36170ed3cb5464773c9768c5fd1ef8c7487b5aee)
-rw-r--r--openstack_dashboard/conf/cinder_policy.json15
-rw-r--r--openstack_dashboard/conf/neutron_policy.json299
-rw-r--r--openstack_dashboard/conf/nova_policy.json36
-rw-r--r--releasenotes/notes/policy-sync-stein-82531c937609ebb2.yaml12
4 files changed, 178 insertions, 184 deletions
diff --git a/openstack_dashboard/conf/cinder_policy.json b/openstack_dashboard/conf/cinder_policy.json
index 52808ef2d..8bc393452 100644
--- a/openstack_dashboard/conf/cinder_policy.json
+++ b/openstack_dashboard/conf/cinder_policy.json
@@ -1,10 +1,12 @@
{
"context_is_admin": "role:admin",
- "admin_or_owner": "is_admin:True or (role:admin and is_admin_project:True) or project_id:%(project_id)s",
+ "admin_or_owner": "is_admin:True or (role:admin and is_admin_project:True) or project_id:%(project_id)s",
"admin_api": "is_admin:True or (role:admin and is_admin_project:True)",
"volume:attachment_create": "",
"volume:attachment_update": "rule:admin_or_owner",
"volume:attachment_delete": "rule:admin_or_owner",
+ "volume:attachment_complete": "rule:admin_or_owner",
+ "volume:multiattach_bootable_volume": "rule:admin_or_owner",
"message:get_all": "rule:admin_or_owner",
"message:get": "rule:admin_or_owner",
"message:delete": "rule:admin_or_owner",
@@ -42,6 +44,7 @@
"group:create": "",
"group:get": "rule:admin_or_owner",
"group:update": "rule:admin_or_owner",
+ "group:group_project_attribute": "rule:admin_api",
"group:group_types_manage": "rule:admin_api",
"group:access_group_types_specs": "rule:admin_api",
"group:group_types_specs": "rule:admin_api",
@@ -50,6 +53,7 @@
"group:get_group_snapshot": "rule:admin_or_owner",
"group:delete_group_snapshot": "rule:admin_or_owner",
"group:update_group_snapshot": "rule:admin_or_owner",
+ "group:group_snapshot_project_attribute": "rule:admin_api",
"group:reset_group_snapshot_status": "rule:admin_or_owner",
"group:delete": "rule:admin_or_owner",
"group:reset_status": "rule:admin_api",
@@ -80,7 +84,13 @@
"volume_extension:volume_manage": "rule:admin_api",
"volume_extension:volume_unmanage": "rule:admin_api",
"volume_extension:types_manage": "rule:admin_api",
+ "volume_extension:type_get": "",
+ "volume_extension:type_get_all": "",
"volume_extension:volume_type_encryption": "rule:admin_api",
+ "volume_extension:volume_type_encryption:create": "rule:volume_extension:volume_type_encryption",
+ "volume_extension:volume_type_encryption:get": "rule:volume_extension:volume_type_encryption",
+ "volume_extension:volume_type_encryption:update": "rule:volume_extension:volume_type_encryption",
+ "volume_extension:volume_type_encryption:delete": "rule:volume_extension:volume_type_encryption",
"volume_extension:access_types_extra_specs": "rule:admin_api",
"volume_extension:access_types_qos_specs_id": "rule:admin_api",
"volume_extension:volume_type_access": "rule:admin_or_owner",
@@ -132,5 +142,6 @@
"volume_extension:volume_host_attribute": "rule:admin_api",
"volume_extension:volume_tenant_attribute": "rule:admin_or_owner",
"volume_extension:volume_mig_status_attribute": "rule:admin_api",
- "volume_extension:volume_encryption_metadata": "rule:admin_or_owner"
+ "volume_extension:volume_encryption_metadata": "rule:admin_or_owner",
+ "volume:multiattach": "rule:admin_or_owner"
}
diff --git a/openstack_dashboard/conf/neutron_policy.json b/openstack_dashboard/conf/neutron_policy.json
index c59e07500..a1dfae176 100644
--- a/openstack_dashboard/conf/neutron_policy.json
+++ b/openstack_dashboard/conf/neutron_policy.json
@@ -1,60 +1,85 @@
{
- "context_is_admin": "role:admin",
+ "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",
+ "context_is_advsvc": "role:advsvc",
"admin_or_network_owner": "rule:context_is_admin or tenant_id:%(network:tenant_id)s",
"admin_owner_or_network_owner": "rule:owner or rule:admin_or_network_owner",
"admin_only": "rule:context_is_admin",
"regular_user": "",
- "admin_or_data_plane_int": "rule:context_is_admin or role:data_plane_integrator",
"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",
-
- "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",
- "update_subnet:service_types": "rule:admin_only",
- "delete_subnet": "rule:admin_or_network_owner",
-
- "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",
- "update_subnetpool:is_default": "rule:admin_only",
- "delete_subnetpool": "rule:admin_or_owner",
-
- "create_address_scope": "",
+ "admin_or_ext_parent_owner": "rule:context_is_admin or tenant_id:%(ext_parent:tenant_id)s",
+ "shared_address_scopes": "field:address_scopes:shared=True",
+ "create_address_scope": "rule:regular_user",
"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",
"update_address_scope:shared": "rule:admin_only",
"delete_address_scope": "rule:admin_or_owner",
-
- "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",
- "get_network:provider:network_type": "rule:admin_only",
- "get_network:provider:physical_network": "rule:admin_only",
- "get_network:provider:segmentation_id": "rule:admin_only",
- "get_network:queue_id": "rule:admin_only",
- "get_network_ip_availabilities": "rule:admin_only",
- "get_network_ip_availability": "rule:admin_only",
+ "get_agent": "rule:admin_only",
+ "update_agent": "rule:admin_only",
+ "delete_agent": "rule:admin_only",
+ "create_dhcp-network": "rule:admin_only",
+ "get_dhcp-networks": "rule:admin_only",
+ "delete_dhcp-network": "rule:admin_only",
+ "create_l3-router": "rule:admin_only",
+ "get_l3-routers": "rule:admin_only",
+ "delete_l3-router": "rule:admin_only",
+ "get_dhcp-agents": "rule:admin_only",
+ "get_l3-agents": "rule:admin_only",
+ "get_agent-loadbalancers": "rule:admin_only",
+ "get_loadbalancer-hosting-agent": "rule:admin_only",
+ "get_auto_allocated_topology": "rule:admin_or_owner",
+ "delete_auto_allocated_topology": "rule:admin_or_owner",
+ "get_availability_zone": "rule:regular_user",
+ "create_flavor": "rule:admin_only",
+ "get_flavor": "rule:regular_user",
+ "update_flavor": "rule:admin_only",
+ "delete_flavor": "rule:admin_only",
+ "create_service_profile": "rule:admin_only",
+ "get_service_profile": "rule:admin_only",
+ "update_service_profile": "rule:admin_only",
+ "delete_service_profile": "rule:admin_only",
+ "create_flavor_service_profile": "rule:admin_only",
+ "delete_flavor_service_profile": "rule:admin_only",
+ "create_floatingip": "rule:regular_user",
+ "create_floatingip:floating_ip_address": "rule:admin_only",
+ "get_floatingip": "rule:admin_or_owner",
+ "update_floatingip": "rule:admin_or_owner",
+ "delete_floatingip": "rule:admin_or_owner",
+ "get_floatingip_pool": "rule:regular_user",
+ "create_floatingip_port_forwarding": "rule:admin_or_ext_parent_owner",
+ "get_floatingip_port_forwarding": "rule:admin_or_ext_parent_owner",
+ "update_floatingip_port_forwarding": "rule:admin_or_ext_parent_owner",
+ "delete_floatingip_port_forwarding": "rule:admin_or_ext_parent_owner",
+ "get_loggable_resource": "rule:admin_only",
+ "create_log": "rule:admin_only",
+ "get_log": "rule:admin_only",
+ "update_log": "rule:admin_only",
+ "delete_log": "rule:admin_only",
+ "create_metering_label": "rule:admin_only",
+ "get_metering_label": "rule:admin_only",
+ "delete_metering_label": "rule:admin_only",
+ "create_metering_label_rule": "rule:admin_only",
+ "get_metering_label_rule": "rule:admin_only",
+ "delete_metering_label_rule": "rule:admin_only",
+ "external": "field:networks:router:external=True",
+ "create_network": "rule:regular_user",
"create_network:shared": "rule:admin_only",
"create_network:router:external": "rule:admin_only",
"create_network:is_default": "rule:admin_only",
+ "create_network:port_security_enabled": "rule:regular_user",
"create_network:segments": "rule:admin_only",
"create_network:provider:network_type": "rule:admin_only",
"create_network:provider:physical_network": "rule:admin_only",
"create_network:provider:segmentation_id": "rule:admin_only",
+ "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",
+ "get_network:provider:network_type": "rule:admin_only",
+ "get_network:provider:physical_network": "rule:admin_only",
+ "get_network:provider:segmentation_id": "rule:admin_only",
"update_network": "rule:admin_or_owner",
"update_network:segments": "rule:admin_only",
"update_network:shared": "rule:admin_only",
@@ -62,172 +87,134 @@
"update_network:provider:physical_network": "rule:admin_only",
"update_network:provider:segmentation_id": "rule:admin_only",
"update_network:router:external": "rule:admin_only",
+ "update_network:is_default": "rule:admin_only",
+ "update_network:port_security_enabled": "rule:admin_or_owner",
"delete_network": "rule:admin_or_owner",
-
- "create_segment": "rule:admin_only",
- "get_segment": "rule:admin_only",
- "update_segment": "rule:admin_only",
- "delete_segment": "rule:admin_only",
-
+ "get_network_ip_availability": "rule:admin_only",
+ "create_network_segment_range": "rule:admin_only",
+ "get_network_segment_range": "rule:admin_only",
+ "update_network_segment_range": "rule:admin_only",
+ "delete_network_segment_range": "rule:admin_only",
"network_device": "field:port:device_owner=~^network:",
- "create_port": "",
+ "admin_or_data_plane_int": "rule:context_is_admin or role:data_plane_integrator",
+ "create_port": "rule:regular_user",
"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",
+ "create_port:fixed_ips:ip_address": "rule:context_is_advsvc or rule:admin_or_network_owner",
+ "create_port:fixed_ips:subnet_id": "rule:context_is_advsvc or rule:admin_or_network_owner or rule:shared",
"create_port:port_security_enabled": "rule:context_is_advsvc or rule:admin_or_network_owner",
"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:binding:vnic_type": "rule:regular_user",
"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",
"get_port:binding:vif_details": "rule:admin_only",
"get_port:binding:host_id": "rule:admin_only",
"get_port:binding:profile": "rule:admin_only",
+ "get_port:resource_request": "rule:admin_only",
"update_port": "rule:admin_or_owner or rule:context_is_advsvc",
"update_port:device_owner": "not rule:network_device or rule:context_is_advsvc or rule:admin_or_network_owner",
"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:fixed_ips:ip_address": "rule:context_is_advsvc or rule:admin_or_network_owner",
+ "update_port:fixed_ips:subnet_id": "rule:context_is_advsvc or rule:admin_or_network_owner or rule:shared",
"update_port:port_security_enabled": "rule:context_is_advsvc or rule:admin_or_network_owner",
"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:binding:vnic_type": "rule:admin_or_owner or rule:context_is_advsvc",
"update_port:allowed_address_pairs": "rule:admin_or_network_owner",
"update_port:data_plane_status": "rule:admin_or_data_plane_int",
"delete_port": "rule:context_is_advsvc or rule:admin_owner_or_network_owner",
-
- "get_router:ha": "rule:admin_only",
- "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",
- "get_router:distributed": "rule:admin_only",
- "update_router": "rule:admin_or_owner",
- "update_router:external_gateway_info": "rule:admin_or_owner",
- "update_router:external_gateway_info:network_id": "rule:admin_or_owner",
- "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",
-
- "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",
-
- "create_qos_queue": "rule:admin_only",
- "get_qos_queue": "rule:admin_only",
-
- "update_agent": "rule:admin_only",
- "delete_agent": "rule:admin_only",
- "get_agent": "rule:admin_only",
-
- "create_dhcp-network": "rule:admin_only",
- "delete_dhcp-network": "rule:admin_only",
- "get_dhcp-networks": "rule:admin_only",
- "create_l3-router": "rule:admin_only",
- "delete_l3-router": "rule:admin_only",
- "get_l3-routers": "rule:admin_only",
- "get_dhcp-agents": "rule:admin_only",
- "get_l3-agents": "rule:admin_only",
- "get_loadbalancer-agent": "rule:admin_only",
- "get_loadbalancer-pools": "rule:admin_only",
- "get_agent-loadbalancers": "rule:admin_only",
- "get_loadbalancer-hosting-agent": "rule:admin_only",
-
- "create_floatingip": "rule:regular_user",
- "create_floatingip:floating_ip_address": "rule:admin_only",
- "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",
- "delete_network_profile": "rule:admin_only",
- "get_network_profiles": "",
- "get_network_profile": "",
- "update_policy_profiles": "rule:admin_only",
- "get_policy_profiles": "",
- "get_policy_profile": "",
-
- "create_metering_label": "rule:admin_only",
- "delete_metering_label": "rule:admin_only",
- "get_metering_label": "rule:admin_only",
-
- "create_metering_label_rule": "rule:admin_only",
- "delete_metering_label_rule": "rule:admin_only",
- "get_metering_label_rule": "rule:admin_only",
-
- "get_service_provider": "rule:regular_user",
- "get_lsn": "rule:admin_only",
- "create_lsn": "rule:admin_only",
-
- "create_flavor": "rule:admin_only",
- "update_flavor": "rule:admin_only",
- "delete_flavor": "rule:admin_only",
- "get_flavors": "rule:regular_user",
- "get_flavor": "rule:regular_user",
- "create_service_profile": "rule:admin_only",
- "update_service_profile": "rule:admin_only",
- "delete_service_profile": "rule:admin_only",
- "get_service_profiles": "rule:admin_only",
- "get_service_profile": "rule:admin_only",
-
"get_policy": "rule:regular_user",
"create_policy": "rule:admin_only",
"update_policy": "rule:admin_only",
"delete_policy": "rule:admin_only",
+ "get_rule_type": "rule:regular_user",
"get_policy_bandwidth_limit_rule": "rule:regular_user",
"create_policy_bandwidth_limit_rule": "rule:admin_only",
- "delete_policy_bandwidth_limit_rule": "rule:admin_only",
"update_policy_bandwidth_limit_rule": "rule:admin_only",
+ "delete_policy_bandwidth_limit_rule": "rule:admin_only",
"get_policy_dscp_marking_rule": "rule:regular_user",
"create_policy_dscp_marking_rule": "rule:admin_only",
- "delete_policy_dscp_marking_rule": "rule:admin_only",
"update_policy_dscp_marking_rule": "rule:admin_only",
- "get_rule_type": "rule:regular_user",
+ "delete_policy_dscp_marking_rule": "rule:admin_only",
"get_policy_minimum_bandwidth_rule": "rule:regular_user",
"create_policy_minimum_bandwidth_rule": "rule:admin_only",
- "delete_policy_minimum_bandwidth_rule": "rule:admin_only",
"update_policy_minimum_bandwidth_rule": "rule:admin_only",
-
+ "delete_policy_minimum_bandwidth_rule": "rule:admin_only",
+ "get_alias_bandwidth_limit_rule": "rule:get_policy_bandwidth_limit_rule",
+ "update_alias_bandwidth_limit_rule": "rule:update_policy_bandwidth_limit_rule",
+ "delete_alias_bandwidth_limit_rule": "rule:delete_policy_bandwidth_limit_rule",
+ "get_alias_dscp_marking_rule": "rule:get_policy_dscp_marking_rule",
+ "update_alias_dscp_marking_rule": "rule:update_policy_dscp_marking_rule",
+ "delete_alias_dscp_marking_rule": "rule:delete_policy_dscp_marking_rule",
+ "get_alias_minimum_bandwidth_rule": "rule:get_policy_minimum_bandwidth_rule",
+ "update_alias_minimum_bandwidth_rule": "rule:update_policy_minimum_bandwidth_rule",
+ "delete_alias_minimum_bandwidth_rule": "rule:delete_policy_minimum_bandwidth_rule",
"restrict_wildcard": "(not field:rbac_policy:target_tenant=*) or rule:admin_only",
- "create_rbac_policy": "",
+ "create_rbac_policy": "rule:regular_user",
"create_rbac_policy:target_tenant": "rule:restrict_wildcard",
"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",
-
- "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",
- "remove_subports": "rule:admin_or_owner",
-
- "get_security_groups": "rule:admin_or_owner",
- "get_security_group": "rule:admin_or_owner",
+ "create_router": "rule:regular_user",
+ "create_router:distributed": "rule:admin_only",
+ "create_router:ha": "rule:admin_only",
+ "create_router:external_gateway_info": "rule:admin_or_owner",
+ "create_router:external_gateway_info:network_id": "rule:admin_or_owner",
+ "create_router:external_gateway_info:enable_snat": "rule:admin_only",
+ "create_router:external_gateway_info:external_fixed_ips": "rule:admin_only",
+ "get_router": "rule:admin_or_owner",
+ "get_router:distributed": "rule:admin_only",
+ "get_router:ha": "rule:admin_only",
+ "update_router": "rule:admin_or_owner",
+ "update_router:distributed": "rule:admin_only",
+ "update_router:ha": "rule:admin_only",
+ "update_router:external_gateway_info": "rule:admin_or_owner",
+ "update_router:external_gateway_info:network_id": "rule:admin_or_owner",
+ "update_router:external_gateway_info:enable_snat": "rule:admin_only",
+ "update_router:external_gateway_info:external_fixed_ips": "rule:admin_only",
+ "delete_router": "rule:admin_or_owner",
+ "add_router_interface": "rule:admin_or_owner",
+ "remove_router_interface": "rule:admin_or_owner",
"create_security_group": "rule:admin_or_owner",
+ "get_security_group": "rule:regular_user",
"update_security_group": "rule:admin_or_owner",
"delete_security_group": "rule:admin_or_owner",
- "get_security_group_rules": "rule:admin_or_owner",
- "get_security_group_rule": "rule:admin_or_owner",
"create_security_group_rule": "rule:admin_or_owner",
+ "get_security_group_rule": "rule:admin_or_owner",
"delete_security_group_rule": "rule:admin_or_owner",
-
- "get_loggable_resources": "rule:admin_only",
- "create_log": "rule:admin_only",
- "update_log": "rule:admin_only",
- "delete_log": "rule:admin_only",
- "get_logs": "rule:admin_only",
- "get_log": "rule:admin_only"
+ "create_segment": "rule:admin_only",
+ "get_segment": "rule:admin_only",
+ "update_segment": "rule:admin_only",
+ "delete_segment": "rule:admin_only",
+ "get_service_provider": "rule:regular_user",
+ "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",
+ "update_subnet:segment_id": "rule:admin_only",
+ "update_subnet:service_types": "rule:admin_only",
+ "delete_subnet": "rule:admin_or_network_owner",
+ "shared_subnetpools": "field:subnetpools:shared=True",
+ "create_subnetpool": "rule:regular_user",
+ "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",
+ "update_subnetpool:is_default": "rule:admin_only",
+ "delete_subnetpool": "rule:admin_or_owner",
+ "onboard_network_subnets": "rule:admin_or_owner",
+ "create_trunk": "rule:regular_user",
+ "get_trunk": "rule:admin_or_owner",
+ "update_trunk": "rule:admin_or_owner",
+ "delete_trunk": "rule:admin_or_owner",
+ "get_subports": "rule:regular_user",
+ "add_subports": "rule:admin_or_owner",
+ "remove_subports": "rule:admin_or_owner"
}
diff --git a/openstack_dashboard/conf/nova_policy.json b/openstack_dashboard/conf/nova_policy.json
index c75aa2eb3..8015bc347 100644
--- a/openstack_dashboard/conf/nova_policy.json
+++ b/openstack_dashboard/conf/nova_policy.json
@@ -30,7 +30,6 @@
"os_compute_api:os-cells:delete": "rule:admin_api",
"cells_scheduler_filter:DifferentCellFilter": "is_admin:True",
"cells_scheduler_filter:TargetCellFilter": "is_admin:True",
- "os_compute_api:os-config-drive": "rule:admin_or_owner",
"os_compute_api:os-console-auth-tokens": "rule:admin_api",
"os_compute_api:os-console-output": "rule:admin_or_owner",
"os_compute_api:os-consoles:create": "rule:admin_or_owner",
@@ -40,12 +39,8 @@
"os_compute_api:os-create-backup": "rule:admin_or_owner",
"os_compute_api:os-deferred-delete": "rule:admin_or_owner",
"os_compute_api:os-evacuate": "rule:admin_api",
- "os_compute_api:os-extended-availability-zone": "rule:admin_or_owner",
"os_compute_api:os-extended-server-attributes": "rule:admin_api",
- "os_compute_api:os-extended-status": "rule:admin_or_owner",
- "os_compute_api:os-extended-volumes": "rule:admin_or_owner",
"os_compute_api:extensions": "rule:admin_or_owner",
- "os_compute_api:os-fixed-ips": "rule:admin_api",
"os_compute_api:os-flavor-access:add_tenant_access": "rule:admin_api",
"os_compute_api:os-flavor-access:remove_tenant_access": "rule:admin_api",
"os_compute_api:os-flavor-access": "rule:admin_or_owner",
@@ -54,24 +49,13 @@
"os_compute_api:os-flavor-extra-specs:update": "rule:admin_api",
"os_compute_api:os-flavor-extra-specs:delete": "rule:admin_api",
"os_compute_api:os-flavor-extra-specs:index": "rule:admin_or_owner",
- "os_compute_api:os-flavor-manage": "rule:admin_api",
- "os_compute_api:os-flavor-manage:create": "rule:os_compute_api:os-flavor-manage",
+ "os_compute_api:os-flavor-manage:create": "rule:admin_api",
"os_compute_api:os-flavor-manage:update": "rule:admin_api",
- "os_compute_api:os-flavor-manage:delete": "rule:os_compute_api:os-flavor-manage",
- "os_compute_api:os-flavor-rxtx": "rule:admin_or_owner",
- "os_compute_api:flavors": "rule:admin_or_owner",
- "os_compute_api:os-floating-ip-dns": "rule:admin_or_owner",
- "os_compute_api:os-floating-ip-dns:domain:update": "rule:admin_api",
- "os_compute_api:os-floating-ip-dns:domain:delete": "rule:admin_api",
+ "os_compute_api:os-flavor-manage:delete": "rule:admin_api",
"os_compute_api:os-floating-ip-pools": "rule:admin_or_owner",
"os_compute_api:os-floating-ips": "rule:admin_or_owner",
- "os_compute_api:os-floating-ips-bulk": "rule:admin_api",
- "os_compute_api:os-fping:all_tenants": "rule:admin_api",
- "os_compute_api:os-fping": "rule:admin_or_owner",
- "os_compute_api:os-hide-server-addresses": "is_admin:False",
"os_compute_api:os-hosts": "rule:admin_api",
"os_compute_api:os-hypervisors": "rule:admin_api",
- "os_compute_api:image-size": "rule:admin_or_owner",
"os_compute_api:os-instance-actions:events": "rule:admin_api",
"os_compute_api:os-instance-actions": "rule:admin_or_owner",
"os_compute_api:os-instance-usage-audit-log": "rule:admin_api",
@@ -81,7 +65,6 @@
"os_compute_api:os-keypairs:create": "rule:admin_api or user_id:%(user_id)s",
"os_compute_api:os-keypairs:delete": "rule:admin_api or user_id:%(user_id)s",
"os_compute_api:os-keypairs:show": "rule:admin_api or user_id:%(user_id)s",
- "os_compute_api:os-keypairs": "rule:admin_or_owner",
"os_compute_api:limits": "rule:admin_or_owner",
"os_compute_api:os-lock-server:lock": "rule:admin_or_owner",
"os_compute_api:os-lock-server:unlock": "rule:admin_or_owner",
@@ -108,11 +91,10 @@
"os_compute_api:os-security-groups": "rule:admin_or_owner",
"os_compute_api:os-server-diagnostics": "rule:admin_api",
"os_compute_api:os-server-external-events:create": "rule:admin_api",
- "os_compute_api:os-server-groups": "rule:admin_or_owner",
- "os_compute_api:os-server-groups:create": "rule:os_compute_api:os-server-groups",
- "os_compute_api:os-server-groups:delete": "rule:os_compute_api:os-server-groups",
- "os_compute_api:os-server-groups:index": "rule:os_compute_api:os-server-groups",
- "os_compute_api:os-server-groups:show": "rule:os_compute_api:os-server-groups",
+ "os_compute_api:os-server-groups:create": "rule:admin_or_owner",
+ "os_compute_api:os-server-groups:delete": "rule:admin_or_owner",
+ "os_compute_api:os-server-groups:index": "rule:admin_or_owner",
+ "os_compute_api:os-server-groups:show": "rule:admin_or_owner",
"os_compute_api:server-metadata:index": "rule:admin_or_owner",
"os_compute_api:server-metadata:show": "rule:admin_or_owner",
"os_compute_api:server-metadata:create": "rule:admin_or_owner",
@@ -126,17 +108,19 @@
"os_compute_api:os-server-tags:delete": "rule:admin_or_owner",
"os_compute_api:os-server-tags:update": "rule:admin_or_owner",
"os_compute_api:os-server-tags:show": "rule:admin_or_owner",
- "os_compute_api:os-server-usage": "rule:admin_or_owner",
"os_compute_api:servers:index": "rule:admin_or_owner",
"os_compute_api:servers:detail": "rule:admin_or_owner",
"os_compute_api:servers:index:get_all_tenants": "rule:admin_api",
"os_compute_api:servers:detail:get_all_tenants": "rule:admin_api",
+ "os_compute_api:servers:allow_all_filters": "rule:admin_api",
"os_compute_api:servers:show": "rule:admin_or_owner",
"os_compute_api:servers:show:host_status": "rule:admin_api",
"os_compute_api:servers:create": "rule:admin_or_owner",
"os_compute_api:servers:create:forced_host": "rule:admin_api",
"os_compute_api:servers:create:attach_volume": "rule:admin_or_owner",
"os_compute_api:servers:create:attach_network": "rule:admin_or_owner",
+ "os_compute_api:servers:create:trusted_certs": "rule:admin_or_owner",
+ "os_compute_api:servers:create:zero_disk_flavor": "rule:admin_api",
"network:attach_external_network": "is_admin:True",
"os_compute_api:servers:delete": "rule:admin_or_owner",
"os_compute_api:servers:update": "rule:admin_or_owner",
@@ -145,6 +129,7 @@
"os_compute_api:servers:reboot": "rule:admin_or_owner",
"os_compute_api:servers:resize": "rule:admin_or_owner",
"os_compute_api:servers:rebuild": "rule:admin_or_owner",
+ "os_compute_api:servers:rebuild:trusted_certs": "rule:admin_or_owner",
"os_compute_api:servers:create_image": "rule:admin_or_owner",
"os_compute_api:servers:create_image:allow_volume_backed": "rule:admin_or_owner",
"os_compute_api:servers:start": "rule:admin_or_owner",
@@ -164,7 +149,6 @@
"os_compute_api:os-suspend-server:suspend": "rule:admin_or_owner",
"os_compute_api:os-tenant-networks": "rule:admin_or_owner",
"os_compute_api:os-used-limits": "rule:admin_api",
- "os_compute_api:os-virtual-interfaces": "rule:admin_or_owner",
"os_compute_api:os-volumes": "rule:admin_or_owner",
"os_compute_api:os-volumes-attachments:index": "rule:admin_or_owner",
"os_compute_api:os-volumes-attachments:create": "rule:admin_or_owner",
diff --git a/releasenotes/notes/policy-sync-stein-82531c937609ebb2.yaml b/releasenotes/notes/policy-sync-stein-82531c937609ebb2.yaml
new file mode 100644
index 000000000..b0953d277
--- /dev/null
+++ b/releasenotes/notes/policy-sync-stein-82531c937609ebb2.yaml
@@ -0,0 +1,12 @@
+---
+upgrade:
+ - |
+ policy.json files for Cinder, Keystone Neutron and Nova are generated
+ according to
+ `Policy file maintenance <https://docs.openstack.org/horizon/latest/contributor/topics/policy.html#policy-file-maintenance/>`__.
+ Keystone changes to
+ `policy rules <https://docs.openstack.org/releasenotes/keystone/stein.html#prelude>__`,
+ are not compatible with the Horizon so we keystone_policy.json is not
+ updated. Please, be sure that new Keystone policies are compatible with
+ your deployment before syncing them.
+