Policy configuration¶
Configuration¶
Warning
JSON formatted policy file is deprecated since Zun 7.0.0 (Wallaby). This oslopolicy-convert-json-to-yaml tool will migrate your existing JSON-formatted policy file to YAML in a backward-compatible way.
The following is an overview of all available policies in Zun. For a sample configuration file.
zun¶
- context_is_admin
- Default
- role:admin
 - (no description provided) 
- admin_or_owner
- Default
- is_admin:True or project_id:%(project_id)s
 - (no description provided) 
- admin_api
- Default
- rule:context_is_admin
 - (no description provided) 
- deny_everybody
- Default
- !
 - Default rule for deny everybody. 
- container:create
- Default
- is_admin:True or project_id:%(project_id)s
- Operations
- POST - /v1/containers
 
 - Create a new container. 
- container:create:runtime
- Default
- rule:context_is_admin
- Operations
- POST - /v1/containers
 
 - Create a new container with specified runtime. 
- container:create:privileged
- Default
- rule:deny_everybody
- Operations
- POST - /v1/containers
 
 - Create a new privileged container.Warning: the privileged container has a big security risk so be caution if you want to enable this feature 
- container:create:requested_destination
- Default
- rule:context_is_admin
- Operations
- POST - /v1/containers
 
 - Create a container on the requested compute host. 
- container:create:image_pull_policy
- Default
- rule:context_is_admin
- Operations
- POST - /v1/containers
 
 - Create a new container with specified image pull policy. 
- container:delete
- Default
- is_admin:True or project_id:%(project_id)s
- Operations
- DELETE - /v1/containers/{container_ident}
 
 - Delete a container. 
- container:delete_all_projects
- Default
- rule:context_is_admin
- Operations
- DELETE - /v1/containers/{container_ident}
 
 - Delete a container from all projects. 
- container:delete_force
- Default
- rule:context_is_admin
- Operations
- DELETE - /v1/containers/{container_ident}
 
 - Forcibly delete a container. 
- container:get_one
- Default
- is_admin:True or project_id:%(project_id)s
- Operations
- GET - /v1/containers/{container_ident}
 
 - Retrieve the details of a specific container. 
- container:get_one:host
- Default
- rule:context_is_admin
- Operations
- GET - /v1/containers/{container_ident}
- GET - /v1/containers
- POST - /v1/containers
- PATCH - /v1/containers/{container_ident}
 
 - Retrieve the host field of containers. 
- container:get_one:image_pull_policy
- Default
- rule:context_is_admin
- Operations
- GET - /v1/containers/{container_ident}
- GET - /v1/containers
- POST - /v1/containers
- PATCH - /v1/containers/{container_ident}
 
 - Retrieve the image_pull_policy field of containers. 
- container:get_one:privileged
- Default
- rule:context_is_admin
- Operations
- GET - /v1/containers/{container_ident}
- GET - /v1/containers
- POST - /v1/containers
- PATCH - /v1/containers/{container_ident}
 
 - Retrieve the privileged field of containers. 
- container:get_one:runtime
- Default
- rule:context_is_admin
- Operations
- GET - /v1/containers/{container_ident}
- GET - /v1/containers
- POST - /v1/containers
- PATCH - /v1/containers/{container_ident}
 
 - Retrieve the runtime field of containers. 
- container:get_one_all_projects
- Default
- rule:context_is_admin
- Operations
- GET - /v1/containers/{container_ident}
 
 - Retrieve the details of a specific container from all projects. 
- container:get_all
- Default
- is_admin:True or project_id:%(project_id)s
- Operations
- GET - /v1/containers
 
 - Retrieve the details of all containers. 
- container:get_all_all_projects
- Default
- rule:context_is_admin
- Operations
- GET - /v1/containers
 
 - Retrieve the details of all containers across projects. 
- container:update
- Default
- is_admin:True or project_id:%(project_id)s
- Operations
- PATCH - /v1/containers/{container_ident}
 
 - Update a container. 
- container:start
- Default
- is_admin:True or project_id:%(project_id)s
- Operations
- POST - /v1/containers/{container_ident}/start
 
 - Start a container. 
- container:stop
- Default
- is_admin:True or project_id:%(project_id)s
- Operations
- POST - /v1/containers/{container_ident}/stop
 
 - Stop a container. 
- container:reboot
- Default
- is_admin:True or project_id:%(project_id)s
- Operations
- POST - /v1/containers/{container_ident}/reboot
 
 - Reboot a container. 
- container:pause
- Default
- is_admin:True or project_id:%(project_id)s
- Operations
- POST - /v1/containers/{container_ident}/pause
 
 - Pause a container. 
- container:unpause
- Default
- is_admin:True or project_id:%(project_id)s
- Operations
- POST - /v1/containers/{container_ident}/unpause
 
 - Unpause a container. 
- container:logs
- Default
- is_admin:True or project_id:%(project_id)s
- Operations
- GET - /v1/containers/{container_ident}/logs
 
 - Get the log of a container 
- container:execute
- Default
- is_admin:True or project_id:%(project_id)s
- Operations
- POST - /v1/containers/{container_ident}/execute
 
 - Execute command in a running container 
- container:execute_resize
- Default
- is_admin:True or project_id:%(project_id)s
- Operations
- POST - /v1/containers/{container_ident}/execute_resize
 
 - Resize the TTY used by an execute command. 
- container:kill
- Default
- is_admin:True or project_id:%(project_id)s
- Operations
- POST - /v1/containers/{container_ident}/kill
 
 - Kill a running container 
- container:rename
- Default
- is_admin:True or project_id:%(project_id)s
- Operations
- POST - /v1/containers/{container_ident}/rename
 
 - Rename a container. 
- container:attach
- Default
- is_admin:True or project_id:%(project_id)s
- Operations
- GET - /v1/containers/{container_ident}/attach
 
 - Attach to a running container 
- container:resize
- Default
- is_admin:True or project_id:%(project_id)s
- Operations
- POST - /v1/containers/{container_ident}/resize
 
 - Resize a container. 
- container:top
- Default
- is_admin:True or project_id:%(project_id)s
- Operations
- GET - /v1/containers/{container_ident}/top
 
 - Display the running processes inside the container. 
- container:get_archive
- Default
- is_admin:True or project_id:%(project_id)s
- Operations
- GET - /v1/containers/{container_ident}/get_archive
 
 - Get a tar archive of a path of container. 
- container:put_archive
- Default
- is_admin:True or project_id:%(project_id)s
- Operations
- PUT - /v1/containers/{container_ident}/put_archive
 
 - Put a tar archive to be extracted to a path of container 
- container:stats
- Default
- is_admin:True or project_id:%(project_id)s
- Operations
- GET - /v1/containers/{container_ident}/stats
 
 - Display the statistics of a container 
- container:commit
- Default
- is_admin:True or project_id:%(project_id)s
- Operations
- POST - /v1/containers/{container_ident}/commit
 
 - Commit a container 
- container:add_security_group
- Default
- is_admin:True or project_id:%(project_id)s
- Operations
- POST - /v1/containers/{container_ident}/add_security_group
 
 - Add a security group to a specific container. 
- container:network_detach
- Default
- is_admin:True or project_id:%(project_id)s
- Operations
- POST - /v1/containers/{container_ident}/network_detach
 
 - Detach a network from a container. 
- container:network_attach
- Default
- is_admin:True or project_id:%(project_id)s
- Operations
- POST - /v1/containers/{container_ident}/network_attach
 
 - Attach a network from a container. 
- container:remove_security_group
- Default
- is_admin:True or project_id:%(project_id)s
- Operations
- POST - /v1/containers/{container_ident}/remove_security_group
 
 - Remove security group from a specific container. 
- container:rebuild
- Default
- is_admin:True or project_id:%(project_id)s
- Operations
- POST - /v1/containers/{container_ident}/rebuild
 
 - Rebuild a container. 
- container:resize_container
- Default
- is_admin:True or project_id:%(project_id)s
- Operations
- POST - /v1/containers/{container_ident}/resize_container
 
 - Resize an existing container. 
- image:pull
- Default
- rule:context_is_admin
- Operations
- POST - /v1/images
 
 - Pull an image. 
- image:get_all
- Default
- rule:context_is_admin
- Operations
- GET - /v1/images
 
 - Print a list of available images. 
- image:get_one
- Default
- rule:context_is_admin
- Operations
- GET - /v1/images/{image_id}
 
 - Retrieve the details of a specific image. 
- image:search
- Default
- is_admin:True or project_id:%(project_id)s
- Operations
- GET - /v1/images/{image_ident}/search
 
 - Search an image. 
- image:delete
- Default
- rule:context_is_admin
- Operations
- DELETE - /v1/images/{image_ident}
 
 - Delete an image. 
- zun-service:delete
- Default
- rule:context_is_admin
- Operations
- DELETE - /v1/services
 
 - Delete a service. 
- zun-service:disable
- Default
- rule:context_is_admin
- Operations
- PUT - /v1/services/disable
 
 - Disable a service. 
- zun-service:enable
- Default
- rule:context_is_admin
- Operations
- PUT - /v1/services/enable
 
 - Enable a service. 
- zun-service:force_down
- Default
- rule:context_is_admin
- Operations
- PUT - /v1/services/force_down
 
 - Forcibly shutdown a service. 
- zun-service:get_all
- Default
- rule:context_is_admin
- Operations
- GET - /v1/services
 
 - Show the status of a service. 
- host:get_all
- Default
- rule:context_is_admin
- Operations
- GET - /v1/hosts
 
 - List all compute hosts. 
- host:get
- Default
- rule:context_is_admin
- Operations
- GET - /v1/hosts/{host_ident}
 
 - Show the details of a specific compute host. 
- capsule:create
- Default
- is_admin:True or project_id:%(project_id)s
- Operations
- POST - /v1/capsules/
 
 - Create a capsule 
- capsule:delete
- Default
- is_admin:True or project_id:%(project_id)s
- Operations
- DELETE - /v1/capsules/{capsule_ident}
 
 - Delete a capsule 
- capsule:delete_all_projects
- Default
- rule:context_is_admin
- Operations
- DELETE - /v1/capsules/{capsule_ident}
 
 - Delete a container in any project. 
- capsule:get
- Default
- is_admin:True or project_id:%(project_id)s
- Operations
- GET - /v1/capsules/{capsule_ident}
 
 - Retrieve the details of a capsule. 
- capsule:get:host
- Default
- rule:context_is_admin
- Operations
- GET - /v1/capsules/{capsule_ident}
- GET - /v1/capsules
- POST - /v1/capsules
 
 - Retrieve the host field of a capsule. 
- capsule:get_one_all_projects
- Default
- rule:context_is_admin
- Operations
- GET - /v1/capsules/{capsule_ident}
 
 - Retrieve the details of a capsule in any project. 
- capsule:get_all
- Default
- is_admin:True or project_id:%(project_id)s
- Operations
- GET - /v1/capsules/
 
 - List all capsules. 
- capsule:get_all_all_projects
- Default
- rule:context_is_admin
- Operations
- GET - /v1/capsules/
 
 - List all capsules across projects. 
- network:attach_external_network
- Default
- role:admin
- Operations
- POST - /v1/containers
 
 - Attach an unshared external network to a container 
- network:create
- Default
- role:admin
- Operations
- POST - /v1/networks
 
 - Create a network 
- network:delete
- Default
- role:admin
- Operations
- DELETE - /v1/networks
 
 - Delete a network 
- container:actions
- Default
- is_admin:True or project_id:%(project_id)s
- Operations
- GET - /v1/containers/{container_ident}/container_actions/
- GET - /v1/containers/{container_ident}/container_actions/{request_id}
 
 - List actions and show action details for a container 
- container:action:events
- Default
- rule:context_is_admin
- Operations
- GET - /v1/containers/{container_ident}/container_actions/{request_id}
 
 - Add events details in action details for a container. 
- availability_zones:get_all
- Default
- is_admin:True or project_id:%(project_id)s
- Operations
- GET - /v1/availability_zones
 
 - List availability zone 
- quota:update
- Default
- rule:context_is_admin
- Operations
- PUT - /v1/quotas/{project_id}
 
 - Update quotas for a project 
- quota:delete
- Default
- rule:context_is_admin
- Operations
- DELETE - /v1/quotas/{project_id}
 
 - Delete quotas for a project 
- quota:get
- Default
- is_admin:True or project_id:%(project_id)s
- Operations
- GET - /v1/quotas/{project_id}
 
 - Get quotas for a project 
- quota:get_default
- Default
- is_admin:True or project_id:%(project_id)s
- Operations
- GET - /v1/quotas/defaults
 
 - Get default quotas for a project 
- quota_class:update
- Default
- rule:context_is_admin
- Operations
- PUT - /v1/quota_classes/{quota_class_name}
 
 - Update quotas for specific quota class 
- quota_class:get
- Default
- rule:context_is_admin
- Operations
- GET - /v1/quota_classes/{quota_class_name}
 
 - List quotas for specific quota class 
- registry:create
- Default
- is_admin:True or project_id:%(project_id)s
- Operations
- POST - /v1/registries
 
 - Create a new registry. 
- registry:delete
- Default
- is_admin:True or project_id:%(project_id)s
- Operations
- DELETE - /v1/registries/{registry_ident}
 
 - Delete a registry. 
- registry:get_one
- Default
- is_admin:True or project_id:%(project_id)s
- Operations
- GET - /v1/registries/{registry_ident}
 
 - Retrieve the details of a specific registry. 
- registry:get_all
- Default
- is_admin:True or project_id:%(project_id)s
- Operations
- GET - /v1/registries
 
 - Retrieve the details of all registries. 
- registry:get_all_all_projects
- Default
- rule:context_is_admin
- Operations
- GET - /v1/registries
 
 - Retrieve the details of all registries across projects. 
- registry:update
- Default
- is_admin:True or project_id:%(project_id)s
- Operations
- PATCH - /v1/registries/{registry_ident}
 
 - Update a registry. 
