aboutsummaryrefslogtreecommitdiffstats
path: root/tools/policies
diff options
context:
space:
mode:
Diffstat (limited to 'tools/policies')
-rw-r--r--tools/policies/generate_opst_policy.py167
-rw-r--r--tools/policies/policy.json.d/cinder.policy.json104
-rw-r--r--tools/policies/policy.json.d/glance.policy.json63
-rw-r--r--tools/policies/policy.json.d/keystone.policy.json260
-rw-r--r--tools/policies/policy.json.d/neutron.policy.json235
-rw-r--r--tools/policies/policy.json.d/nova.policy.json485
6 files changed, 0 insertions, 1314 deletions
diff --git a/tools/policies/generate_opst_policy.py b/tools/policies/generate_opst_policy.py
deleted file mode 100644
index dd01d1c1..00000000
--- a/tools/policies/generate_opst_policy.py
+++ /dev/null
@@ -1,167 +0,0 @@
-import json
-import os
-import logging
-import argparse
-
-
-FILES = [
- "cinder.policy.json",
- "glance.policy.json",
- "keystone.policy.json",
- "neutron.policy.json",
- "nova.policy.json",
-]
-policy = {
- "pdps": [{
- "name": "external_pdp",
- "keystone_project_id": "",
- "description": "",
- "policies": [{"name": "OpenStack RBAC Policy"}]}
- ],
-
- "policies": [{
- "name": "OpenStack RBAC Policy",
- "genre": "authz",
- "description": "A RBAC policy similar of what you can find through policy.json files",
- "model": {"name": "OPST_RBAC"}, "mandatory": True, "override": True}
- ],
-
- "models": [{"name": "OPST_RBAC", "description": "", "meta_rules": [{"name": "rbac"}], "override": True}],
-
- "subjects": [
- {"name": "admin", "description": "", "extra": {}, "policies": [{"name": "OpenStack RBAC Policy"}]},
- {"name": "demo", "description": "", "extra": {}, "policies": [{"name": "OpenStack RBAC Policy"}]}
- ],
-
- "subject_categories": [{"name": "role", "description": "a role in OpenStack"}],
-
- "subject_data": [
- {"name": "admin", "description": "the admin role", "policies": [], "category": {"name": "role"}},
- {"name": "member", "description": "the member role", "policies": [], "category": {"name": "role"}}
- ],
-
- "subject_assignments": [
- {"subject": {"name": "admin"}, "category": {"name": "role"}, "assignments": [{"name": "admin"}, {"name": "member"}]},
- {"subject": {"name": "demo"}, "category": {"name": "role"}, "assignments": [{"name": "member"}]}
- ],
-
- "objects": [],
-
- "object_categories": [{"name": "id", "description": "the UID of each virtual machine"}],
-
- "object_data": [
- {
- "name": "all_vm",
- "description": "represents all virtual machines in this project",
- "policies": [],
- "category": {"name": "id"}},
- ],
-
- "object_assignments": [],
-
- "actions": [],
-
- "action_categories": [{"name": "action_id", "description": ""}],
-
- "action_data": [],
-
- "action_assignments": [],
-
- "meta_rules": [
- {
- "name": "rbac", "description": "",
- "subject_categories": [{"name": "role"}],
- "object_categories": [{"name": "id"}],
- "action_categories": [{"name": "action_id"}]
- }
- ],
-
- "rules": [],
-
-}
-logger = logging.getLogger(__name__)
-
-
-def init():
- parser = argparse.ArgumentParser()
- parser.add_argument("--verbose", '-v', action='store_true', help='verbose mode')
- parser.add_argument("--debug", '-d', action='store_true', help='debug mode')
- parser.add_argument("--dir", help='directory containing policy files', default="./policy.json.d")
- parser.add_argument("--indent", '-i', help='indent the output (default:None)', type=int, default=None)
- parser.add_argument("--output", '-o', help='output name', type=str, default="opst_default_policy.json")
- args = parser.parse_args()
- logging_format = "%(levelname)s: %(message)s"
- if args.verbose:
- logging.basicConfig(level=logging.INFO, format=logging_format)
- if args.debug:
- logging.basicConfig(level=logging.DEBUG, format=logging_format)
- else:
- logging.basicConfig(format=logging_format)
- return args
-
-
-def get_rules(args):
- results = {}
- for f in FILES:
- _json_file = json.loads(open(os.path.join(args.dir, f)).read())
- keys = list(_json_file.keys())
- values = list(_json_file.values())
- for value in values:
- if value in keys:
- keys.remove(value)
- component = os.path.basename(f).split(".")[0]
- results[component] = keys
- return results
-
-
-def build_dict(results):
- for key in results:
- for rule in results[key]:
- _output = {
- "name": rule,
- "description": "{} action for {}".format(rule, key),
- "extra": {"component": key},
- "policies": []
- }
- policy['actions'].append(_output)
- _output = {
- "name": rule,
- "description": "{} action for {}".format(rule, key),
- "policies": [],
- "category": {"name": "action_id"}
- }
- policy['action_data'].append(_output)
- _output = {
- "action": {"name": rule},
- "category": {"name": "action_id"},
- "assignments": [{"name": rule}, ]}
- policy['action_assignments'].append(_output)
- _output = {
- "meta_rule": {"name": "rbac"},
- "rule": {
- "subject_data": [{"name": "admin"}],
- "object_data": [{"name": "all_vm"}],
- "action_data": [{"name": rule}]
- },
- "policy": {"name": "OpenStack RBAC Policy"},
- "instructions": {"decision": "grant"},
- "enabled": True
- }
- policy['rules'].append(_output)
- # TODO: add rules for member only
- # TODO: add rules for everyone
-
-
-def write_dict(args):
- json.dump(policy, open(args.output, "w"), indent=args.indent)
-
-
-def main():
- args = init()
- rules = get_rules(args)
- build_dict(rules)
- write_dict(args)
-
-
-if __name__ == "__main__":
- main() \ No newline at end of file
diff --git a/tools/policies/policy.json.d/cinder.policy.json b/tools/policies/policy.json.d/cinder.policy.json
deleted file mode 100644
index 02af88bd..00000000
--- a/tools/policies/policy.json.d/cinder.policy.json
+++ /dev/null
@@ -1,104 +0,0 @@
-{
- "context_is_admin": "role:admin",
- "admin_or_owner": "is_admin:True or project_id:%(project_id)s",
- "default": "rule:admin_or_owner",
-
- "admin_api": "is_admin:True",
-
- "volume:create": "",
- "volume:delete": "rule:admin_or_owner",
- "volume:get": "rule:admin_or_owner",
- "volume:get_all": "rule:admin_or_owner",
- "volume:get_volume_metadata": "rule:admin_or_owner",
- "volume:delete_volume_metadata": "rule:admin_or_owner",
- "volume:update_volume_metadata": "rule:admin_or_owner",
- "volume:get_volume_admin_metadata": "rule:admin_api",
- "volume:update_volume_admin_metadata": "rule:admin_api",
- "volume:get_snapshot": "rule:admin_or_owner",
- "volume:get_all_snapshots": "rule:admin_or_owner",
- "volume:create_snapshot": "rule:admin_or_owner",
- "volume:delete_snapshot": "rule:admin_or_owner",
- "volume:update_snapshot": "rule:admin_or_owner",
- "volume:extend": "rule:admin_or_owner",
- "volume:update_readonly_flag": "rule:admin_or_owner",
- "volume:retype": "rule:admin_or_owner",
- "volume:update": "rule:admin_or_owner",
-
- "volume_extension:types_manage": "rule:admin_api",
- "volume_extension:types_extra_specs": "rule:admin_api",
- "volume_extension:access_types_qos_specs_id": "rule:admin_api",
- "volume_extension:access_types_extra_specs": "rule:admin_api",
- "volume_extension:volume_type_access": "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_encryption": "rule:admin_api",
- "volume_extension:volume_encryption_metadata": "rule:admin_or_owner",
- "volume_extension:extended_snapshot_attributes": "rule:admin_or_owner",
- "volume_extension:volume_image_metadata": "rule:admin_or_owner",
-
- "volume_extension:quotas:show": "",
- "volume_extension:quotas:update": "rule:admin_api",
- "volume_extension:quotas:delete": "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:volume_admin_actions:reset_status": "rule:admin_api",
- "volume_extension:snapshot_admin_actions:reset_status": "rule:admin_api",
- "volume_extension:backup_admin_actions:reset_status": "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:snapshot_admin_actions:force_delete": "rule:admin_api",
- "volume_extension:backup_admin_actions:force_delete": "rule:admin_api",
- "volume_extension:volume_admin_actions:migrate_volume": "rule:admin_api",
- "volume_extension:volume_admin_actions:migrate_volume_completion": "rule:admin_api",
-
- "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:hosts": "rule:admin_api",
- "volume_extension:services:index": "rule:admin_api",
- "volume_extension:services:update" : "rule:admin_api",
-
- "volume_extension:volume_manage": "rule:admin_api",
- "volume_extension:volume_unmanage": "rule:admin_api",
-
- "volume_extension:capabilities": "rule:admin_api",
-
- "volume:create_transfer": "rule:admin_or_owner",
- "volume:accept_transfer": "",
- "volume:delete_transfer": "rule:admin_or_owner",
- "volume:get_all_transfers": "rule:admin_or_owner",
-
- "volume_extension:replication:promote": "rule:admin_api",
- "volume_extension:replication:reenable": "rule:admin_api",
-
- "volume:enable_replication": "rule:admin_api",
- "volume:disable_replication": "rule:admin_api",
- "volume:failover_replication": "rule:admin_api",
- "volume:list_replication_targets": "rule:admin_api",
-
- "backup:create" : "",
- "backup:delete": "rule:admin_or_owner",
- "backup:get": "rule:admin_or_owner",
- "backup:get_all": "rule:admin_or_owner",
- "backup:restore": "rule:admin_or_owner",
- "backup:backup-import": "rule:admin_api",
- "backup:backup-export": "rule:admin_api",
-
- "snapshot_extension:snapshot_actions:update_snapshot_status": "",
- "snapshot_extension:snapshot_manage": "rule:admin_api",
- "snapshot_extension:snapshot_unmanage": "rule:admin_api",
-
- "consistencygroup:create" : "group:nobody",
- "consistencygroup:delete": "group:nobody",
- "consistencygroup:update": "group:nobody",
- "consistencygroup:get": "group:nobody",
- "consistencygroup:get_all": "group:nobody",
-
- "consistencygroup:create_cgsnapshot" : "group:nobody",
- "consistencygroup:delete_cgsnapshot": "group:nobody",
- "consistencygroup:get_cgsnapshot": "group:nobody",
- "consistencygroup:get_all_cgsnapshots": "group:nobody",
-
- "scheduler_extension:scheduler_stats:get_pools" : "rule:admin_api"
-}
diff --git a/tools/policies/policy.json.d/glance.policy.json b/tools/policies/policy.json.d/glance.policy.json
deleted file mode 100644
index 5b1f6be7..00000000
--- a/tools/policies/policy.json.d/glance.policy.json
+++ /dev/null
@@ -1,63 +0,0 @@
-{
- "context_is_admin": "role:admin",
- "default": "role:admin",
-
- "add_image": "",
- "delete_image": "",
- "get_image": "",
- "get_images": "",
- "modify_image": "",
- "publicize_image": "role:admin",
- "communitize_image": "",
- "copy_from": "",
-
- "download_image": "",
- "upload_image": "",
-
- "delete_image_location": "",
- "get_image_location": "",
- "set_image_location": "",
-
- "add_member": "",
- "delete_member": "",
- "get_member": "",
- "get_members": "",
- "modify_member": "",
-
- "manage_image_cache": "role:admin",
-
- "get_task": "",
- "get_tasks": "",
- "add_task": "",
- "modify_task": "",
- "tasks_api_access": "role:admin",
-
- "deactivate": "",
- "reactivate": "",
-
- "get_metadef_namespace": "",
- "get_metadef_namespaces":"",
- "modify_metadef_namespace":"",
- "add_metadef_namespace":"",
-
- "get_metadef_object":"",
- "get_metadef_objects":"",
- "modify_metadef_object":"",
- "add_metadef_object":"",
-
- "list_metadef_resource_types":"",
- "get_metadef_resource_type":"",
- "add_metadef_resource_type_association":"",
-
- "get_metadef_property":"",
- "get_metadef_properties":"",
- "modify_metadef_property":"",
- "add_metadef_property":"",
-
- "get_metadef_tag":"",
- "get_metadef_tags":"",
- "modify_metadef_tag":"",
- "add_metadef_tag":"",
- "add_metadef_tags":""
-
-}
diff --git a/tools/policies/policy.json.d/keystone.policy.json b/tools/policies/policy.json.d/keystone.policy.json
deleted file mode 100644
index 263912bf..00000000
--- a/tools/policies/policy.json.d/keystone.policy.json
+++ /dev/null
@@ -1,260 +0,0 @@
-{
- "admin_required": "role:admin",
- "cloud_admin": "role:admin and (is_admin_project:True or domain_id:admin_domain_id)",
- "service_role": "role:service",
- "service_or_admin": "rule:admin_required or rule:service_role",
- "owner": "user_id:%(user_id)s or user_id:%(target.token.user_id)s",
- "admin_or_owner": "(rule:admin_required and domain_id:%(target.token.user.domain.id)s) or rule:owner",
- "admin_and_matching_domain_id": "rule:admin_required and domain_id:%(domain_id)s",
- "service_admin_or_owner": "rule:service_or_admin or rule:owner",
-
- "default": "rule:admin_required",
-
- "identity:get_region": "",
- "identity:list_regions": "",
- "identity:create_region": "rule:cloud_admin",
- "identity:update_region": "rule:cloud_admin",
- "identity:delete_region": "rule:cloud_admin",
-
- "identity:get_service": "rule:admin_required",
- "identity:list_services": "rule:admin_required",
- "identity:create_service": "rule:cloud_admin",
- "identity:update_service": "rule:cloud_admin",
- "identity:delete_service": "rule:cloud_admin",
-
- "identity:get_endpoint": "rule:admin_required",
- "identity:list_endpoints": "rule:admin_required",
- "identity:create_endpoint": "rule:cloud_admin",
- "identity:update_endpoint": "rule:cloud_admin",
- "identity:delete_endpoint": "rule:cloud_admin",
-
- "identity:get_registered_limit": "",
- "identity:list_registered_limits": "",
- "identity:create_registered_limits": "rule:admin_required",
- "identity:update_registered_limits": "rule:admin_required",
- "identity:delete_registered_limit": "rule:admin_required",
-
- "identity:get_limit": "",
- "identity:list_limits": "",
- "identity:create_limits": "rule:admin_required",
- "identity:update_limits": "rule:admin_required",
- "identity:delete_limit": "rule:admin_required",
-
- "identity:get_domain": "rule:cloud_admin or rule:admin_and_matching_domain_id or token.project.domain.id:%(target.domain.id)s",
- "identity:list_domains": "rule:cloud_admin",
- "identity:create_domain": "rule:cloud_admin",
- "identity:update_domain": "rule:cloud_admin",
- "identity:delete_domain": "rule:cloud_admin",
-
- "admin_and_matching_target_project_domain_id": "rule:admin_required and domain_id:%(target.project.domain_id)s",
- "admin_and_matching_project_domain_id": "rule:admin_required and domain_id:%(project.domain_id)s",
- "identity:get_project": "rule:cloud_admin or rule:admin_and_matching_target_project_domain_id or project_id:%(target.project.id)s",
- "identity:list_projects": "rule:cloud_admin or rule:admin_and_matching_domain_id",
- "identity:list_user_projects": "rule:owner or rule:admin_and_matching_domain_id",
- "identity:create_project": "rule:cloud_admin or rule:admin_and_matching_project_domain_id",
- "identity:update_project": "rule:cloud_admin or rule:admin_and_matching_target_project_domain_id",
- "identity:delete_project": "rule:cloud_admin or rule:admin_and_matching_target_project_domain_id",
- "identity:create_project_tag": "rule:admin_required",
- "identity:delete_project_tag": "rule:admin_required",
- "identity:get_project_tag": "rule:admin_required",
- "identity:list_project_tags": "rule:admin_required",
- "identity:delete_project_tags": "rule:admin_required",
- "identity:update_project_tags": "rule:admin_required",
-
- "admin_and_matching_target_user_domain_id": "rule:admin_required and domain_id:%(target.user.domain_id)s",
- "admin_and_matching_user_domain_id": "rule:admin_required and domain_id:%(user.domain_id)s",
- "identity:get_user": "rule:cloud_admin or rule:admin_and_matching_target_user_domain_id or rule:owner",
- "identity:list_users": "rule:cloud_admin or rule:admin_and_matching_domain_id",
- "identity:create_user": "rule:cloud_admin or rule:admin_and_matching_user_domain_id",
- "identity:update_user": "rule:cloud_admin or rule:admin_and_matching_target_user_domain_id",
- "identity:delete_user": "rule:cloud_admin or rule:admin_and_matching_target_user_domain_id",
-
- "admin_and_matching_target_group_domain_id": "rule:admin_required and domain_id:%(target.group.domain_id)s",
- "admin_and_matching_group_domain_id": "rule:admin_required and domain_id:%(group.domain_id)s",
- "identity:get_group": "rule:cloud_admin or rule:admin_and_matching_target_group_domain_id",
- "identity:list_groups": "rule:cloud_admin or rule:admin_and_matching_domain_id",
- "identity:list_groups_for_user": "rule:owner or rule:admin_and_matching_target_user_domain_id",
- "identity:create_group": "rule:cloud_admin or rule:admin_and_matching_group_domain_id",
- "identity:update_group": "rule:cloud_admin or rule:admin_and_matching_target_group_domain_id",
- "identity:delete_group": "rule:cloud_admin or rule:admin_and_matching_target_group_domain_id",
- "identity:list_users_in_group": "rule:cloud_admin or rule:admin_and_matching_target_group_domain_id",
- "identity:remove_user_from_group": "rule:cloud_admin or rule:admin_and_matching_target_group_domain_id",
- "identity:check_user_in_group": "rule:cloud_admin or rule:admin_and_matching_target_group_domain_id",
- "identity:add_user_to_group": "rule:cloud_admin or rule:admin_and_matching_target_group_domain_id",
-
- "identity:get_credential": "rule:admin_required",
- "identity:list_credentials": "rule:admin_required or user_id:%(user_id)s",
- "identity:create_credential": "rule:admin_required",
- "identity:update_credential": "rule:admin_required",
- "identity:delete_credential": "rule:admin_required",
-
- "identity:ec2_get_credential": "rule:admin_required or (rule:owner and user_id:%(target.credential.user_id)s)",
- "identity:ec2_list_credentials": "rule:admin_required or rule:owner",
- "identity:ec2_create_credential": "rule:admin_required or rule:owner",
- "identity:ec2_delete_credential": "rule:admin_required or (rule:owner and user_id:%(target.credential.user_id)s)",
-
- "identity:get_role": "rule:admin_required",
- "identity:list_roles": "rule:admin_required",
- "identity:create_role": "rule:cloud_admin",
- "identity:update_role": "rule:cloud_admin",
- "identity:delete_role": "rule:cloud_admin",
-
- "identity:get_domain_role": "rule:cloud_admin or rule:get_domain_roles",
- "identity:list_domain_roles": "rule:cloud_admin or rule:list_domain_roles",
- "identity:create_domain_role": "rule:cloud_admin or rule:domain_admin_matches_domain_role",
- "identity:update_domain_role": "rule:cloud_admin or rule:domain_admin_matches_target_domain_role",
- "identity:delete_domain_role": "rule:cloud_admin or rule:domain_admin_matches_target_domain_role",
- "domain_admin_matches_domain_role": "rule:admin_required and domain_id:%(role.domain_id)s",
- "get_domain_roles": "rule:domain_admin_matches_target_domain_role or rule:project_admin_matches_target_domain_role",
- "domain_admin_matches_target_domain_role": "rule:admin_required and domain_id:%(target.role.domain_id)s",
- "project_admin_matches_target_domain_role": "rule:admin_required and project_domain_id:%(target.role.domain_id)s",
- "list_domain_roles": "rule:domain_admin_matches_filter_on_list_domain_roles or rule:project_admin_matches_filter_on_list_domain_roles",
- "domain_admin_matches_filter_on_list_domain_roles": "rule:admin_required and domain_id:%(domain_id)s",
- "project_admin_matches_filter_on_list_domain_roles": "rule:admin_required and project_domain_id:%(domain_id)s",
- "admin_and_matching_prior_role_domain_id": "rule:admin_required and domain_id:%(target.prior_role.domain_id)s",
- "implied_role_matches_prior_role_domain_or_global": "(domain_id:%(target.implied_role.domain_id)s or None:%(target.implied_role.domain_id)s)",
-
- "identity:get_implied_role": "rule:cloud_admin or rule:admin_and_matching_prior_role_domain_id",
- "identity:list_implied_roles": "rule:cloud_admin or rule:admin_and_matching_prior_role_domain_id",
- "identity:create_implied_role": "rule:cloud_admin or (rule:admin_and_matching_prior_role_domain_id and rule:implied_role_matches_prior_role_domain_or_global)",
- "identity:delete_implied_role": "rule:cloud_admin or rule:admin_and_matching_prior_role_domain_id",
- "identity:list_role_inference_rules": "rule:cloud_admin",
- "identity:check_implied_role": "rule:cloud_admin or rule:admin_and_matching_prior_role_domain_id",
-
- "identity:list_system_grants_for_user": "rule:admin_required",
- "identity:check_system_grant_for_user": "rule:admin_required",
- "identity:create_system_grant_for_user": "rule:admin_required",
- "identity:revoke_system_grant_for_user": "rule:admin_required",
-
- "identity:list_system_grants_for_group": "rule:admin_required",
- "identity:check_system_grant_for_group": "rule:admin_required",
- "identity:create_system_grant_for_group": "rule:admin_required",
- "identity:revoke_system_grant_for_group": "rule:admin_required",
-
- "identity:check_grant": "rule:cloud_admin or rule:domain_admin_for_grants or rule:project_admin_for_grants",
- "identity:list_grants": "rule:cloud_admin or rule:domain_admin_for_list_grants or rule:project_admin_for_list_grants",
- "identity:create_grant": "rule:cloud_admin or rule:domain_admin_for_grants or rule:project_admin_for_grants",
- "identity:revoke_grant": "rule:cloud_admin or rule:domain_admin_for_grants or rule:project_admin_for_grants",
- "domain_admin_for_grants": "rule:domain_admin_for_global_role_grants or rule:domain_admin_for_domain_role_grants",
- "domain_admin_for_global_role_grants": "rule:admin_required and None:%(target.role.domain_id)s and rule:domain_admin_grant_match",
- "domain_admin_for_domain_role_grants": "rule:admin_required and domain_id:%(target.role.domain_id)s and rule:domain_admin_grant_match",
- "domain_admin_grant_match": "domain_id:%(domain_id)s or domain_id:%(target.project.domain_id)s",
- "project_admin_for_grants": "rule:project_admin_for_global_role_grants or rule:project_admin_for_domain_role_grants",
- "project_admin_for_global_role_grants": "rule:admin_required and None:%(target.role.domain_id)s and project_id:%(project_id)s",
- "project_admin_for_domain_role_grants": "rule:admin_required and project_domain_id:%(target.role.domain_id)s and project_id:%(project_id)s",
- "domain_admin_for_list_grants": "rule:admin_required and rule:domain_admin_grant_match",
- "project_admin_for_list_grants": "rule:admin_required and project_id:%(project_id)s",
-
- "admin_on_domain_filter": "rule:admin_required and domain_id:%(scope.domain.id)s",
- "admin_on_project_filter": "rule:admin_required and project_id:%(scope.project.id)s",
- "admin_on_domain_of_project_filter": "rule:admin_required and domain_id:%(target.project.domain_id)s",
- "identity:list_role_assignments": "rule:cloud_admin or rule:admin_on_domain_filter or rule:admin_on_project_filter",
- "identity:list_role_assignments_for_tree": "rule:cloud_admin or rule:admin_on_domain_of_project_filter",
- "identity:get_policy": "rule:cloud_admin",
- "identity:list_policies": "rule:cloud_admin",
- "identity:create_policy": "rule:cloud_admin",
- "identity:update_policy": "rule:cloud_admin",
- "identity:delete_policy": "rule:cloud_admin",
-
- "identity:check_token": "rule:admin_or_owner",
- "identity:validate_token": "rule:service_admin_or_owner",
- "identity:validate_token_head": "rule:service_or_admin",
- "identity:revocation_list": "rule:service_or_admin",
- "identity:revoke_token": "rule:admin_or_owner",
-
- "identity:create_trust": "user_id:%(trust.trustor_user_id)s",
- "identity:list_trusts": "",
- "identity:list_roles_for_trust": "",
- "identity:get_role_for_trust": "",
- "identity:delete_trust": "",
- "identity:get_trust": "",
-
- "identity:create_consumer": "rule:admin_required",
- "identity:get_consumer": "rule:admin_required",
- "identity:list_consumers": "rule:admin_required",
- "identity:delete_consumer": "rule:admin_required",
- "identity:update_consumer": "rule:admin_required",
-
- "identity:authorize_request_token": "rule:admin_required",
- "identity:list_access_token_roles": "rule:admin_required",
- "identity:get_access_token_role": "rule:admin_required",
- "identity:list_access_tokens": "rule:admin_required",
- "identity:get_access_token": "rule:admin_required",
- "identity:delete_access_token": "rule:admin_required",
-
- "identity:list_projects_for_endpoint": "rule:admin_required",
- "identity:add_endpoint_to_project": "rule:admin_required",
- "identity:check_endpoint_in_project": "rule:admin_required",
- "identity:list_endpoints_for_project": "rule:admin_required",
- "identity:remove_endpoint_from_project": "rule:admin_required",
-
- "identity:create_endpoint_group": "rule:admin_required",
- "identity:list_endpoint_groups": "rule:admin_required",
- "identity:get_endpoint_group": "rule:admin_required",
- "identity:update_endpoint_group": "rule:admin_required",
- "identity:delete_endpoint_group": "rule:admin_required",
- "identity:list_projects_associated_with_endpoint_group": "rule:admin_required",
- "identity:list_endpoints_associated_with_endpoint_group": "rule:admin_required",
- "identity:get_endpoint_group_in_project": "rule:admin_required",
- "identity:list_endpoint_groups_for_project": "rule:admin_required",
- "identity:add_endpoint_group_to_project": "rule:admin_required",
- "identity:remove_endpoint_group_from_project": "rule:admin_required",
-
- "identity:create_identity_provider": "rule:cloud_admin",
- "identity:list_identity_providers": "rule:cloud_admin",
- "identity:get_identity_provider": "rule:cloud_admin",
- "identity:update_identity_provider": "rule:cloud_admin",
- "identity:delete_identity_provider": "rule:cloud_admin",
-
- "identity:create_protocol": "rule:cloud_admin",
- "identity:update_protocol": "rule:cloud_admin",
- "identity:get_protocol": "rule:cloud_admin",
- "identity:list_protocols": "rule:cloud_admin",
- "identity:delete_protocol": "rule:cloud_admin",
-
- "identity:create_mapping": "rule:cloud_admin",
- "identity:get_mapping": "rule:cloud_admin",
- "identity:list_mappings": "rule:cloud_admin",
- "identity:delete_mapping": "rule:cloud_admin",
- "identity:update_mapping": "rule:cloud_admin",
-
- "identity:create_service_provider": "rule:cloud_admin",
- "identity:list_service_providers": "rule:cloud_admin",
- "identity:get_service_provider": "rule:cloud_admin",
- "identity:update_service_provider": "rule:cloud_admin",
- "identity:delete_service_provider": "rule:cloud_admin",
-
- "identity:get_auth_catalog": "",
- "identity:get_auth_projects": "",
- "identity:get_auth_domains": "",
- "identity:get_auth_system": "",
-
- "identity:list_projects_for_user": "",
- "identity:list_domains_for_user": "",
-
- "identity:list_revoke_events": "rule:service_or_admin",
-
- "identity:create_policy_association_for_endpoint": "rule:cloud_admin",
- "identity:check_policy_association_for_endpoint": "rule:cloud_admin",
- "identity:delete_policy_association_for_endpoint": "rule:cloud_admin",
- "identity:create_policy_association_for_service": "rule:cloud_admin",
- "identity:check_policy_association_for_service": "rule:cloud_admin",
- "identity:delete_policy_association_for_service": "rule:cloud_admin",
- "identity:create_policy_association_for_region_and_service": "rule:cloud_admin",
- "identity:check_policy_association_for_region_and_service": "rule:cloud_admin",
- "identity:delete_policy_association_for_region_and_service": "rule:cloud_admin",
- "identity:get_policy_for_endpoint": "rule:cloud_admin",
- "identity:list_endpoints_for_policy": "rule:cloud_admin",
-
- "identity:create_domain_config": "rule:cloud_admin",
- "identity:get_domain_config": "rule:cloud_admin",
- "identity:get_security_compliance_domain_config": "",
- "identity:update_domain_config": "rule:cloud_admin",
- "identity:delete_domain_config": "rule:cloud_admin",
- "identity:get_domain_config_default": "rule:cloud_admin",
-
- "identity:get_application_credential": "rule:admin_or_owner",
- "identity:list_application_credentials": "rule:admin_or_owner",
- "identity:create_application_credential": "rule:admin_or_owner",
- "identity:delete_application_credential": "rule:admin_or_owner"
-}
diff --git a/tools/policies/policy.json.d/neutron.policy.json b/tools/policies/policy.json.d/neutron.policy.json
deleted file mode 100644
index 15f17203..00000000
--- a/tools/policies/policy.json.d/neutron.policy.json
+++ /dev/null
@@ -1,235 +0,0 @@
-{
- "context_is_admin": "role:admin or user_name:neutron",
- "owner": "tenant_id:%(tenant_id)s",
- "admin_or_owner": "rule:context_is_admin or rule:owner",
- "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": "",
- "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",
- "create_network:shared": "rule:admin_only",
- "create_network:router:external": "rule:admin_only",
- "create_network:is_default": "rule:admin_only",
- "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",
- "update_network": "rule:admin_or_owner",
- "update_network:segments": "rule:admin_only",
- "update_network:shared": "rule:admin_only",
- "update_network:provider:network_type": "rule:admin_only",
- "update_network:provider:physical_network": "rule:admin_only",
- "update_network:provider:segmentation_id": "rule:admin_only",
- "update_network:router:external": "rule:admin_only",
- "delete_network": "rule:admin_or_owner",
-
- "create_segment": "rule:admin_only",
- "get_segment": "rule:admin_only",
- "update_segment": "rule:admin_only",
- "delete_segment": "rule:admin_only",
-
- "network_device": "field:port:device_owner=~^network:",
- "create_port": "",
- "create_port:device_owner": "not rule:network_device or rule:context_is_advsvc or rule:admin_or_network_owner",
- "create_port:mac_address": "rule:context_is_advsvc or rule:admin_or_network_owner",
- "create_port:fixed_ips: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: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",
- "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: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: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": "http://192.168.1.50:31002/wrapper/authz/grant",
- "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_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",
- "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",
- "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",
-
- "restrict_wildcard": "(not field:rbac_policy:target_tenant=*) or rule:admin_only",
- "create_rbac_policy": "",
- "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_security_group": "rule:admin_or_owner",
- "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",
- "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"
-}
diff --git a/tools/policies/policy.json.d/nova.policy.json b/tools/policies/policy.json.d/nova.policy.json
deleted file mode 100644
index da8f5740..00000000
--- a/tools/policies/policy.json.d/nova.policy.json
+++ /dev/null
@@ -1,485 +0,0 @@
-{
- "context_is_admin": "role:admin",
- "admin_or_owner": "is_admin:True or project_id:%(project_id)s",
- "default": "rule:admin_or_owner",
-
- "cells_scheduler_filter:TargetCellFilter": "is_admin:True",
-
- "compute:create": "",
- "compute:create:attach_network": "",
- "compute:create:attach_volume": "",
- "compute:create:forced_host": "is_admin:True",
-
- "compute:get": "",
- "compute:get_all": "",
- "compute:get_all_tenants": "is_admin:True",
-
- "compute:update": "",
-
- "compute:get_instance_metadata": "",
- "compute:get_all_instance_metadata": "",
- "compute:get_all_instance_system_metadata": "",
- "compute:update_instance_metadata": "",
- "compute:delete_instance_metadata": "",
-
- "compute:get_instance_faults": "",
- "compute:get_diagnostics": "",
- "compute:get_instance_diagnostics": "",
-
- "compute:start": "rule:admin_or_owner",
- "compute:stop": "rule:admin_or_owner",
-
- "compute:get_lock": "",
- "compute:lock": "rule:admin_or_owner",
- "compute:unlock": "rule:admin_or_owner",
- "compute:unlock_override": "rule:admin_api",
-
- "compute:get_vnc_console": "",
- "compute:get_spice_console": "",
- "compute:get_rdp_console": "",
- "compute:get_serial_console": "",
- "compute:get_mks_console": "",
- "compute:get_console_output": "",
-
- "compute:reset_network": "",
- "compute:inject_network_info": "",
- "compute:add_fixed_ip": "",
- "compute:remove_fixed_ip": "",
-
- "compute:attach_volume": "",
- "compute:detach_volume": "",
- "compute:swap_volume": "",
-
- "compute:attach_interface": "",
- "compute:detach_interface": "",
-
- "compute:set_admin_password": "",
-
- "compute:rescue": "",
- "compute:unrescue": "",
-
- "compute:suspend": "",
- "compute:resume": "",
-
- "compute:pause": "",
- "compute:unpause": "",
-
- "compute:shelve": "",
- "compute:shelve_offload": "",
- "compute:unshelve": "",
-
- "compute:snapshot": "",
- "compute:snapshot_volume_backed": "",
- "compute:backup": "",
-
- "compute:resize": "",
- "compute:confirm_resize": "",
- "compute:revert_resize": "",
-
- "compute:rebuild": "",
- "compute:reboot": "",
- "compute:delete": "rule:admin_or_owner",
- "compute:soft_delete": "rule:admin_or_owner",
- "compute:force_delete": "rule:admin_or_owner",
-
- "compute:security_groups:add_to_instance": "",
- "compute:security_groups:remove_from_instance": "",
-
- "compute:restore": "",
-
- "compute:volume_snapshot_create": "",
- "compute:volume_snapshot_delete": "",
-
- "admin_api": "is_admin:True",
- "compute_extension:accounts": "rule:admin_api",
- "compute_extension:admin_actions": "rule:admin_api",
- "compute_extension:admin_actions:pause": "rule:admin_or_owner",
- "compute_extension:admin_actions:unpause": "rule:admin_or_owner",
- "compute_extension:admin_actions:suspend": "rule:admin_or_owner",
- "compute_extension:admin_actions:resume": "rule:admin_or_owner",
- "compute_extension:admin_actions:lock": "rule:admin_or_owner",
- "compute_extension:admin_actions:unlock": "rule:admin_or_owner",
- "compute_extension:admin_actions:resetNetwork": "rule:admin_api",
- "compute_extension:admin_actions:injectNetworkInfo": "rule:admin_api",
- "compute_extension:admin_actions:createBackup": "rule:admin_or_owner",
- "compute_extension:admin_actions:migrateLive": "rule:admin_api",
- "compute_extension:admin_actions:resetState": "rule:admin_api",
- "compute_extension:admin_actions:migrate": "rule:admin_api",
- "compute_extension:aggregates": "rule:admin_api",
- "compute_extension:agents": "rule:admin_api",
- "compute_extension:attach_interfaces": "",
- "compute_extension:baremetal_nodes": "rule:admin_api",
- "compute_extension:cells": "rule:admin_api",
- "compute_extension:cells:create": "rule:admin_api",
- "compute_extension:cells:delete": "rule:admin_api",
- "compute_extension:cells:update": "rule:admin_api",
- "compute_extension:cells:sync_instances": "rule:admin_api",
- "compute_extension:certificates": "",
- "compute_extension:cloudpipe": "rule:admin_api",
- "compute_extension:cloudpipe_update": "rule:admin_api",
- "compute_extension:config_drive": "",
- "compute_extension:console_output": "",
- "compute_extension:consoles": "",
- "compute_extension:createserverext": "",
- "compute_extension:deferred_delete": "",
- "compute_extension:disk_config": "",
- "compute_extension:evacuate": "rule:admin_api",
- "compute_extension:extended_server_attributes": "rule:admin_api",
- "compute_extension:extended_status": "",
- "compute_extension:extended_availability_zone": "",
- "compute_extension:extended_ips": "",
- "compute_extension:extended_ips_mac": "",
- "compute_extension:extended_vif_net": "",
- "compute_extension:extended_volumes": "",
- "compute_extension:fixed_ips": "rule:admin_api",
- "compute_extension:flavor_access": "",
- "compute_extension:flavor_access:addTenantAccess": "rule:admin_api",
- "compute_extension:flavor_access:removeTenantAccess": "rule:admin_api",
- "compute_extension:flavor_disabled": "",
- "compute_extension:flavor_rxtx": "",
- "compute_extension:flavor_swap": "",
- "compute_extension:flavorextradata": "",
- "compute_extension:flavorextraspecs:index": "",
- "compute_extension:flavorextraspecs:show": "",
- "compute_extension:flavorextraspecs:create": "rule:admin_api",
- "compute_extension:flavorextraspecs:update": "rule:admin_api",
- "compute_extension:flavorextraspecs:delete": "rule:admin_api",
- "compute_extension:flavormanage": "rule:admin_api",
- "compute_extension:floating_ip_dns": "",
- "compute_extension:floating_ip_pools": "",
- "compute_extension:floating_ips": "",
- "compute_extension:floating_ips_bulk": "rule:admin_api",
- "compute_extension:fping": "",
- "compute_extension:fping:all_tenants": "rule:admin_api",
- "compute_extension:hide_server_addresses": "is_admin:False",
- "compute_extension:hosts": "rule:admin_api",
- "compute_extension:hypervisors": "rule:admin_api",
- "compute_extension:image_size": "",
- "compute_extension:instance_actions": "",
- "compute_extension:instance_actions:events": "rule:admin_api",
- "compute_extension:instance_usage_audit_log": "rule:admin_api",
- "compute_extension:keypairs": "",
- "compute_extension:keypairs:index": "",
- "compute_extension:keypairs:show": "",
- "compute_extension:keypairs:create": "",
- "compute_extension:keypairs:delete": "",
- "compute_extension:multinic": "",
- "compute_extension:networks": "rule:admin_api",
- "compute_extension:networks:view": "",
- "compute_extension:networks_associate": "rule:admin_api",
- "compute_extension:os-tenant-networks": "",
- "compute_extension:quotas:show": "",
- "compute_extension:quotas:update": "rule:admin_api",
- "compute_extension:quotas:delete": "rule:admin_api",
- "compute_extension:quota_classes": "",
- "compute_extension:rescue": "",
- "compute_extension:security_group_default_rules": "rule:admin_api",
- "compute_extension:security_groups": "",
- "compute_extension:server_diagnostics": "rule:admin_api",
- "compute_extension:server_groups": "",
- "compute_extension:server_password": "",
- "compute_extension:server_usage": "",
- "compute_extension:services": "rule:admin_api",
- "compute_extension:shelve": "",
- "compute_extension:shelveOffload": "rule:admin_api",
- "compute_extension:simple_tenant_usage:show": "rule:admin_or_owner",
- "compute_extension:simple_tenant_usage:list": "rule:admin_api",
- "compute_extension:unshelve": "",
- "compute_extension:users": "rule:admin_api",
- "compute_extension:virtual_interfaces": "",
- "compute_extension:virtual_storage_arrays": "",
- "compute_extension:volumes": "",
- "compute_extension:volume_attachments:index": "",
- "compute_extension:volume_attachments:show": "",
- "compute_extension:volume_attachments:create": "",
- "compute_extension:volume_attachments:update": "",
- "compute_extension:volume_attachments:delete": "",
- "compute_extension:volumetypes": "",
- "compute_extension:availability_zone:list": "",
- "compute_extension:availability_zone:detail": "rule:admin_api",
- "compute_extension:used_limits_for_admin": "rule:admin_api",
- "compute_extension:migrations:index": "rule:admin_api",
- "compute_extension:os-assisted-volume-snapshots:create": "rule:admin_api",
- "compute_extension:os-assisted-volume-snapshots:delete": "rule:admin_api",
- "compute_extension:console_auth_tokens": "rule:admin_api",
- "compute_extension:os-server-external-events:create": "rule:admin_api",
-
- "network:get_all": "",
- "network:get": "",
- "network:create": "",
- "network:delete": "",
- "network:associate": "",
- "network:disassociate": "",
- "network:get_vifs_by_instance": "",
- "network:allocate_for_instance": "",
- "network:deallocate_for_instance": "",
- "network:validate_networks": "",
- "network:get_instance_uuids_by_ip_filter": "",
- "network:get_instance_id_by_floating_address": "",
- "network:setup_networks_on_host": "",
- "network:get_backdoor_port": "",
-
- "network:get_floating_ip": "",
- "network:get_floating_ip_pools": "",
- "network:get_floating_ip_by_address": "",
- "network:get_floating_ips_by_project": "",
- "network:get_floating_ips_by_fixed_address": "",
- "network:allocate_floating_ip": "",
- "network:associate_floating_ip": "",
- "network:disassociate_floating_ip": "",
- "network:release_floating_ip": "",
- "network:migrate_instance_start": "",
- "network:migrate_instance_finish": "",
-
- "network:get_fixed_ip": "",
- "network:get_fixed_ip_by_address": "",
- "network:add_fixed_ip_to_instance": "",
- "network:remove_fixed_ip_from_instance": "",
- "network:add_network_to_project": "",
- "network:get_instance_nw_info": "",
-
- "network:get_dns_domains": "",
- "network:add_dns_entry": "",
- "network:modify_dns_entry": "",
- "network:delete_dns_entry": "",
- "network:get_dns_entries_by_address": "",
- "network:get_dns_entries_by_name": "",
- "network:create_private_dns_domain": "",
- "network:create_public_dns_domain": "",
- "network:delete_dns_domain": "",
- "network:attach_external_network": "rule:admin_api",
- "network:get_vif_by_mac_address": "",
-
- "os_compute_api:servers:detail:get_all_tenants": "is_admin:True",
- "os_compute_api:servers:index:get_all_tenants": "is_admin:True",
- "os_compute_api:servers:confirm_resize": "",
- "os_compute_api:servers:create": "",
- "os_compute_api:servers:create:attach_network": "",
- "os_compute_api:servers:create:attach_volume": "",
- "os_compute_api:servers:create:forced_host": "rule:admin_api",
- "os_compute_api:servers:delete": "",
- "os_compute_api:servers:update": "",
- "os_compute_api:servers:detail": "",
- "os_compute_api:servers:index": "",
- "os_compute_api:servers:reboot": "",
- "os_compute_api:servers:rebuild": "",
- "os_compute_api:servers:resize": "",
- "os_compute_api:servers:revert_resize": "",
- "os_compute_api:servers:show": "",
- "os_compute_api:servers:create_image": "",
- "os_compute_api:servers:create_image:allow_volume_backed": "",
- "os_compute_api:servers:start": "rule:admin_or_owner",
- "os_compute_api:servers:stop": "rule:admin_or_owner",
- "os_compute_api:os-access-ips:discoverable": "",
- "os_compute_api:os-access-ips": "",
- "os_compute_api:os-admin-actions": "rule:admin_api",
- "os_compute_api:os-admin-actions:discoverable": "",
- "os_compute_api:os-admin-actions:reset_network": "rule:admin_api",
- "os_compute_api:os-admin-actions:inject_network_info": "rule:admin_api",
- "os_compute_api:os-admin-actions:reset_state": "rule:admin_api",
- "os_compute_api:os-admin-password": "",
- "os_compute_api:os-admin-password:discoverable": "",
- "os_compute_api:os-aggregates:discoverable": "",
- "os_compute_api:os-aggregates:index": "rule:admin_api",
- "os_compute_api:os-aggregates:create": "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-aggregates:delete": "rule:admin_api",
- "os_compute_api:os-aggregates:add_host": "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-agents": "rule:admin_api",
- "os_compute_api:os-agents:discoverable": "",
- "os_compute_api:os-attach-interfaces": "",
- "os_compute_api:os-attach-interfaces:discoverable": "",
- "os_compute_api:os-baremetal-nodes": "rule:admin_api",
- "os_compute_api:os-baremetal-nodes:discoverable": "",
- "os_compute_api:os-block-device-mapping-v1:discoverable": "",
- "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:update": "rule:admin_api",
- "os_compute_api:os-cells:sync_instances": "rule:admin_api",
- "os_compute_api:os-cells:discoverable": "",
- "os_compute_api:os-certificates:create": "",
- "os_compute_api:os-certificates:show": "",
- "os_compute_api:os-certificates:discoverable": "",
- "os_compute_api:os-cloudpipe": "rule:admin_api",
- "os_compute_api:os-cloudpipe:discoverable": "",
- "os_compute_api:os-config-drive": "",
- "os_compute_api:os-consoles:discoverable": "",
- "os_compute_api:os-consoles:create": "",
- "os_compute_api:os-consoles:delete": "",
- "os_compute_api:os-consoles:index": "",
- "os_compute_api:os-consoles:show": "",
- "os_compute_api:os-console-output:discoverable": "",
- "os_compute_api:os-console-output": "",
- "os_compute_api:os-remote-consoles": "",
- "os_compute_api:os-remote-consoles:discoverable": "",
- "os_compute_api:os-create-backup:discoverable": "",
- "os_compute_api:os-create-backup": "rule:admin_or_owner",
- "os_compute_api:os-deferred-delete": "",
- "os_compute_api:os-deferred-delete:discoverable": "",
- "os_compute_api:os-disk-config": "",
- "os_compute_api:os-disk-config:discoverable": "",
- "os_compute_api:os-evacuate": "rule:admin_api",
- "os_compute_api:os-evacuate:discoverable": "",
- "os_compute_api:os-extended-server-attributes": "rule:admin_api",
- "os_compute_api:os-extended-server-attributes:discoverable": "",
- "os_compute_api:os-extended-status": "",
- "os_compute_api:os-extended-status:discoverable": "",
- "os_compute_api:os-extended-availability-zone": "",
- "os_compute_api:os-extended-availability-zone:discoverable": "",
- "os_compute_api:extensions": "",
- "os_compute_api:extension_info:discoverable": "",
- "os_compute_api:os-extended-volumes": "",
- "os_compute_api:os-extended-volumes:discoverable": "",
- "os_compute_api:os-fixed-ips": "rule:admin_api",
- "os_compute_api:os-fixed-ips:discoverable": "",
- "os_compute_api:os-flavor-access": "",
- "os_compute_api:os-flavor-access:discoverable": "",
- "os_compute_api:os-flavor-access:remove_tenant_access": "rule:admin_api",
- "os_compute_api:os-flavor-access:add_tenant_access": "rule:admin_api",
- "os_compute_api:os-flavor-rxtx": "",
- "os_compute_api:os-flavor-rxtx:discoverable": "",
- "os_compute_api:flavors:discoverable": "",
- "os_compute_api:os-flavor-extra-specs:discoverable": "",
- "os_compute_api:os-flavor-extra-specs:index": "",
- "os_compute_api:os-flavor-extra-specs:show": "",
- "os_compute_api:os-flavor-extra-specs:create": "rule:admin_api",
- "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-manage:discoverable": "",
- "os_compute_api:os-flavor-manage": "rule:admin_api",
- "os_compute_api:os-floating-ip-dns": "",
- "os_compute_api:os-floating-ip-dns:discoverable": "",
- "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-floating-ip-pools": "",
- "os_compute_api:os-floating-ip-pools:discoverable": "",
- "os_compute_api:os-floating-ips": "",
- "os_compute_api:os-floating-ips:discoverable": "",
- "os_compute_api:os-floating-ips-bulk": "rule:admin_api",
- "os_compute_api:os-floating-ips-bulk:discoverable": "",
- "os_compute_api:os-fping": "",
- "os_compute_api:os-fping:discoverable": "",
- "os_compute_api:os-fping:all_tenants": "rule:admin_api",
- "os_compute_api:os-hide-server-addresses": "is_admin:False",
- "os_compute_api:os-hide-server-addresses:discoverable": "",
- "os_compute_api:os-hosts": "rule:admin_api",
- "os_compute_api:os-hosts:discoverable": "",
- "os_compute_api:os-hypervisors": "rule:admin_api",
- "os_compute_api:os-hypervisors:discoverable": "",
- "os_compute_api:images:discoverable": "",
- "os_compute_api:image-size": "",
- "os_compute_api:image-size:discoverable": "",
- "os_compute_api:os-instance-actions": "",
- "os_compute_api:os-instance-actions:discoverable": "",
- "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-instance-usage-audit-log:discoverable": "",
- "os_compute_api:ips:discoverable": "",
- "os_compute_api:ips:index": "rule:admin_or_owner",
- "os_compute_api:ips:show": "rule:admin_or_owner",
- "os_compute_api:os-keypairs:discoverable": "",
- "os_compute_api:os-keypairs": "",
- "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-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:limits:discoverable": "",
- "os_compute_api:limits": "",
- "os_compute_api:os-lock-server:discoverable": "",
- "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:discoverable": "",
- "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-multinic": "",
- "os_compute_api:os-multinic:discoverable": "",
- "os_compute_api:os-networks": "rule:admin_api",
- "os_compute_api:os-networks:view": "",
- "os_compute_api:os-networks:discoverable": "",
- "os_compute_api:os-networks-associate": "rule:admin_api",
- "os_compute_api:os-networks-associate:discoverable": "",
- "os_compute_api:os-pause-server:discoverable": "",
- "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-pci:pci_servers": "",
- "os_compute_api:os-pci:discoverable": "",
- "os_compute_api:os-pci:index": "rule:admin_api",
- "os_compute_api:os-pci:detail": "rule:admin_api",
- "os_compute_api:os-pci:show": "rule:admin_api",
- "os_compute_api:os-personality:discoverable": "",
- "os_compute_api:os-preserve-ephemeral-rebuild:discoverable": "",
- "os_compute_api:os-quota-sets:discoverable": "",
- "os_compute_api:os-quota-sets:show": "rule:admin_or_owner",
- "os_compute_api:os-quota-sets:defaults": "",
- "os_compute_api:os-quota-sets:update": "rule:admin_api",
- "os_compute_api:os-quota-sets:delete": "rule:admin_api",
- "os_compute_api:os-quota-sets:detail": "rule:admin_api",
- "os_compute_api:os-quota-class-sets:update": "rule:admin_api",
- "os_compute_api:os-quota-class-sets:show": "is_admin:True or quota_class:%(quota_class)s",
- "os_compute_api:os-quota-class-sets:discoverable": "",
- "os_compute_api:os-rescue": "",
- "os_compute_api:os-rescue:discoverable": "",
- "os_compute_api:os-scheduler-hints:discoverable": "",
- "os_compute_api:os-security-group-default-rules:discoverable": "",
- "os_compute_api:os-security-group-default-rules": "rule:admin_api",
- "os_compute_api:os-security-groups": "",
- "os_compute_api:os-security-groups:discoverable": "",
- "os_compute_api:os-server-diagnostics": "rule:admin_api",
- "os_compute_api:os-server-diagnostics:discoverable": "",
- "os_compute_api:os-server-password": "",
- "os_compute_api:os-server-password:discoverable": "",
- "os_compute_api:os-server-usage": "",
- "os_compute_api:os-server-usage:discoverable": "",
- "os_compute_api:os-server-groups": "",
- "os_compute_api:os-server-groups:discoverable": "",
- "os_compute_api:os-services": "rule:admin_api",
- "os_compute_api:os-services:discoverable": "",
- "os_compute_api:server-metadata:discoverable": "",
- "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:delete": "rule:admin_or_owner",
- "os_compute_api:server-metadata:create": "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:discoverable": "",
- "os_compute_api:os-shelve:shelve": "",
- "os_compute_api:os-shelve:shelve:discoverable": "",
- "os_compute_api:os-shelve:shelve_offload": "rule:admin_api",
- "os_compute_api:os-simple-tenant-usage:discoverable": "",
- "os_compute_api:os-simple-tenant-usage:show": "rule:admin_or_owner",
- "os_compute_api:os-simple-tenant-usage:list": "rule:admin_api",
- "os_compute_api:os-suspend-server:discoverable": "",
- "os_compute_api:os-suspend-server:suspend": "rule:admin_or_owner",
- "os_compute_api:os-suspend-server:resume": "rule:admin_or_owner",
- "os_compute_api:os-tenant-networks": "rule:admin_or_owner",
- "os_compute_api:os-tenant-networks:discoverable": "",
- "os_compute_api:os-shelve:unshelve": "",
- "os_compute_api:os-user-data:discoverable": "",
- "os_compute_api:os-virtual-interfaces": "",
- "os_compute_api:os-virtual-interfaces:discoverable": "",
- "os_compute_api:os-volumes": "",
- "os_compute_api:os-volumes:discoverable": "",
- "os_compute_api:os-volumes-attachments:index": "",
- "os_compute_api:os-volumes-attachments:show": "",
- "os_compute_api:os-volumes-attachments:create": "",
- "os_compute_api:os-volumes-attachments:update": "",
- "os_compute_api:os-volumes-attachments:delete": "",
- "os_compute_api:os-volumes-attachments:discoverable": "",
- "os_compute_api:os-availability-zone:list": "",
- "os_compute_api:os-availability-zone:discoverable": "",
- "os_compute_api:os-availability-zone:detail": "rule:admin_api",
- "os_compute_api:os-used-limits": "rule:admin_api",
- "os_compute_api:os-used-limits:discoverable": "",
- "os_compute_api:os-migrations:index": "rule:admin_api",
- "os_compute_api:os-migrations:discoverable": "",
- "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-assisted-volume-snapshots:discoverable": "",
- "os_compute_api:os-console-auth-tokens": "rule:admin_api",
- "os_compute_api:os-server-external-events:create": "rule:admin_api"
-}