Add pillars with default policy configuration for OS services

PROD-34318

Change-Id: I46dee301c78450b2aa7a6430de1f3432756688d8
diff --git a/defaults/openstack/policy/all.yml b/defaults/openstack/policy/all.yml
new file mode 100644
index 0000000..39d7c40
--- /dev/null
+++ b/defaults/openstack/policy/all.yml
@@ -0,0 +1,1367 @@
+parameters:
+  _param:
+    barbican_default_policy_ocata: {}
+    barbican_default_policy_pike:
+      "admin": "role:admin"
+      "admin_or_creator": "rule:admin or rule:creator"
+      "admin_or_user": "rule:admin or project_id:%(project_id)s"
+      "admin_or_user_does_not_work": "project_id:%(project_id)s"
+      "all_but_audit": "rule:admin or rule:observer or rule:creator"
+      "all_users": "rule:admin or rule:observer or rule:creator or rule:audit or rule:service_admin"
+      "audit": "role:audit"
+      "certificate_authorities:get_all": "rule:admin"
+      "certificate_authorities:get_global_preferred_ca": "rule:service_admin"
+      "certificate_authorities:get_limited": "rule:all_users"
+      "certificate_authorities:get_preferred_ca": "rule:all_users"
+      "certificate_authorities:post": "rule:admin"
+      "certificate_authorities:unset_global_preferred": "rule:service_admin"
+      "certificate_authority:add_to_project": "rule:admin"
+      "certificate_authority:delete": "rule:admin"
+      "certificate_authority:get": "rule:all_users"
+      "certificate_authority:get_ca_cert_chain": "rule:all_users"
+      "certificate_authority:get_cacert": "rule:all_users"
+      "certificate_authority:get_projects": "rule:service_admin"
+      "certificate_authority:remove_from_project": "rule:admin"
+      "certificate_authority:set_global_preferred": "rule:service_admin"
+      "certificate_authority:set_preferred": "rule:admin"
+      "consumer:get": "rule:admin or rule:observer or rule:creator or rule:audit or rule:container_non_private_read or rule:container_project_creator or rule:container_project_admin or rule:container_acl_read"
+      "consumers:delete": "rule:admin or rule:container_non_private_read or rule:container_project_creator or rule:container_project_admin or rule:container_acl_read"
+      "consumers:get": "rule:admin or rule:observer or rule:creator or rule:audit or rule:container_non_private_read or rule:container_project_creator or rule:container_project_admin or rule:container_acl_read"
+      "consumers:post": "rule:admin or rule:container_non_private_read or rule:container_project_creator or rule:container_project_admin or rule:container_acl_read"
+      "container:delete": "rule:container_project_admin or rule:container_project_creator"
+      "container:get": "rule:container_non_private_read or rule:container_project_creator or rule:container_project_admin or rule:container_acl_read"
+      "container_acl_read": "'read':%(target.container.read)s"
+      "container_acls:delete": "rule:container_project_admin or rule:container_project_creator"
+      "container_acls:get": "rule:all_but_audit and rule:container_project_match"
+      "container_acls:put_patch": "rule:container_project_admin or rule:container_project_creator"
+      "container_creator_user": "user:%(target.container.creator_id)s"
+      "container_non_private_read": "rule:all_users and rule:container_project_match and not rule:container_private_read"
+      "container_private_read": "'False':%(target.container.read_project_access)s"
+      "container_project_admin": "rule:admin and rule:container_project_match"
+      "container_project_creator": "rule:creator and rule:container_project_match and rule:container_creator_user"
+      "container_project_match": "project:%(target.container.project_id)s"
+      "container_secret:delete": "rule:admin"
+      "container_secret:post": "rule:admin"
+      "containers:get": "rule:all_but_audit"
+      "containers:post": "rule:admin_or_creator"
+      "creator": "role:creator"
+      "observer": "role:observer"
+      "order:delete": "rule:admin"
+      "order:get": "rule:all_users"
+      "order:put": "rule:admin_or_creator"
+      "orders:get": "rule:all_but_audit"
+      "orders:post": "rule:admin_or_creator"
+      "project_quotas:delete": "rule:service_admin"
+      "project_quotas:get": "rule:service_admin"
+      "project_quotas:put": "rule:service_admin"
+      "quotas:get": "rule:all_users"
+      "secret:decrypt": "rule:secret_decrypt_non_private_read or rule:secret_project_creator or rule:secret_project_admin or rule:secret_acl_read"
+      "secret:delete": "rule:secret_project_admin or rule:secret_project_creator"
+      "secret:get": "rule:secret_non_private_read or rule:secret_project_creator or rule:secret_project_admin or rule:secret_acl_read"
+      "secret:put": "rule:admin_or_creator and rule:secret_project_match"
+      "secret_acl_read": "'read':%(target.secret.read)s"
+      "secret_acls:delete": "rule:secret_project_admin or rule:secret_project_creator"
+      "secret_acls:get": "rule:all_but_audit and rule:secret_project_match"
+      "secret_acls:put_patch": "rule:secret_project_admin or rule:secret_project_creator"
+      "secret_creator_user": "user:%(target.secret.creator_id)s"
+      "secret_decrypt_non_private_read": "rule:all_but_audit and rule:secret_project_match and not rule:secret_private_read"
+      "secret_meta:delete": "rule:admin_or_creator"
+      "secret_meta:get": "rule:all_but_audit"
+      "secret_meta:post": "rule:admin_or_creator"
+      "secret_meta:put": "rule:admin_or_creator"
+      "secret_non_private_read": "rule:all_users and rule:secret_project_match and not rule:secret_private_read"
+      "secret_private_read": "'False':%(target.secret.read_project_access)s"
+      "secret_project_admin": "rule:admin and rule:secret_project_match"
+      "secret_project_creator": "rule:creator and rule:secret_project_match and rule:secret_creator_user"
+      "secret_project_match": "project:%(target.secret.project_id)s"
+      "secrets:get": "rule:all_but_audit"
+      "secrets:post": "rule:admin_or_creator"
+      "secretstore:get": "rule:admin"
+      "secretstore_preferred:delete": "rule:admin"
+      "secretstore_preferred:post": "rule:admin"
+      "secretstores:get": "rule:admin"
+      "secretstores:get_global_default": "rule:admin"
+      "secretstores:get_preferred": "rule:admin"
+      "service_admin": "role:key-manager:service-admin"
+      "transport_key:delete": "rule:admin"
+      "transport_key:get": "rule:all_users"
+      "transport_keys:get": "rule:all_users"
+      "transport_keys:post": "rule:admin"
+      "version:get": "@"
+    barbican_default_policy_queens: ${_param:barbican_default_policy_pike}
+    bgppvn_default_policy_ocata: {}
+    bgppvn_default_policy_pike:
+      "create_bgpvpn": "rule:admin_only"
+      "create_bgpvpn_network_association": "rule:admin_or_owner"
+      "create_bgpvpn_port_association": "rule:admin_or_owner"
+      "create_bgpvpn_router_association": "rule:admin_or_owner"
+      "delete_bgpvpn": "rule:admin_only"
+      "delete_bgpvpn_network_association": "rule:admin_or_owner"
+      "delete_bgpvpn_port_association": "rule:admin_or_owner"
+      "delete_bgpvpn_router_association": "rule:admin_or_owner"
+      "get_bgpvpn": "rule:admin_or_owner"
+      "get_bgpvpn:export_targets": "rule:admin_only"
+      "get_bgpvpn:import_targets": "rule:admin_only"
+      "get_bgpvpn:route_distinguishers": "rule:admin_only"
+      "get_bgpvpn:route_targets": "rule:admin_only"
+      "get_bgpvpn:tenant_id": "rule:admin_only"
+      "get_bgpvpn_network_association": "rule:admin_or_owner"
+      "get_bgpvpn_network_association:tenant_id": "rule:admin_only"
+      "get_bgpvpn_network_associations": "rule:admin_or_owner"
+      "get_bgpvpn_port_association": "rule:admin_or_owner"
+      "get_bgpvpn_port_association:tenant_id": "rule:admin_only"
+      "get_bgpvpn_port_associations": "rule:admin_or_owner"
+      "get_bgpvpn_router_association": "rule:admin_or_owner"
+      "get_bgpvpn_router_association:tenant_id": "rule:admin_only"
+      "get_bgpvpn_router_associations": "rule:admin_or_owner"
+      "update_bgpvpn": "rule:admin_or_owner"
+      "update_bgpvpn:export_targets": "rule:admin_only"
+      "update_bgpvpn:import_targets": "rule:admin_only"
+      "update_bgpvpn:route_distinguishers": "rule:admin_only"
+      "update_bgpvpn:route_targets": "rule:admin_only"
+      "update_bgpvpn:tenant_id": "rule:admin_only"
+      "update_bgpvpn_network_association": "rule:admin_or_owner"
+      "update_bgpvpn_port_association": "rule:admin_or_owner"
+      "update_bgpvpn_router_association": "rule:admin_or_owner"
+    bgpvpn_default_policy_queens: ${_param:bgppvn_default_policy_pike}
+    cinder_default_policy_ocata: {}
+    cinder_default_policy_pike:
+      "admin_api": "is_admin:True or (role:admin and is_admin_project:True)"
+      "admin_or_owner":  "is_admin:True or (role:admin and is_admin_project:True) or  project_id:%(project_id)s"
+      "backup:backup-export": "rule:admin_api"
+      "backup:backup-import": "rule:admin_api"
+      "backup:backup_project_attribute": "rule:admin_api"
+      "backup:create": ""
+      "backup:delete": "rule:admin_or_owner"
+      "backup:get_all": "rule:admin_or_owner"
+      "backup:get": "rule:admin_or_owner"
+      "backup:restore": "rule:admin_or_owner"
+      "backup:update": "rule:admin_or_owner"
+      "clusters:get_all": "rule:admin_api"
+      "clusters:get": "rule:admin_api"
+      "clusters:update": "rule:admin_api"
+      "consistencygroup:create_cgsnapshot": "group:nobody"
+      "consistencygroup:create": "group:nobody"
+      "consistencygroup:delete_cgsnapshot": "group:nobody"
+      "consistencygroup:delete": "group:nobody"
+      "consistencygroup:get_all_cgsnapshots": "group:nobody"
+      "consistencygroup:get_all": "group:nobody"
+      "consistencygroup:get_cgsnapshot": "group:nobody"
+      "consistencygroup:get": "group:nobody"
+      "consistencygroup:update": "group:nobody"
+      "default": "rule:admin_or_owner"
+      "group:access_group_types_specs": "rule:admin_api"
+      "group:create": ""
+      "group:create_group_snapshot": ""
+      "group:delete_group_snapshot": "rule:admin_or_owner"
+      "group:delete": "rule:admin_or_owner"
+      "group:disable_replication": "rule:admin_or_owner"
+      "group:enable_replication": "rule:admin_or_owner"
+      "group:failover_replication": "rule:admin_or_owner"
+      "group:get_all_group_snapshots": "rule:admin_or_owner"
+      "group:get_all": "rule:admin_or_owner"
+      "group:get_group_snapshot": "rule:admin_or_owner"
+      "group:get": "rule:admin_or_owner"
+      "group:group_type_access": "rule:admin_or_owner"
+      "group:group_types_manage": "rule:admin_api"
+      "group:group_types_specs": "rule:admin_api"
+      "group:list_replication_targets": "rule:admin_or_owner"
+      "group:reset_group_snapshot_status": "rule:admin_api"
+      "group:reset_status": "rule:admin_api"
+      "group:update_group_snapshot": "rule:admin_or_owner"
+      "group:update": "rule:admin_or_owner"
+      "message:delete": "rule:admin_or_owner"
+      "message:get_all": "rule:admin_or_owner"
+      "message:get": "rule:admin_or_owner"
+      "scheduler_extension:scheduler_stats:get_pools": "rule:admin_api"
+      "snapshot_extension:list_manageable": "rule:admin_api"
+      "snapshot_extension:snapshot_actions:update_snapshot_status": ""
+      "snapshot_extension:snapshot_manage": "rule:admin_api"
+      "snapshot_extension:snapshot_unmanage": "rule:admin_api"
+      "volume:accept_transfer": ""
+      "volume:attachment_create": ""
+      "volume:attachment_delete": "rule:admin_or_owner"
+      "volume:attachment_update": "rule:admin_or_owner"
+      "volume:create": ""
+      "volume:create_from_image": ""
+      "volume:create_snapshot": "rule:admin_or_owner"
+      "volume:create_transfer": "rule:admin_or_owner"
+      "volume:create_volume_metadata": "rule:admin_or_owner"
+      "volume:delete": "rule:admin_or_owner"
+      "volume:delete_snapshot_metadata": "rule:admin_or_owner"
+      "volume:delete_snapshot": "rule:admin_or_owner"
+      "volume:delete_transfer": "rule:admin_or_owner"
+      "volume:delete_volume_metadata": "rule:admin_or_owner"
+      "volume:extend_attached_volume": "rule:admin_or_owner"
+      "volume:extend": "rule:admin_or_owner"
+      "volume_extension:access_types_extra_specs": "rule:admin_api"
+      "volume_extension:access_types_qos_specs_id": "rule:admin_api"
+      "volume_extension:backup_admin_actions:force_delete": "rule:admin_api"
+      "volume_extension:backup_admin_actions:reset_status": "rule:admin_api"
+      "volume_extension:capabilities": "rule:admin_api"
+      "volume_extension:extended_snapshot_attributes": "rule:admin_or_owner"
+      "volume_extension:hosts": "rule:admin_api"
+      "volume_extension:list_manageable": "rule:admin_api"
+      "volume_extension:qos_specs_manage:create": "rule:admin_api"
+      "volume_extension:qos_specs_manage:delete": "rule:admin_api"
+      "volume_extension:qos_specs_manage:get_all": "rule:admin_api"
+      "volume_extension:qos_specs_manage:get": "rule:admin_api"
+      "volume_extension:qos_specs_manage:update": "rule:admin_api"
+      "volume_extension:quota_classes": "rule:admin_api"
+      "volume_extension:quota_classes:validate_setup_for_nested_quota_use": "rule:admin_api"
+      "volume_extension:quotas:delete": "rule:admin_api"
+      "volume_extension:quotas:show": ""
+      "volume_extension:quotas:update": "rule:admin_api"
+      "volume_extension:services:index": "rule:admin_api"
+      "volume_extension:services:update": "rule:admin_api"
+      "volume_extension:snapshot_admin_actions:force_delete": "rule:admin_api"
+      "volume_extension:snapshot_admin_actions:reset_status": "rule:admin_api"
+      "volume_extension:types_extra_specs:create": "rule:admin_api"
+      "volume_extension:types_extra_specs:delete": "rule:admin_api"
+      "volume_extension:types_extra_specs:index": "rule:admin_api"
+      "volume_extension:types_extra_specs:show": "rule:admin_api"
+      "volume_extension:types_extra_specs:update": "rule:admin_api"
+      "volume_extension:types_manage": "rule:admin_api"
+      "volume_extension:volume_actions:upload_image": "rule:admin_or_owner"
+      "volume_extension:volume_actions:upload_public": "rule:admin_api"
+      "volume_extension:volume_admin_actions:force_delete": "rule:admin_api"
+      "volume_extension:volume_admin_actions:force_detach": "rule:admin_api"
+      "volume_extension:volume_admin_actions:migrate_volume_completion": "rule:admin_api"
+      "volume_extension:volume_admin_actions:migrate_volume": "rule:admin_api"
+      "volume_extension:volume_admin_actions:reset_status": "rule:admin_api"
+      "volume_extension:volume_encryption_metadata": "rule:admin_or_owner"
+      "volume_extension:volume_host_attribute": "rule:admin_api"
+      "volume_extension:volume_image_metadata": "rule:admin_or_owner"
+      "volume_extension:volume_manage": "rule:admin_api"
+      "volume_extension:volume_mig_status_attribute": "rule:admin_api"
+      "volume_extension:volume_tenant_attribute": "rule:admin_or_owner"
+      "volume_extension:volume_type_access:addProjectAccess": "rule:admin_api"
+      "volume_extension:volume_type_access:removeProjectAccess": "rule:admin_api"
+      "volume_extension:volume_type_access": "rule:admin_or_owner"
+      "volume_extension:volume_type_encryption": "rule:admin_api"
+      "volume_extension:volume_unmanage": "rule:admin_api"
+      "volume:failover_host": "rule:admin_api"
+      "volume:force_delete": "rule:admin_api"
+      "volume:freeze_host": "rule:admin_api"
+      "volume:get_all": "rule:admin_or_owner"
+      "volume:get_all_snapshots": "rule:admin_or_owner"
+      "volume:get_all_transfers": "rule:admin_or_owner"
+      "volume:get": "rule:admin_or_owner"
+      "volume:get_snapshot_metadata": "rule:admin_or_owner"
+      "volume:get_snapshot": "rule:admin_or_owner"
+      "volume:get_transfer": "rule:admin_or_owner"
+      "volume:get_volume_admin_metadata": "rule:admin_api"
+      "volume:get_volume_metadata": "rule:admin_or_owner"
+      "volume:retype": "rule:admin_or_owner"
+      "volume:revert_to_snapshot": "rule:admin_or_owner"
+      "volume:thaw_host": "rule:admin_api"
+      "volume:update_readonly_flag": "rule:admin_or_owner"
+      "volume:update": "rule:admin_or_owner"
+      "volume:update_snapshot_metadata": "rule:admin_or_owner"
+      "volume:update_snapshot": "rule:admin_or_owner"
+      "volume:update_volume_admin_metadata": "rule:admin_api"
+      "volume:update_volume_metadata": "rule:admin_or_owner"
+      "workers:cleanup": "rule:admin_api"
+    cinder_default_policy_queens: ${_param:cinder_default_policy_pike}
+    designate_default_policy_ocata: {}
+    designate_default_policy_pike: &designate_default_policy_pike
+      "abandon_zone": "rule:admin"
+      "admin": "role:admin or is_admin:True"
+      "admin_or_owner": "rule:admin or rule:owner"
+      "admin_or_owner_or_target": "rule:owner_or_target or rule:admin"
+      "admin_or_target": "rule:admin or rule:target"
+      "all_tenants": "rule:admin"
+      "count_records": "rule:admin_or_owner"
+      "count_recordset": "rule:admin_or_owner"
+      "count_tenants": "rule:admin"
+      "count_zones": "rule:admin_or_owner"
+      "count_zones_pending_notify": "rule:admin_or_owner"
+      "create_blacklist": "rule:admin"
+      "create_pool": "rule:admin"
+      "create_record": "rule:admin_or_owner"
+      "create_recordset": "rule:zone_primary_or_admin"
+      "create_tld": "rule:admin"
+      "create_tsigkey": "rule:admin"
+      "create_zone": "rule:admin_or_owner"
+      "create_zone_export": "rule:admin_or_owner"
+      "create_zone_import": "rule:admin_or_owner"
+      "create_zone_transfer_accept": "rule:admin_or_owner or tenant:%(target_tenant_id)s or None:%(target_tenant_id)s"
+      "create_zone_transfer_request": "rule:admin_or_owner"
+      "default": "rule:admin_or_owner"
+      "delete_blacklist": "rule:admin"
+      "delete_pool": "rule:admin"
+      "delete_record": "rule:admin_or_owner"
+      "delete_recordset": "rule:zone_primary_or_admin"
+      "delete_tld": "rule:admin"
+      "delete_tsigkey": "rule:admin"
+      "delete_zone": "rule:admin_or_owner"
+      "delete_zone_import": "rule:admin_or_owner"
+      "delete_zone_transfer_accept": "rule:admin"
+      "delete_zone_transfer_request": "rule:admin_or_owner"
+      "diagnostics_ping": "rule:admin"
+      "diagnostics_sync_record": "rule:admin"
+      "diagnostics_sync_zone": "rule:admin"
+      "diagnostics_sync_zones": "rule:admin"
+      "edit_managed_records": "rule:admin"
+      "find_blacklist": "rule:admin"
+      "find_blacklists": "rule:admin"
+      "find_pool": "rule:admin"
+      "find_pools": "rule:admin"
+      "find_record": "rule:admin_or_owner"
+      "find_records": "rule:admin_or_owner"
+      "find_recordset": "rule:admin_or_owner"
+      "find_recordsets": "rule:admin_or_owner"
+      "find_service_status": "rule:admin"
+      "find_service_statuses": "rule:admin"
+      "find_tenants": "rule:admin"
+      "find_tlds": "rule:admin"
+      "find_tsigkeys": "rule:admin"
+      "find_zone": "rule:admin_or_owner"
+      "find_zone_exports": "rule:admin_or_owner"
+      "find_zone_imports": "rule:admin_or_owner"
+      "find_zone_transfer_accept": "rule:admin"
+      "find_zone_transfer_accepts": "rule:admin"
+      "find_zone_transfer_request": "@"
+      "find_zone_transfer_requests": "@"
+      "find_zones": "rule:admin_or_owner"
+      "get_blacklist": "rule:admin"
+      "get_pool": "rule:admin"
+      "get_quota": "rule:admin_or_owner"
+      "get_quotas": "rule:admin_or_owner"
+      "get_record": "rule:admin_or_owner"
+      "get_records": "rule:admin_or_owner"
+      "get_recordset": "rule:admin_or_owner"
+      "get_recordsets": "rule:admin_or_owner"
+      "get_tenant": "rule:admin"
+      "get_tld": "rule:admin"
+      "get_tsigkey": "rule:admin"
+      "get_zone": "rule:admin_or_owner"
+      "get_zone_export": "rule:admin_or_owner"
+      "get_zone_import": "rule:admin_or_owner"
+      "get_zone_servers": "rule:admin_or_owner"
+      "get_zone_transfer_accept": "rule:admin_or_owner"
+      "get_zone_transfer_request": "rule:admin_or_owner or tenant:%(target_tenant_id)s or None:%(target_tenant_id)s"
+      "get_zone_transfer_request_detailed": "rule:admin_or_owner"
+      "get_zones": "rule:admin_or_owner"
+      "owner": "tenant:%(tenant_id)s"
+      "owner_or_target": "rule:target or rule:owner"
+      "primary_zone": "target.zone_type:SECONDARY"
+      "purge_zones": "rule:admin"
+      "reset_quotas": "rule:admin"
+      "set_quota": "rule:admin"
+      "target": "tenant:%(target_tenant_id)s"
+      "touch_zone": "rule:admin_or_owner"
+      "update_blacklist": "rule:admin"
+      "update_pool": "rule:admin"
+      "update_record": "rule:admin_or_owner"
+      "update_recordset": "rule:zone_primary_or_admin"
+      "update_service_service_status": "rule:admin"
+      "update_tld": "rule:admin"
+      "update_tsigkey": "rule:admin"
+      "update_zone": "rule:admin_or_owner"
+      "update_zone_export": "rule:admin_or_owner"
+      "update_zone_import": "rule:admin_or_owner"
+      "update_zone_transfer_accept": "rule:admin"
+      "update_zone_transfer_request": "rule:admin_or_owner"
+      "use_blacklisted_zone": "rule:admin"
+      "use_low_ttl": "rule:admin"
+      "use_sudo": "rule:admin"
+      "xfr_zone": "rule:admin_or_owner"
+      "zone_create_forced_pool": "rule:admin"
+      "zone_export": "rule:admin_or_owner"
+      "zone_primary_or_admin": "('PRIMARY':%(zone_type)s and rule:admin_or_owner) OR ('SECONDARY':%(zone_type)s AND is_admin:True)"
+    designate_default_policy_queens:
+      << : *designate_default_policy_pike
+      "create_record":
+      "create_recordset": "('PRIMARY':%(zone_type)s and rule:admin_or_owner) OR ('SECONDARY':%(zone_type)s AND is_admin:True)"
+      "create_zone_transfer_accept": "rule:admin_or_owner OR tenant:%(target_tenant_id)s OR None:%(target_tenant_id)s"
+      "delete_record":
+      "delete_recordset": "('PRIMARY':%(zone_type)s and rule:admin_or_owner) OR ('SECONDARY':%(zone_type)s AND is_admin:True)"
+      "find_record":
+      "find_records": "rule:admin_or_owner"
+      "find_recordset":
+      "find_recordsets":
+      "find_zone":
+      "get_record":
+      "get_records":
+      "get_zone_transfer_request": "rule:admin_or_owner OR tenant:%(target_tenant_id)s OR None:%(target_tenant_id)s"
+      "update_record":
+      "update_recordset": "('PRIMARY':%(zone_type)s and rule:admin_or_owner) OR ('SECONDARY':%(zone_type)s AND is_admin:True)"
+      "update_service_status": "rule:admin"
+      "update_service_service_status":
+    glance_default_policy_ocata: {}
+    glance_default_policy_pike:
+      "add_image": ""
+      "add_member": ""
+      "add_metadef_namespace": ""
+      "add_metadef_object": ""
+      "add_metadef_property": ""
+      "add_metadef_resource_type_association": ""
+      "add_metadef_tag": ""
+      "add_metadef_tags": ""
+      "add_task": ""
+      "communitize_image": ""
+      "context_is_admin":  "role:admin"
+      "copy_from": ""
+      "deactivate": ""
+      "default": "role:admin"
+      "delete_image": ""
+      "delete_image_location": ""
+      "delete_member": ""
+      "download_image": ""
+      "get_image": ""
+      "get_image_location": ""
+      "get_images": ""
+      "get_member": ""
+      "get_members": ""
+      "get_metadef_namespace": ""
+      "get_metadef_namespaces": ""
+      "get_metadef_object": ""
+      "get_metadef_objects": ""
+      "get_metadef_properties": ""
+      "get_metadef_property": ""
+      "get_metadef_resource_type": ""
+      "get_metadef_tag": ""
+      "get_metadef_tags": ""
+      "get_task": ""
+      "get_tasks": ""
+      "list_metadef_resource_types": ""
+      "manage_image_cache": "role:admin"
+      "modify_image": ""
+      "modify_member": ""
+      "modify_metadef_namespace": ""
+      "modify_metadef_object": ""
+      "modify_metadef_property": ""
+      "modify_metadef_tag": ""
+      "modify_task": ""
+      "publicize_image": "role:admin"
+      "reactivate": ""
+      "set_image_location": ""
+      "tasks_api_access": "role:admin"
+      "upload_image": ""
+    glance_default_policy_queens: ${_param:glance_default_policy_pike}
+    heat_default_policy_ocata: {}
+    heat_default_policy_pike:
+      "actions:action": "rule:deny_stack_user"
+      "build_info:build_info": "rule:deny_stack_user"
+      "cloudformation:CancelUpdateStack": "rule:deny_stack_user"
+      "cloudformation:CreateStack": "rule:deny_stack_user"
+      "cloudformation:DeleteStack": "rule:deny_stack_user"
+      "cloudformation:DescribeStackEvents": "rule:deny_stack_user"
+      "cloudformation:DescribeStackResource": ""
+      "cloudformation:DescribeStackResources": "rule:deny_stack_user"
+      "cloudformation:DescribeStacks": "rule:deny_stack_user"
+      "cloudformation:EstimateTemplateCost": "rule:deny_stack_user"
+      "cloudformation:GetTemplate": "rule:deny_stack_user"
+      "cloudformation:ListStackResources": "rule:deny_stack_user"
+      "cloudformation:ListStacks": "rule:deny_stack_user"
+      "cloudformation:UpdateStack": "rule:deny_stack_user"
+      "cloudformation:ValidateTemplate": "rule:deny_stack_user"
+      "cloudwatch:DeleteAlarms": "rule:deny_stack_user"
+      "cloudwatch:DescribeAlarmHistory": "rule:deny_stack_user"
+      "cloudwatch:DescribeAlarms": "rule:deny_stack_user"
+      "cloudwatch:DescribeAlarmsForMetric": "rule:deny_stack_user"
+      "cloudwatch:DisableAlarmActions": "rule:deny_stack_user"
+      "cloudwatch:EnableAlarmActions": "rule:deny_stack_user"
+      "cloudwatch:GetMetricStatistics": "rule:deny_stack_user"
+      "cloudwatch:ListMetrics": "rule:deny_stack_user"
+      "cloudwatch:PutMetricAlarm": "rule:deny_stack_user"
+      "cloudwatch:PutMetricData": ""
+      "cloudwatch:SetAlarmState": "rule:deny_stack_user"
+      "context_is_admin": "role:admin and is_admin_project:True"
+      "deny_everybody": "!"
+      "deny_stack_user": "not role:heat_stack_user"
+      "events:index": "rule:deny_stack_user"
+      "events:show": "rule:deny_stack_user"
+      "project_admin": "role:admin"
+      "resource:index": "rule:deny_stack_user"
+      "resource:mark_unhealthy": "rule:deny_stack_user"
+      "resource:metadata": ""
+      "resource:show": "rule:deny_stack_user"
+      "resource:signal": ""
+      "resource_types:OS::Cinder::EncryptedVolumeType": "rule:project_admin"
+      "resource_types:OS::Cinder::QoSAssociation": "rule:project_admin"
+      "resource_types:OS::Cinder::QoSSpecs": "rule:project_admin"
+      "resource_types:OS::Cinder::Quota": "rule:project_admin"
+      "resource_types:OS::Cinder::VolumeType": "rule:project_admin"
+      "resource_types:OS::Keystone::*": "rule:project_admin"
+      "resource_types:OS::Manila::ShareType": "rule:project_admin"
+      "resource_types:OS::Neutron::ProviderNet": "rule:project_admin"
+      "resource_types:OS::Neutron::QoSBandwidthLimitRule": "rule:project_admin"
+      "resource_types:OS::Neutron::QoSPolicy": "rule:project_admin"
+      "resource_types:OS::Neutron::Quota": "rule:project_admin"
+      "resource_types:OS::Neutron::Segment": "rule:project_admin"
+      "resource_types:OS::Nova::Flavor": "rule:project_admin"
+      "resource_types:OS::Nova::HostAggregate": "rule:project_admin"
+      "resource_types:OS::Nova::Quota": "rule:project_admin"
+      "service:index": "rule:context_is_admin"
+      "software_configs:create": "rule:deny_stack_user"
+      "software_configs:delete": "rule:deny_stack_user"
+      "software_configs:global_index": "rule:deny_everybody"
+      "software_configs:index": "rule:deny_stack_user"
+      "software_configs:show": "rule:deny_stack_user"
+      "software_deployments:create": "rule:deny_stack_user"
+      "software_deployments:delete": "rule:deny_stack_user"
+      "software_deployments:index": "rule:deny_stack_user"
+      "software_deployments:metadata": ""
+      "software_deployments:show": "rule:deny_stack_user"
+      "software_deployments:update": "rule:deny_stack_user"
+      "stacks:abandon": "rule:deny_stack_user"
+      "stacks:create": "rule:deny_stack_user"
+      "stacks:delete": "rule:deny_stack_user"
+      "stacks:delete_snapshot": "rule:deny_stack_user"
+      "stacks:detail": "rule:deny_stack_user"
+      "stacks:environment": "rule:deny_stack_user"
+      "stacks:export": "rule:deny_stack_user"
+      "stacks:files": "rule:deny_stack_user"
+      "stacks:generate_template": "rule:deny_stack_user"
+      "stacks:global_index": "rule:deny_everybody"
+      "stacks:index": "rule:deny_stack_user"
+      "stacks:list_outputs": "rule:deny_stack_user"
+      "stacks:list_resource_types": "rule:deny_stack_user"
+      "stacks:list_snapshots": "rule:deny_stack_user"
+      "stacks:list_template_functions": "rule:deny_stack_user"
+      "stacks:list_template_versions": "rule:deny_stack_user"
+      "stacks:lookup": ""
+      "stacks:preview": "rule:deny_stack_user"
+      "stacks:preview_update": "rule:deny_stack_user"
+      "stacks:preview_update_patch": "rule:deny_stack_user"
+      "stacks:resource_schema": "rule:deny_stack_user"
+      "stacks:restore_snapshot": "rule:deny_stack_user"
+      "stacks:show": "rule:deny_stack_user"
+      "stacks:show_output": "rule:deny_stack_user"
+      "stacks:show_snapshot": "rule:deny_stack_user"
+      "stacks:snapshot": "rule:deny_stack_user"
+      "stacks:template": "rule:deny_stack_user"
+      "stacks:update": "rule:deny_stack_user"
+      "stacks:update_patch": "rule:deny_stack_user"
+      "stacks:validate_template": "rule:deny_stack_user"
+    heat_default_policy_queens: ${_param:heat_default_policy_pike}
+    keystone_default_policy_ocata: {}
+    keystone_default_policy_pike: &keystone_default_policy_pike
+      "admin_or_owner": "rule:admin_required or rule:owner"
+      "admin_or_token_subject": "rule:admin_required or rule:token_subject"
+      "admin_required": "role:admin or is_admin:1"
+      "identity:add_endpoint_group_to_project": "rule:admin_required"
+      "identity:add_endpoint_to_project": "rule:admin_required"
+      "identity:add_user_to_group": "rule:admin_required"
+      "identity:authorize_request_token": "rule:admin_required"
+      "identity:check_endpoint_in_project": "rule:admin_required"
+      "identity:check_grant": "rule:admin_required"
+      "identity:check_implied_role": "rule:admin_required"
+      "identity:check_policy_association_for_endpoint": "rule:admin_required"
+      "identity:check_policy_association_for_region_and_service": "rule:admin_required"
+      "identity:check_policy_association_for_service": "rule:admin_required"
+      "identity:check_token": "rule:admin_or_token_subject"
+      "identity:check_user_in_group": "rule:admin_required"
+      "identity:create_consumer": "rule:admin_required"
+      "identity:create_credential": "rule:admin_required"
+      "identity:create_domain": "rule:admin_required"
+      "identity:create_domain_config": "rule:admin_required"
+      "identity:create_domain_role": "rule:admin_required"
+      "identity:create_endpoint": "rule:admin_required"
+      "identity:create_endpoint_group": "rule:admin_required"
+      "identity:create_grant": "rule:admin_required"
+      "identity:create_group": "rule:admin_required"
+      "identity:create_identity_provider": "rule:admin_required"
+      "identity:create_implied_role": "rule:admin_required"
+      "identity:create_mapping": "rule:admin_required"
+      "identity:create_policy": "rule:admin_required"
+      "identity:create_policy_association_for_endpoint": "rule:admin_required"
+      "identity:create_policy_association_for_region_and_service": "rule:admin_required"
+      "identity:create_policy_association_for_service": "rule:admin_required"
+      "identity:create_project": "rule:admin_required"
+      "identity:create_protocol": "rule:admin_required"
+      "identity:create_region": "rule:admin_required"
+      "identity:create_role": "rule:admin_required"
+      "identity:create_service": "rule:admin_required"
+      "identity:create_service_provider": "rule:admin_required"
+      "identity:create_trust": "user_id:%(trust.trustor_user_id)s"
+      "identity:create_user": "rule:admin_required"
+      "identity:delete_access_token": "rule:admin_required"
+      "identity:delete_consumer": "rule:admin_required"
+      "identity:delete_credential": "rule:admin_required"
+      "identity:delete_domain": "rule:admin_required"
+      "identity:delete_domain_config": "rule:admin_required"
+      "identity:delete_domain_role": "rule:admin_required"
+      "identity:delete_endpoint": "rule:admin_required"
+      "identity:delete_endpoint_group": "rule:admin_required"
+      "identity:delete_group": "rule:admin_required"
+      "identity:delete_identity_provider": "rule:admin_required"
+      "identity:delete_implied_role": "rule:admin_required"
+      "identity:delete_mapping": "rule:admin_required"
+      "identity:delete_policy": "rule:admin_required"
+      "identity:delete_policy_association_for_endpoint": "rule:admin_required"
+      "identity:delete_policy_association_for_region_and_service": "rule:admin_required"
+      "identity:delete_policy_association_for_service": "rule:admin_required"
+      "identity:delete_project": "rule:admin_required"
+      "identity:delete_protocol": "rule:admin_required"
+      "identity:delete_region": "rule:admin_required"
+      "identity:delete_role": "rule:admin_required"
+      "identity:delete_service": "rule:admin_required"
+      "identity:delete_service_provider": "rule:admin_required"
+      "identity:delete_trust": ""
+      "identity:delete_user": "rule:admin_required"
+      "identity:ec2_create_credential": "rule:admin_or_owner"
+      "identity:ec2_delete_credential": "rule:admin_required or (rule:owner and user_id:%(target.credential.user_id)s)"
+      "identity:ec2_get_credential": "rule:admin_required or (rule:owner and user_id:%(target.credential.user_id)s)"
+      "identity:ec2_list_credentials": "rule:admin_or_owner"
+      "identity:get_access_token": "rule:admin_required"
+      "identity:get_access_token_role": "rule:admin_required"
+      "identity:get_auth_catalog": ""
+      "identity:get_auth_domains": ""
+      "identity:get_auth_projects": ""
+      "identity:get_consumer": "rule:admin_required"
+      "identity:get_credential": "rule:admin_required"
+      "identity:get_domain": "rule:admin_required or token.project.domain.id:%(target.domain.id)s"
+      "identity:get_domain_config": "rule:admin_required"
+      "identity:get_domain_config_default": "rule:admin_required"
+      "identity:get_domain_role": "rule:admin_required"
+      "identity:get_endpoint": "rule:admin_required"
+      "identity:get_endpoint_group": "rule:admin_required"
+      "identity:get_endpoint_group_in_project": "rule:admin_required"
+      "identity:get_group": "rule:admin_required"
+      "identity:get_identity_provider": "rule:admin_required"
+      "identity:get_implied_role": "rule:admin_required"
+      "identity:get_mapping": "rule:admin_required"
+      "identity:get_policy": "rule:admin_required"
+      "identity:get_policy_for_endpoint": "rule:admin_required"
+      "identity:get_project": "rule:admin_required or project_id:%(target.project.id)s"
+      "identity:get_protocol": "rule:admin_required"
+      "identity:get_region": ""
+      "identity:get_role": "rule:admin_required"
+      "identity:get_role_for_trust": ""
+      "identity:get_security_compliance_domain_config": ""
+      "identity:get_service": "rule:admin_required"
+      "identity:get_service_provider": "rule:admin_required"
+      "identity:get_trust": ""
+      "identity:get_user": "rule:admin_or_owner"
+      "identity:list_access_token_roles": "rule:admin_required"
+      "identity:list_access_tokens": "rule:admin_required"
+      "identity:list_consumers": "rule:admin_required"
+      "identity:list_credentials": "rule:admin_required"
+      "identity:list_domain_roles": "rule:admin_required"
+      "identity:list_domains": "rule:admin_required"
+      "identity:list_domains_for_user": ""
+      "identity:list_endpoint_groups": "rule:admin_required"
+      "identity:list_endpoint_groups_for_project": "rule:admin_required"
+      "identity:list_endpoints": "rule:admin_required"
+      "identity:list_endpoints_associated_with_endpoint_group": "rule:admin_required"
+      "identity:list_endpoints_for_policy": "rule:admin_required"
+      "identity:list_endpoints_for_project": "rule:admin_required"
+      "identity:list_grants": "rule:admin_required"
+      "identity:list_groups": "rule:admin_required"
+      "identity:list_groups_for_user": "rule:admin_or_owner"
+      "identity:list_identity_providers": "rule:admin_required"
+      "identity:list_implied_roles": "rule:admin_required"
+      "identity:list_mappings": "rule:admin_required"
+      "identity:list_policies": "rule:admin_required"
+      "identity:list_projects": "rule:admin_required"
+      "identity:list_projects_associated_with_endpoint_group": "rule:admin_required"
+      "identity:list_projects_for_endpoint": "rule:admin_required"
+      "identity:list_projects_for_user": ""
+      "identity:list_protocols": "rule:admin_required"
+      "identity:list_regions": ""
+      "identity:list_revoke_events": "rule:service_or_admin"
+      "identity:list_role_assignments": "rule:admin_required"
+      "identity:list_role_assignments_for_tree": "rule:admin_required"
+      "identity:list_role_inference_rules": "rule:admin_required"
+      "identity:list_roles": "rule:admin_required"
+      "identity:list_roles_for_trust": ""
+      "identity:list_service_providers": "rule:admin_required"
+      "identity:list_services": "rule:admin_required"
+      "identity:list_trusts": ""
+      "identity:list_user_projects": "rule:admin_or_owner"
+      "identity:list_users": "rule:admin_required"
+      "identity:list_users_in_group": "rule:admin_required"
+      "identity:remove_endpoint_from_project": "rule:admin_required"
+      "identity:remove_endpoint_group_from_project": "rule:admin_required"
+      "identity:remove_user_from_group": "rule:admin_required"
+      "identity:revocation_list": "rule:service_or_admin"
+      "identity:revoke_grant": "rule:admin_required"
+      "identity:revoke_token": "rule:admin_or_token_subject"
+      "identity:update_consumer": "rule:admin_required"
+      "identity:update_credential": "rule:admin_required"
+      "identity:update_domain": "rule:admin_required"
+      "identity:update_domain_config": "rule:admin_required"
+      "identity:update_domain_role": "rule:admin_required"
+      "identity:update_endpoint": "rule:admin_required"
+      "identity:update_endpoint_group": "rule:admin_required"
+      "identity:update_group": "rule:admin_required"
+      "identity:update_identity_provider": "rule:admin_required"
+      "identity:update_mapping": "rule:admin_required"
+      "identity:update_policy": "rule:admin_required"
+      "identity:update_project": "rule:admin_required"
+      "identity:update_protocol": "rule:admin_required"
+      "identity:update_region": "rule:admin_required"
+      "identity:update_role": "rule:admin_required"
+      "identity:update_service": "rule:admin_required"
+      "identity:update_service_provider": "rule:admin_required"
+      "identity:update_user": "rule:admin_required"
+      "identity:validate_token": "rule:service_admin_or_token_subject"
+      "identity:validate_token_head": "rule:service_or_admin"
+      "owner": "user_id:%(user_id)s"
+      "service_admin_or_token_subject": "rule:service_or_admin or rule:token_subject"
+      "service_or_admin": "rule:admin_required or rule:service_role"
+      "service_role": "role:service"
+      "token_subject": "user_id:%(target.token.user_id)s"
+    keystone_default_policy_queens:
+      << : *keystone_default_policy_pike
+      "identity:check_system_grant_for_group": "rule:admin_required"
+      "identity:check_system_grant_for_user": "rule:admin_required"
+      "identity:create_application_credential": "rule:admin_or_owner"
+      "identity:create_limits": "rule:admin_required"
+      "identity:create_project_tag": "rule:admin_required"
+      "identity:create_registered_limits": "rule:admin_required"
+      "identity:create_system_grant_for_group": "rule:admin_required"
+      "identity:create_system_grant_for_user": "rule:admin_required"
+      "identity:delete_application_credential": "rule:admin_or_owner"
+      "identity:delete_limit": "rule:admin_required"
+      "identity:delete_project_tag": "rule:admin_required"
+      "identity:delete_project_tags": "rule:admin_required"
+      "identity:delete_registered_limit": "rule:admin_required"
+      "identity:get_application_credential": "rule:admin_or_owner"
+      "identity:get_auth_system": ""
+      "identity:get_limit": ""
+      "identity:get_project_tag": "rule:admin_required or project_id:%(target.project.id)s"
+      "identity:get_registered_limit": ""
+      "identity:list_application_credentials": "rule:admin_or_owner"
+      "identity:list_limits": ""
+      "identity:list_project_tags": "rule:admin_required or project_id:%(target.project.id)s"
+      "identity:list_registered_limits": ""
+      "identity:list_system_grants_for_group": "rule:admin_required"
+      "identity:list_system_grants_for_user": "rule:admin_required"
+      "identity:revoke_system_grant_for_group": "rule:admin_required"
+      "identity:revoke_system_grant_for_user": "rule:admin_required"
+      "identity:update_limits": "rule:admin_required"
+      "identity:update_project_tags": "rule:admin_required"
+      "identity:update_registered_limits": "rule:admin_required"
+      "identity:validate_token_head":
+    manila_default_policy_ocata: {}
+    manila_default_policy_pike:
+      "admin_api": "is_admin:True"
+      "admin_or_owner": "is_admin:True or project_id:%(project_id)s"
+      "availability_zone:index": "rule:default"
+      "context_is_admin": "role:admin"
+      "default": "rule:admin_or_owner"
+      "message:delete": "rule:default"
+      "message:get_all": "rule:default"
+      "message:get": "rule:default"
+      "quota_class_set:show": "rule:default"
+      "quota_class_set:update": "rule:admin_api"
+      "quota_set:delete": "rule:admin_api"
+      "quota_set:show": "rule:default"
+      "quota_set:update": "rule:admin_api"
+      "scheduler_stats:pools:detail": "rule:admin_api"
+      "scheduler_stats:pools:index": "rule:admin_api"
+      "security_service:create": "rule:default"
+      "security_service:delete": "rule:default"
+      "security_service:detail": "rule:default"
+      "security_service:get_all_security_services": "rule:admin_api"
+      "security_service:index": "rule:default"
+      "security_service:show": "rule:default"
+      "security_service:update": "rule:default"
+      "service:index": "rule:admin_api"
+      "service:update": "rule:admin_api"
+      "share:access_get_all": "rule:default"
+      "share:access_get": "rule:default"
+      "share:allow_access": "rule:default"
+      "share:create": ""
+      "share:create_snapshot": "rule:default"
+      "share:delete": "rule:default"
+      "share:delete_share_metadata": "rule:default"
+      "share:delete_snapshot": "rule:default"
+      "share:deny_access": "rule:default"
+      "share_export_location:index": "rule:default"
+      "share_export_location:show": "rule:default"
+      "share:extend": "rule:default"
+      "share:force_delete": "rule:admin_api"
+      "share:get_all": "rule:default"
+      "share:get": "rule:default"
+      "share:get_share_metadata": "rule:default"
+      "share_group:create": "rule:default"
+      "share_group:delete": "rule:default"
+      "share_group:force_delete": "rule:admin_api"
+      "share_group:get_all": "rule:default"
+      "share_group:get": "rule:default"
+      "share_group:reset_status": "rule:admin_api"
+      "share_group_snapshot:create": "rule:default"
+      "share_group_snapshot:delete": "rule:default"
+      "share_group_snapshot:force_delete": "rule:admin_api"
+      "share_group_snapshot:get_all": "rule:default"
+      "share_group_snapshot:get": "rule:default"
+      "share_group_snapshot:reset_status": "rule:admin_api"
+      "share_group_snapshot:update": "rule:default"
+      "share_group_type:add_project_access": "rule:admin_api"
+      "share_group_type:create": "rule:admin_api"
+      "share_group_type:default": "rule:default"
+      "share_group_type:delete": "rule:admin_api"
+      "share_group_type:index": "rule:default"
+      "share_group_type:list_project_access": "rule:admin_api"
+      "share_group_type:remove_project_access": "rule:admin_api"
+      "share_group_type:show": "rule:default"
+      "share_group_types_spec:create": "rule:admin_api"
+      "share_group_types_spec:delete": "rule:admin_api"
+      "share_group_types_spec:index": "rule:admin_api"
+      "share_group_types_spec:show": "rule:admin_api"
+      "share_group_types_spec:update": "rule:admin_api"
+      "share_group:update": "rule:default"
+      "share_instance_export_location:index": "rule:admin_api"
+      "share_instance_export_location:show": "rule:admin_api"
+      "share_instance:force_delete": "rule:admin_api"
+      "share_instance:index": "rule:admin_api"
+      "share_instance:reset_status": "rule:admin_api"
+      "share_instance:show": "rule:admin_api"
+      "share:list_by_host": "rule:admin_api"
+      "share:list_by_share_server_id": "rule:admin_api"
+      "share:manage": "rule:admin_api"
+      "share:migration_cancel": "rule:admin_api"
+      "share:migration_complete": "rule:admin_api"
+      "share:migration_get_progress": "rule:admin_api"
+      "share:migration_start": "rule:admin_api"
+      "share_network:add_security_service": "rule:default"
+      "share_network:create": "rule:default"
+      "share_network:delete": "rule:default"
+      "share_network:detail": "rule:default"
+      "share_network:get_all_share_networks": "rule:admin_api"
+      "share_network:index": "rule:default"
+      "share_network:remove_security_service": "rule:default"
+      "share_network:show": "rule:default"
+      "share_network:update": "rule:default"
+      "share_replica:create": "rule:default"
+      "share_replica:delete": "rule:default"
+      "share_replica:force_delete": "rule:admin_api"
+      "share_replica:get_all": "rule:default"
+      "share_replica:promote": "rule:default"
+      "share_replica:reset_replica_state": "rule:admin_api"
+      "share_replica:reset_status": "rule:admin_api"
+      "share_replica:resync": "rule:admin_api"
+      "share_replica:show": "rule:default"
+      "share:reset_status": "rule:admin_api"
+      "share:reset_task_state": "rule:admin_api"
+      "share:revert_to_snapshot": "rule:default"
+      "share_server:delete": "rule:admin_api"
+      "share_server:details": "rule:admin_api"
+      "share_server:index": "rule:admin_api"
+      "share_server:show": "rule:admin_api"
+      "share:shrink": "rule:default"
+      "share_snapshot:access_list": "rule:default"
+      "share_snapshot:allow_access": "rule:default"
+      "share_snapshot:deny_access": "rule:default"
+      "share_snapshot_export_location:index": "rule:default"
+      "share_snapshot_export_location:show": "rule:default"
+      "share_snapshot:force_delete": "rule:admin_api"
+      "share_snapshot:get_all_snapshots": "rule:default"
+      "share_snapshot:get_snapshot": "rule:default"
+      "share_snapshot_instance:detail": "rule:admin_api"
+      "share_snapshot_instance_export_location:index": "rule:admin_api"
+      "share_snapshot_instance_export_location:show": "rule:admin_api"
+      "share_snapshot_instance:index": "rule:admin_api"
+      "share_snapshot_instance:reset_status": "rule:admin_api"
+      "share_snapshot_instance:show": "rule:admin_api"
+      "share_snapshot:manage_snapshot": "rule:admin_api"
+      "share_snapshot:reset_status": "rule:admin_api"
+      "share_snapshot:unmanage_snapshot": "rule:admin_api"
+      "share:snapshot_update": "rule:default"
+      "share_type:add_project_access": "rule:admin_api"
+      "share_type:create": "rule:admin_api"
+      "share_type:default": "rule:default"
+      "share_type:delete": "rule:admin_api"
+      "share_type:index": "rule:default"
+      "share_type:list_project_access": "rule:admin_api"
+      "share_type:remove_project_access": "rule:admin_api"
+      "share_types_extra_spec:create": "rule:admin_api"
+      "share_types_extra_spec:delete": "rule:admin_api"
+      "share_types_extra_spec:index": "rule:admin_api"
+      "share_types_extra_spec:show": "rule:admin_api"
+      "share_types_extra_spec:update": "rule:admin_api"
+      "share_type:show": "rule:default"
+      "share:unmanage": "rule:admin_api"
+      "share:update": "rule:default"
+      "share:update_share_metadata": "rule:default"
+    manila_default_policy_queens: ${_param:manila_default_policy_pike}
+    neutron_default_policy_ocata: {}
+    neutron_default_policy_pike: &neutron_default_policy_pike
+      "add_router_interface": "rule:admin_or_owner"
+      "add_subports": "rule:admin_or_owner"
+      "admin_only": "rule:context_is_admin"
+      "admin_or_data_plane_int": "rule:context_is_admin or role:data_plane_integrator"
+      "admin_or_network_owner": "rule:context_is_admin or tenant_id:%(network:tenant_id)s"
+      "admin_or_owner": "rule:context_is_admin or rule:owner"
+      "admin_owner_or_network_owner": "rule:owner or rule:admin_or_network_owner"
+      "context_is_admin":  "role:admin"
+      "context_is_advsvc":  "role:advsvc"
+      "create_address_scope": ""
+      "create_address_scope:shared": "rule:admin_only"
+      "create_dhcp-network": "rule:admin_only"
+      "create_flavor": "rule:admin_only"
+      "create_flavor_service_profile": "rule:admin_only"
+      "create_floatingip": "rule:regular_user"
+      "create_floatingip:floating_ip_address": "rule:admin_only"
+      "create_l3-router": "rule:admin_only"
+      "create_log": "rule:admin_only"
+      "create_lsn": "rule:admin_only"
+      "create_metering_label": "rule:admin_only"
+      "create_metering_label_rule": "rule:admin_only"
+      "create_network": ""
+      "create_network:is_default": "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"
+      "create_network:router:external": "rule:admin_only"
+      "create_network:segments": "rule:admin_only"
+      "create_network:shared": "rule:admin_only"
+      "create_network_profile": "rule:admin_only"
+      "create_policy": "rule:admin_only"
+      "create_policy_bandwidth_limit_rule": "rule:admin_only"
+      "create_policy_dscp_marking_rule": "rule:admin_only"
+      "create_policy_minimum_bandwidth_rule": "rule:admin_only"
+      "create_port": ""
+      "create_port:allowed_address_pairs": "rule:admin_or_network_owner"
+      "create_port:binding:host_id": "rule:admin_only"
+      "create_port:binding:profile": "rule:admin_only"
+      "create_port:device_owner": "not rule:network_device or 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:mac_address": "rule:context_is_advsvc or rule:admin_or_network_owner"
+      "create_port:mac_learning_enabled": "rule:context_is_advsvc or rule:admin_or_network_owner"
+      "create_port:port_security_enabled": "rule:context_is_advsvc or rule:admin_or_network_owner"
+      "create_qos_queue": "rule:admin_only"
+      "create_rbac_policy": ""
+      "create_rbac_policy:target_tenant": "rule:restrict_wildcard"
+      "create_router": "rule:regular_user"
+      "create_router:distributed": "rule:admin_only"
+      "create_router:external_gateway_info:enable_snat": "rule:admin_only"
+      "create_router:external_gateway_info:external_fixed_ips": "rule:admin_only"
+      "create_router:ha": "rule:admin_only"
+      "create_security_group": "rule:admin_or_owner"
+      "create_security_group_rule": "rule:admin_or_owner"
+      "create_segment": "rule:admin_only"
+      "create_service_profile": "rule:admin_only"
+      "create_subnet": "rule:admin_or_network_owner"
+      "create_subnet:segment_id": "rule:admin_only"
+      "create_subnet:service_types": "rule:admin_only"
+      "create_subnetpool": ""
+      "create_subnetpool:is_default": "rule:admin_only"
+      "create_subnetpool:shared": "rule:admin_only"
+      "create_trunk": "rule:regular_user"
+      "default": "rule:admin_or_owner"
+      "delete_address_scope": "rule:admin_or_owner"
+      "delete_agent": "rule:admin_only"
+      "delete_dhcp-network": "rule:admin_only"
+      "delete_flavor": "rule:admin_only"
+      "delete_flavor_service_profile": "rule:admin_only"
+      "delete_floatingip": "rule:admin_or_owner"
+      "delete_l3-router": "rule:admin_only"
+      "delete_log": "rule:admin_only"
+      "delete_metering_label": "rule:admin_only"
+      "delete_metering_label_rule": "rule:admin_only"
+      "delete_network": "rule:admin_or_owner"
+      "delete_network_profile": "rule:admin_only"
+      "delete_policy": "rule:admin_only"
+      "delete_policy_bandwidth_limit_rule": "rule:admin_only"
+      "delete_policy_dscp_marking_rule": "rule:admin_only"
+      "delete_policy_minimum_bandwidth_rule": "rule:admin_only"
+      "delete_port": "rule:context_is_advsvc or rule:admin_owner_or_network_owner"
+      "delete_rbac_policy": "rule:admin_or_owner"
+      "delete_router": "rule:admin_or_owner"
+      "delete_security_group": "rule:admin_or_owner"
+      "delete_security_group_rule": "rule:admin_or_owner"
+      "delete_segment": "rule:admin_only"
+      "delete_service_profile": "rule:admin_only"
+      "delete_subnet": "rule:admin_or_network_owner"
+      "delete_subnetpool": "rule:admin_or_owner"
+      "delete_trunk": "rule:admin_or_owner"
+      "external": "field:networks:router:external=True"
+      "get_address_scope": "rule:admin_or_owner or rule:shared_address_scopes"
+      "get_agent": "rule:admin_only"
+      "get_agent-loadbalancers": "rule:admin_only"
+      "get_auto_allocated_topology": "rule:admin_or_owner"
+      "get_dhcp-agents": "rule:admin_only"
+      "get_dhcp-networks": "rule:admin_only"
+      "get_flavor": "rule:regular_user"
+      "get_flavor_service_profile": "rule:regular_user"
+      "get_flavors": "rule:regular_user"
+      "get_floatingip": "rule:admin_or_owner"
+      "get_l3-agents": "rule:admin_only"
+      "get_l3-routers": "rule:admin_only"
+      "get_loadbalancer-agent": "rule:admin_only"
+      "get_loadbalancer-hosting-agent": "rule:admin_only"
+      "get_loadbalancer-pools": "rule:admin_only"
+      "get_log": "rule:admin_only"
+      "get_loggable_resources": "rule:admin_only"
+      "get_logs": "rule:admin_only"
+      "get_lsn": "rule:admin_only"
+      "get_metering_label": "rule:admin_only"
+      "get_metering_label_rule": "rule:admin_only"
+      "get_network": "rule:admin_or_owner or rule:shared or rule:external or rule:context_is_advsvc"
+      "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:router:external": "rule:regular_user"
+      "get_network:segments": "rule:admin_only"
+      "get_network_ip_availabilities": "rule:admin_only"
+      "get_network_ip_availability": "rule:admin_only"
+      "get_network_profile": ""
+      "get_network_profiles": ""
+      "get_policy": "rule:regular_user"
+      "get_policy_bandwidth_limit_rule": "rule:regular_user"
+      "get_policy_dscp_marking_rule": "rule:regular_user"
+      "get_policy_minimum_bandwidth_rule": "rule:regular_user"
+      "get_policy_profile": ""
+      "get_policy_profiles": ""
+      "get_port": "rule:context_is_advsvc or rule:admin_owner_or_network_owner"
+      "get_port:binding:host_id": "rule:admin_only"
+      "get_port:binding:profile": "rule:admin_only"
+      "get_port:binding:vif_details": "rule:admin_only"
+      "get_port:binding:vif_type": "rule:admin_only"
+      "get_port:queue_id": "rule:admin_only"
+      "get_qos_queue": "rule:admin_only"
+      "get_rbac_policy": "rule:admin_or_owner"
+      "get_router": "rule:admin_or_owner"
+      "get_router:distributed": "rule:admin_only"
+      "get_router:ha": "rule:admin_only"
+      "get_rule_type": "rule:regular_user"
+      "get_security_group": "rule:admin_or_owner"
+      "get_security_group_rule": "rule:admin_or_owner"
+      "get_security_group_rules": "rule:admin_or_owner"
+      "get_security_groups": "rule:admin_or_owner"
+      "get_segment": "rule:admin_only"
+      "get_service_profile": "rule:admin_only"
+      "get_service_profiles": "rule:admin_only"
+      "get_service_provider": "rule:regular_user"
+      "get_subnet": "rule:admin_or_owner or rule:shared"
+      "get_subnet:segment_id": "rule:admin_only"
+      "get_subnetpool": "rule:admin_or_owner or rule:shared_subnetpools"
+      "get_subports": ""
+      "get_trunk": "rule:admin_or_owner"
+      "network_device": "field:port:device_owner=~^network:"
+      "owner": "tenant_id:%(tenant_id)s"
+      "regular_user": ""
+      "remove_router_interface": "rule:admin_or_owner"
+      "remove_subports": "rule:admin_or_owner"
+      "restrict_wildcard": "(not field:rbac_policy:target_tenant=*) or rule:admin_only"
+      "shared": "field:networks:shared=True"
+      "shared_address_scopes": "field:address_scopes:shared=True"
+      "shared_subnetpools": "field:subnetpools:shared=True"
+      "update_address_scope": "rule:admin_or_owner"
+      "update_address_scope:shared": "rule:admin_only"
+      "update_agent": "rule:admin_only"
+      "update_flavor": "rule:admin_only"
+      "update_floatingip": "rule:admin_or_owner"
+      "update_log": "rule:admin_only"
+      "update_network": "rule:admin_or_owner"
+      "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"
+      "update_network:segments": "rule:admin_only"
+      "update_network:shared": "rule:admin_only"
+      "update_network_profile": "rule:admin_only"
+      "update_policy": "rule:admin_only"
+      "update_policy_bandwidth_limit_rule": "rule:admin_only"
+      "update_policy_dscp_marking_rule": "rule:admin_only"
+      "update_policy_minimum_bandwidth_rule": "rule:admin_only"
+      "update_policy_profiles": "rule:admin_only"
+      "update_port": "rule:admin_or_owner or rule:context_is_advsvc"
+      "update_port:allowed_address_pairs": "rule:admin_or_network_owner"
+      "update_port:binding:host_id": "rule:admin_only"
+      "update_port:binding:profile": "rule:admin_only"
+      "update_port:data_plane_status": "rule:admin_or_data_plane_int"
+      "update_port:device_owner": "not rule:network_device or rule:context_is_advsvc or rule:admin_or_network_owner"
+      "update_port:fixed_ips": "rule:context_is_advsvc or rule:admin_or_network_owner"
+      "update_port:mac_address": "rule:admin_only or rule:context_is_advsvc"
+      "update_port:mac_learning_enabled": "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_rbac_policy": "rule:admin_or_owner"
+      "update_rbac_policy:target_tenant": "rule:restrict_wildcard and rule:admin_or_owner"
+      "update_router": "rule:admin_or_owner"
+      "update_router:distributed": "rule:admin_only"
+      "update_router:external_gateway_info": "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"
+      "update_router:external_gateway_info:network_id": "rule:admin_or_owner"
+      "update_router:ha": "rule:admin_only"
+      "update_security_group": "rule:admin_or_owner"
+      "update_segment": "rule:admin_only"
+      "update_service_profile": "rule:admin_only"
+      "update_subnet": "rule:admin_or_network_owner"
+      "update_subnet:service_types": "rule:admin_only"
+      "update_subnetpool": "rule:admin_or_owner"
+      "update_subnetpool:is_default": "rule:admin_only"
+    neutron_default_policy_queens:
+      << : *neutron_default_policy_pike
+      "create_port:allowed_address_pairs:ip_address": "rule:admin_or_network_owner"
+      "create_port:allowed_address_pairs:mac_address": "rule:admin_or_network_owner"
+      "create_port:fixed_ips": "rule:context_is_advsvc or rule:admin_or_network_owner or rule:shared"
+      "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_router:external_gateway_info": "rule:admin_or_owner"
+      "create_router:external_gateway_info:network_id": "rule:admin_or_owner"
+      "update_port:allowed_address_pairs:ip_address": "rule:admin_or_network_owner"
+      "update_port:allowed_address_pairs:mac_address": "rule:admin_or_network_owner"
+      "update_port:fixed_ips": "rule:context_is_advsvc or rule:admin_or_network_owner or rule:shared"
+      "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"
+    nova_default_policy_ocata: {}
+    nova_default_policy_pike: &nova_default_policy_pike
+      "admin_api": "is_admin:True"
+      "admin_or_owner": "is_admin:True or project_id:%(project_id)s"
+      "cells_scheduler_filter:DifferentCellFilter": "is_admin:True"
+      "cells_scheduler_filter:TargetCellFilter": "is_admin:True"
+      "context_is_admin": "role:admin"
+      "network:attach_external_network": "is_admin:True"
+      "os_compute_api:extensions": "rule:admin_or_owner"
+      "os_compute_api:flavors": "rule:admin_or_owner"
+      "os_compute_api:image-size": "rule:admin_or_owner"
+      "os_compute_api:ips:index": "rule:admin_or_owner"
+      "os_compute_api:ips:show": "rule:admin_or_owner"
+      "os_compute_api:limits": "rule:admin_or_owner"
+      "os_compute_api:os-admin-actions:inject_network_info": "rule:admin_api"
+      "os_compute_api:os-admin-actions:reset_network": "rule:admin_api"
+      "os_compute_api:os-admin-actions:reset_state": "rule:admin_api"
+      "os_compute_api:os-admin-password": "rule:admin_or_owner"
+      "os_compute_api:os-agents": "rule:admin_api"
+      "os_compute_api:os-aggregates:add_host": "rule:admin_api"
+      "os_compute_api:os-aggregates:create": "rule:admin_api"
+      "os_compute_api:os-aggregates:delete": "rule:admin_api"
+      "os_compute_api:os-aggregates:index": "rule:admin_api"
+      "os_compute_api:os-aggregates:remove_host": "rule:admin_api"
+      "os_compute_api:os-aggregates:set_metadata": "rule:admin_api"
+      "os_compute_api:os-aggregates:show": "rule:admin_api"
+      "os_compute_api:os-aggregates:update": "rule:admin_api"
+      "os_compute_api:os-assisted-volume-snapshots:create": "rule:admin_api"
+      "os_compute_api:os-assisted-volume-snapshots:delete": "rule:admin_api"
+      "os_compute_api:os-attach-interfaces": "rule:admin_or_owner"
+      "os_compute_api:os-attach-interfaces:create": "rule:admin_or_owner"
+      "os_compute_api:os-attach-interfaces:delete": "rule:admin_or_owner"
+      "os_compute_api:os-availability-zone:detail": "rule:admin_api"
+      "os_compute_api:os-availability-zone:list": "rule:admin_or_owner"
+      "os_compute_api:os-baremetal-nodes": "rule:admin_api"
+      "os_compute_api:os-cells": "rule:admin_api"
+      "os_compute_api:os-cells:create": "rule:admin_api"
+      "os_compute_api:os-cells:delete": "rule:admin_api"
+      "os_compute_api:os-cells:sync_instances": "rule:admin_api"
+      "os_compute_api:os-cells:update": "rule:admin_api"
+      "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"
+      "os_compute_api:os-consoles:delete": "rule:admin_or_owner"
+      "os_compute_api:os-consoles:index": "rule:admin_or_owner"
+      "os_compute_api:os-consoles:show": "rule:admin_or_owner"
+      "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:os-fixed-ips": "rule:admin_api"
+      "os_compute_api:os-flavor-access": "rule:admin_or_owner"
+      "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-extra-specs:create": "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-extra-specs:show": "rule:admin_or_owner"
+      "os_compute_api:os-flavor-extra-specs:update": "rule:admin_api"
+      "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:delete": "rule:os_compute_api:os-flavor-manage"
+      "os_compute_api:os-flavor-rxtx": "rule:admin_or_owner"
+      "os_compute_api:os-floating-ip-dns": "rule:admin_or_owner"
+      "os_compute_api:os-floating-ip-dns:domain:delete": "rule:admin_api"
+      "os_compute_api:os-floating-ip-dns:domain:update": "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": "rule:admin_or_owner"
+      "os_compute_api:os-fping:all_tenants": "rule:admin_api"
+      "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:os-instance-actions": "rule:admin_or_owner"
+      "os_compute_api:os-instance-actions:events": "rule:admin_api"
+      "os_compute_api:os-instance-usage-audit-log": "rule:admin_api"
+      "os_compute_api:os-keypairs": "rule:admin_or_owner"
+      "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:index": "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-lock-server:lock": "rule:admin_or_owner"
+      "os_compute_api:os-lock-server:unlock": "rule:admin_or_owner"
+      "os_compute_api:os-lock-server:unlock:unlock_override": "rule:admin_api"
+      "os_compute_api:os-migrate-server:migrate": "rule:admin_api"
+      "os_compute_api:os-migrate-server:migrate_live": "rule:admin_api"
+      "os_compute_api:os-migrations:index": "rule:admin_api"
+      "os_compute_api:os-multinic": "rule:admin_or_owner"
+      "os_compute_api:os-networks": "rule:admin_api"
+      "os_compute_api:os-networks-associate": "rule:admin_api"
+      "os_compute_api:os-networks:view": "rule:admin_or_owner"
+      "os_compute_api:os-pause-server:pause": "rule:admin_or_owner"
+      "os_compute_api:os-pause-server:unpause": "rule:admin_or_owner"
+      "os_compute_api:os-quota-class-sets:show": "is_admin:True or quota_class:%(quota_class)s"
+      "os_compute_api:os-quota-class-sets:update": "rule:admin_api"
+      "os_compute_api:os-quota-sets:defaults": "@"
+      "os_compute_api:os-quota-sets:delete": "rule:admin_api"
+      "os_compute_api:os-quota-sets:detail": "rule:admin_or_owner"
+      "os_compute_api:os-quota-sets:show": "rule:admin_or_owner"
+      "os_compute_api:os-quota-sets:update": "rule:admin_api"
+      "os_compute_api:os-remote-consoles": "rule:admin_or_owner"
+      "os_compute_api:os-rescue": "rule:admin_or_owner"
+      "os_compute_api:os-security-group-default-rules": "rule:admin_api"
+      "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-password": "rule:admin_or_owner"
+      "os_compute_api:os-server-tags:delete": "rule:admin_or_owner"
+      "os_compute_api:os-server-tags:delete_all": "rule:admin_or_owner"
+      "os_compute_api:os-server-tags:index": "rule:admin_or_owner"
+      "os_compute_api:os-server-tags:show": "rule:admin_or_owner"
+      "os_compute_api:os-server-tags:update": "rule:admin_or_owner"
+      "os_compute_api:os-server-tags:update_all": "rule:admin_or_owner"
+      "os_compute_api:os-server-usage": "rule:admin_or_owner"
+      "os_compute_api:os-services": "rule:admin_api"
+      "os_compute_api:os-shelve:shelve": "rule:admin_or_owner"
+      "os_compute_api:os-shelve:shelve_offload": "rule:admin_api"
+      "os_compute_api:os-shelve:unshelve": "rule:admin_or_owner"
+      "os_compute_api:os-simple-tenant-usage:list": "rule:admin_api"
+      "os_compute_api:os-simple-tenant-usage:show": "rule:admin_or_owner"
+      "os_compute_api:os-suspend-server:resume": "rule:admin_or_owner"
+      "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:create": "rule:admin_or_owner"
+      "os_compute_api:os-volumes-attachments:delete": "rule:admin_or_owner"
+      "os_compute_api:os-volumes-attachments:index": "rule:admin_or_owner"
+      "os_compute_api:os-volumes-attachments:show": "rule:admin_or_owner"
+      "os_compute_api:os-volumes-attachments:update": "rule:admin_api"
+      "os_compute_api:server-metadata:create": "rule:admin_or_owner"
+      "os_compute_api:server-metadata:delete": "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:update": "rule:admin_or_owner"
+      "os_compute_api:server-metadata:update_all": "rule:admin_or_owner"
+      "os_compute_api:servers:confirm_resize": "rule:admin_or_owner"
+      "os_compute_api:servers:create": "rule:admin_or_owner"
+      "os_compute_api:servers:create:attach_network": "rule:admin_or_owner"
+      "os_compute_api:servers:create:attach_volume": "rule:admin_or_owner"
+      "os_compute_api:servers:create:forced_host": "rule:admin_api"
+      "os_compute_api:servers:create:zero_disk_flavor": "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:delete": "rule:admin_or_owner"
+      "os_compute_api:servers:detail": "rule:admin_or_owner"
+      "os_compute_api:servers:detail:get_all_tenants": "rule:admin_api"
+      "os_compute_api:servers:index": "rule:admin_or_owner"
+      "os_compute_api:servers:index:get_all_tenants": "rule:admin_api"
+      "os_compute_api:servers:migrations:delete": "rule:admin_api"
+      "os_compute_api:servers:migrations:force_complete": "rule:admin_api"
+      "os_compute_api:servers:migrations:index": "rule:admin_api"
+      "os_compute_api:servers:migrations:show": "rule:admin_api"
+      "os_compute_api:servers:reboot": "rule:admin_or_owner"
+      "os_compute_api:servers:rebuild": "rule:admin_or_owner"
+      "os_compute_api:servers:resize": "rule:admin_or_owner"
+      "os_compute_api:servers:revert_resize": "rule:admin_or_owner"
+      "os_compute_api:servers:show": "rule:admin_or_owner"
+      "os_compute_api:servers:show:host_status": "rule:admin_api"
+      "os_compute_api:servers:start": "rule:admin_or_owner"
+      "os_compute_api:servers:stop": "rule:admin_or_owner"
+      "os_compute_api:servers:trigger_crash_dump": "rule:admin_or_owner"
+      "os_compute_api:servers:update": "rule:admin_or_owner"
+    nova_default_policy_queens:
+      << : *nova_default_policy_pike
+      "os_compute_api:os-flavor-manage:update": "rule:admin_api"
+    octavia_default_policy_ocata: {}
+    octavia_default_policy_pike: &octavia_default_policy_pike
+      "context_is_admin": "role:admin or role:load-balancer_admin"
+      "load-balancer:owner": "project_id:%(project_id)s"
+      "load-balancer:observer_and_owner": "role:load-balancer_observer and rule:load-balancer:owner"
+      "load-balancer:global_observer": "role:load-balancer_global_observer"
+      "load-balancer:member_and_owner": "role:load-balancer_member and rule:load-balancer:owner"
+      "load-balancer:read": "rule:load-balancer:observer_and_owner or rule:load-balancer:global_observer or rule:load-balancer:member_and_owner or is_admin:True"
+      "load-balancer:read-global": "rule:load-balancer:global_observer or is_admin:True"
+      "load-balancer:write": "rule:load-balancer:member_and_owner or is_admin:True"
+      "load-balancer:read-quota": "rule:load-balancer:observer_and_owner or rule:load-balancer:global_observer or rule:load-balancer:member_and_owner or role:load-balancer_quota_admin or is_admin:True"
+      "load-balancer:read-quota-global": "rule:load-balancer:global_observer or role:load-balancer_quota_admin or is_admin:True"
+      "load-balancer:write-quota": "role:load-balancer_quota_admin or is_admin:True"
+      "os_load-balancer_api:healthmonitor:get_all": "rule:load-balancer:read"
+      "os_load-balancer_api:healthmonitor:get_all-global": "rule:load-balancer:read-global"
+      "os_load-balancer_api:healthmonitor:post": "rule:load-balancer:write"
+      "os_load-balancer_api:healthmonitor:get_one": "rule:load-balancer:read"
+      "os_load-balancer_api:healthmonitor:put": "rule:load-balancer:write"
+      "os_load-balancer_api:healthmonitor:delete": "rule:load-balancer:write"
+      "os_load-balancer_api:l7policy:get_all": "rule:load-balancer:read"
+      "os_load-balancer_api:l7policy:get_all-global": "rule:load-balancer:read-global"
+      "os_load-balancer_api:l7policy:post": "rule:load-balancer:write"
+      "os_load-balancer_api:l7policy:get_one": "rule:load-balancer:read"
+      "os_load-balancer_api:l7policy:put": "rule:load-balancer:write"
+      "os_load-balancer_api:l7policy:delete": "rule:load-balancer:write"
+      "os_load-balancer_api:l7rule:get_all": "rule:load-balancer:read"
+      "os_load-balancer_api:l7rule:post": "rule:load-balancer:write"
+      "os_load-balancer_api:l7rule:get_one": "rule:load-balancer:read"
+      "os_load-balancer_api:l7rule:put": "rule:load-balancer:write"
+      "os_load-balancer_api:l7rule:delete": "rule:load-balancer:write"
+      "os_load-balancer_api:listener:get_all": "rule:load-balancer:read"
+      "os_load-balancer_api:listener:get_all-global": "rule:load-balancer:read-global"
+      "os_load-balancer_api:listener:post": "rule:load-balancer:write"
+      "os_load-balancer_api:listener:get_one": "rule:load-balancer:read"
+      "os_load-balancer_api:listener:put": "rule:load-balancer:write"
+      "os_load-balancer_api:listener:delete": "rule:load-balancer:write"
+      "os_load-balancer_api:listener:get_stats": "rule:load-balancer:read"
+      "os_load-balancer_api:loadbalancer:get_all": "rule:load-balancer:read"
+      "os_load-balancer_api:loadbalancer:get_all-global": "rule:load-balancer:read-global"
+      "os_load-balancer_api:loadbalancer:post": "rule:load-balancer:write"
+      "os_load-balancer_api:loadbalancer:get_one": "rule:load-balancer:read"
+      "os_load-balancer_api:loadbalancer:put": "rule:load-balancer:write"
+      "os_load-balancer_api:loadbalancer:delete": "rule:load-balancer:write"
+      "os_load-balancer_api:loadbalancer:get_stats": "rule:load-balancer:read"
+      "os_load-balancer_api:loadbalancer:get_status": "rule:load-balancer:read"
+      "os_load-balancer_api:member:get_all": "rule:load-balancer:read"
+      "os_load-balancer_api:member:post": "rule:load-balancer:write"
+      "os_load-balancer_api:member:get_one": "rule:load-balancer:read"
+      "os_load-balancer_api:member:put": "rule:load-balancer:write"
+      "os_load-balancer_api:member:delete": "rule:load-balancer:write"
+      "os_load-balancer_api:pool:get_all": "rule:load-balancer:read"
+      "os_load-balancer_api:pool:get_all-global": "rule:load-balancer:read-global"
+      "os_load-balancer_api:pool:post": "rule:load-balancer:write"
+      "os_load-balancer_api:pool:get_one": "rule:load-balancer:read"
+      "os_load-balancer_api:pool:put": "rule:load-balancer:write"
+      "os_load-balancer_api:pool:delete": "rule:load-balancer:write"
+      "os_load-balancer_api:quota:get_all": "rule:load-balancer:read-quota"
+      "os_load-balancer_api:quota:get_all-global": "rule:load-balancer:read-quota-global"
+      "os_load-balancer_api:quota:get_one": "rule:load-balancer:read-quota"
+      "os_load-balancer_api:quota:put": "rule:load-balancer:write-quota"
+      "os_load-balancer_api:quota:delete": "rule:load-balancer:write-quota"
+      "os_load-balancer_api:quota:get_defaults": "rule:load-balancer:read-quota"
+    octavia_default_policy_queens:
+      << : *octavia_default_policy_pike
+      "load-balancer:admin": "is_admin:True or role:admin or role:load-balancer_admin"
+      "load-balancer:read": "rule:load-balancer:observer_and_owner or rule:load-balancer:global_observer or rule:load-balancer:member_and_owner or rule:load-balancer:admin"
+      "load-balancer:read-global": "rule:load-balancer:global_observer or rule:load-balancer:admin"
+      "load-balancer:write": "rule:load-balancer:member_and_owner or rule:load-balancer:admin"
+      "load-balancer:read-quota": "rule:load-balancer:observer_and_owner or rule:load-balancer:global_observer or rule:load-balancer:member_and_owner or role:load-balancer_quota_admin or rule:load-balancer:admin"
+      "load-balancer:read-quota-global": "rule:load-balancer:global_observer or role:load-balancer_quota_admin or rule:load-balancer:admin"
+      "load-balancer:write-quota": "role:load-balancer_quota_admin or rule:load-balancer:admin"
+      "os_load-balancer_api:loadbalancer:put_failover": "rule:load-balancer:admin"
+    telemetry_default_policy_ocata: {}
+    telemetry_default_policy_pike:
+      "context_is_admin": "role:admin"
+      "segregation": "rule:context_is_admin"
+      "telemetry:compute_statistics": ""
+      "telemetry:create_samples": ""
+      "telemetry:get_meters": ""
+      "telemetry:get_resource": ""
+      "telemetry:get_resources": ""
+      "telemetry:get_sample": ""
+      "telemetry:get_samples": ""
+      "telemetry:query_sample": ""
+    telemetry_default_policy_queens: ${_param:telemetry_default_policy_pike}
diff --git a/defaults/openstack/policy/barbican.yml b/defaults/openstack/policy/barbican.yml
new file mode 100644
index 0000000..dc723af
--- /dev/null
+++ b/defaults/openstack/policy/barbican.yml
@@ -0,0 +1,6 @@
+classes:
+- system.defaults.openstack.policy.all
+parameters:
+  barbican:
+    server:
+      policy: ${_param:barbican_default_policy_${_param:openstack_version}}
diff --git a/defaults/openstack/policy/bgpvpn.yml b/defaults/openstack/policy/bgpvpn.yml
new file mode 100644
index 0000000..1693b60
--- /dev/null
+++ b/defaults/openstack/policy/bgpvpn.yml
@@ -0,0 +1,6 @@
+classes:
+- system.defaults.openstack.policy.all
+parameters:
+  neutron:
+    server:
+      bgpvpn_policy: ${_param:bgppvn_default_policy_${_param:openstack_version}}
diff --git a/defaults/openstack/policy/cinder.yml b/defaults/openstack/policy/cinder.yml
new file mode 100644
index 0000000..22b48a0
--- /dev/null
+++ b/defaults/openstack/policy/cinder.yml
@@ -0,0 +1,6 @@
+classes:
+- system.defaults.openstack.policy.all
+parameters:
+  cinder:
+    controller:
+      policy: ${_param:cinder_default_policy_${_param:openstack_version}}
diff --git a/defaults/openstack/policy/designate.yml b/defaults/openstack/policy/designate.yml
new file mode 100644
index 0000000..1a71709
--- /dev/null
+++ b/defaults/openstack/policy/designate.yml
@@ -0,0 +1,6 @@
+classes:
+- system.defaults.openstack.policy.all
+parameters:
+  designate:
+    server:
+      policy: ${_param:designate_default_policy_${_param:openstack_version}}
diff --git a/defaults/openstack/policy/glance.yml b/defaults/openstack/policy/glance.yml
new file mode 100644
index 0000000..e8d656c
--- /dev/null
+++ b/defaults/openstack/policy/glance.yml
@@ -0,0 +1,6 @@
+classes:
+- system.defaults.openstack.policy.all
+parameters:
+  glance:
+    server:
+      policy: ${_param:glance_default_policy_${_param:openstack_version}}
diff --git a/defaults/openstack/policy/heat.yml b/defaults/openstack/policy/heat.yml
new file mode 100644
index 0000000..926943a
--- /dev/null
+++ b/defaults/openstack/policy/heat.yml
@@ -0,0 +1,6 @@
+classes:
+- system.defaults.openstack.policy.all
+parameters:
+  heat:
+    server:
+      policy: ${_param:heat_default_policy_${_param:openstack_version}}
diff --git a/defaults/openstack/policy/horizon.yml b/defaults/openstack/policy/horizon.yml
new file mode 100644
index 0000000..fcca818
--- /dev/null
+++ b/defaults/openstack/policy/horizon.yml
@@ -0,0 +1,30 @@
+classes:
+- system.defaults.openstack.policy.all
+parameters:
+  horizon:
+    server:
+      policy:
+        compute:
+          source: pillar
+          pillar: ${_param:nova_default_policy_${_param:openstack_version}}
+          enabled: true
+        identity:
+          source: pillar
+          pillar: ${_param:keystone_default_policy_${_param:openstack_version}}
+          enabled: true
+        image:
+          source: pillar
+          pillar: ${_param:glance_default_policy_${_param:openstack_version}}
+          enabled: true
+        network:
+          source: pillar
+          pillar: ${_param:neutron_default_policy_${_param:openstack_version}}
+          enabled: true
+        orchestration:
+          source: pillar
+          pillar: ${_param:heat_default_policy_${_param:openstack_version}}
+          enabled: true
+        volume:
+          source: pillar
+          pillar: ${_param:cinder_default_policy_${_param:openstack_version}}
+          enabled: true
diff --git a/defaults/openstack/policy/init.yml b/defaults/openstack/policy/init.yml
new file mode 100644
index 0000000..c351ed4
--- /dev/null
+++ b/defaults/openstack/policy/init.yml
@@ -0,0 +1,13 @@
+classes:
+#- system.defaults.openstack.policy.barbican
+#- system.defaults.openstack.policy.bgpvpn
+- system.defaults.openstack.policy.cinder
+#- system.defaults.openstack.policy.designate
+- system.defaults.openstack.policy.glance
+- system.defaults.openstack.policy.heat
+- system.defaults.openstack.policy.keystone
+#- system.defaults.openstack.policy.manila
+- system.defaults.openstack.policy.neutron
+- system.defaults.openstack.policy.nova
+#- system.defaults.openstack.policy.octavia
+#- system.defaults.openstack.policy.telemetry
diff --git a/defaults/openstack/policy/keystone.yml b/defaults/openstack/policy/keystone.yml
new file mode 100644
index 0000000..0b0f9c2
--- /dev/null
+++ b/defaults/openstack/policy/keystone.yml
@@ -0,0 +1,6 @@
+classes:
+- system.defaults.openstack.policy.all
+parameters:
+  keystone:
+    server:
+      policy: ${_param:keystone_default_policy_${_param:openstack_version}}
diff --git a/defaults/openstack/policy/manila.yml b/defaults/openstack/policy/manila.yml
new file mode 100644
index 0000000..164603a
--- /dev/null
+++ b/defaults/openstack/policy/manila.yml
@@ -0,0 +1,6 @@
+classes:
+- system.defaults.openstack.policy.all
+parameters:
+  manila:
+    api:
+      policy: ${_param:manila_default_policy_${_param:openstack_version}}
diff --git a/defaults/openstack/policy/neutron.yml b/defaults/openstack/policy/neutron.yml
new file mode 100644
index 0000000..8b7d2ec
--- /dev/null
+++ b/defaults/openstack/policy/neutron.yml
@@ -0,0 +1,6 @@
+classes:
+- system.defaults.openstack.policy.all
+parameters:
+  neutron:
+    server:
+      policy: ${_param:neutron_default_policy_${_param:openstack_version}}
diff --git a/defaults/openstack/policy/nova.yml b/defaults/openstack/policy/nova.yml
new file mode 100644
index 0000000..1b81f53
--- /dev/null
+++ b/defaults/openstack/policy/nova.yml
@@ -0,0 +1,6 @@
+classes:
+- system.defaults.openstack.policy.all
+parameters:
+  nova:
+    controller:
+      policy: ${_param:nova_default_policy_${_param:openstack_version}}
diff --git a/defaults/openstack/policy/octavia.yml b/defaults/openstack/policy/octavia.yml
new file mode 100644
index 0000000..8d9cbaa
--- /dev/null
+++ b/defaults/openstack/policy/octavia.yml
@@ -0,0 +1,6 @@
+classes:
+- system.defaults.openstack.policy.all
+parameters:
+  octavia:
+    api:
+      policy: ${_param:octavia_default_policy_${_param:openstack_version}}
diff --git a/defaults/openstack/policy/telemetry.yml b/defaults/openstack/policy/telemetry.yml
new file mode 100644
index 0000000..d97b541
--- /dev/null
+++ b/defaults/openstack/policy/telemetry.yml
@@ -0,0 +1,6 @@
+classes:
+- system.defaults.openstack.policy.all
+parameters:
+  ceilometer:
+    server:
+      policy: ${_param:telemetry_default_policy_${_param:openstack_version}}
diff --git a/horizon/server/plugin/designate.yml b/horizon/server/plugin/designate.yml
index 8fc7833..b170573 100644
--- a/horizon/server/plugin/designate.yml
+++ b/horizon/server/plugin/designate.yml
@@ -1,3 +1,5 @@
+classes:
+- system.defaults.openstack.policy.all
 parameters:
   horizon:
     server:
@@ -9,8 +11,5 @@
       policy:
         dns:
           enabled: true
-          source: 'mine'
-          target_type: 'compound'
-          host: 'I@designate:server:role:primary'
-          grain_name: ${_param:horizon_dashboard_designate_grain}
-          name: ${_param:horizon_dashboard_designate_file}
\ No newline at end of file
+          source: pillar
+          pillar: ${_param:designate_default_policy_${_param:openstack_version}}
diff --git a/horizon/server/plugin/heat.yml b/horizon/server/plugin/heat.yml
index 909da66..6a1bcb0 100644
--- a/horizon/server/plugin/heat.yml
+++ b/horizon/server/plugin/heat.yml
@@ -1,3 +1,5 @@
+classes:
+- system.defaults.openstack.policy.all
 parameters:
   horizon:
     server:
@@ -8,6 +10,6 @@
             name: python-heat-dashboard
       policy:
         orchestration:
+          source: pillar
+          pillar: ${_param:heat_default_policy_${_param:openstack_version}}
           enabled: true
-          name: heat_policy.json
-          source: file
diff --git a/horizon/server/plugin/manila.yml b/horizon/server/plugin/manila.yml
index ec00da6..94fb4b8 100644
--- a/horizon/server/plugin/manila.yml
+++ b/horizon/server/plugin/manila.yml
@@ -1,3 +1,5 @@
+classes:
+- system.defaults.openstack.policy.all
 parameters:
   horizon:
     server:
@@ -8,10 +10,10 @@
             name: python-manila-ui
       policy:
         share:
-          source: file
-          name: manila_policy.json
           enabled: true
+          source: pillar
+          pillar: ${_param:manila_default_policy_${_param:openstack_version}}
         sharev2:
-          source: file
-          name: manila_policy.json
           enabled: true
+          source: pillar
+          pillar: ${_param:manila_default_policy_${_param:openstack_version}}
diff --git a/horizon/server/plugin/neutron_bgpvpn.yml b/horizon/server/plugin/neutron_bgpvpn.yml
index 7ad75ff..69dd4be 100644
--- a/horizon/server/plugin/neutron_bgpvpn.yml
+++ b/horizon/server/plugin/neutron_bgpvpn.yml
@@ -1,3 +1,5 @@
+classes:
+- system.defaults.openstack.policy.all
 parameters:
   horizon:
     server:
@@ -6,3 +8,8 @@
           source:
             engine: pkg
             name: python-networking-bgpvpn
+      policy:
+        bgpvpn:
+          enabled: true
+          source: pillar
+          pillar: ${_param:bgpvpn_default_policy_${_param:openstack_version}}
diff --git a/horizon/server/plugin/octavia.yml b/horizon/server/plugin/octavia.yml
index 576fd5b..b029b31 100644
--- a/horizon/server/plugin/octavia.yml
+++ b/horizon/server/plugin/octavia.yml
@@ -1,3 +1,5 @@
+classes:
+- system.defaults.openstack.policy.all
 parameters:
   horizon:
     server:
@@ -9,6 +11,5 @@
       policy:
         octavia:
           enabled: true
-          name: octavia_policy.json
-          source: file
-
+          source: pillar
+          pillar: ${_param:octavia_default_policy_${_param:openstack_version}}
diff --git a/horizon/server/plugin/telemetry.yml b/horizon/server/plugin/telemetry.yml
index a944111..8f62b0e 100644
--- a/horizon/server/plugin/telemetry.yml
+++ b/horizon/server/plugin/telemetry.yml
@@ -1,3 +1,5 @@
+classes:
+- system.defaults.openstack.policy.all
 parameters:
   _param:
     horizon_telemetry_engine: graphite
@@ -19,3 +21,8 @@
         horizon_overrides:
           overrides:
           - horizon_telemetry
+      policy:
+        telemetry:
+          enabled: true
+          source: pillar
+          pillar: ${_param:telemetry_default_policy_${_param:openstack_version}}