Policy Reference¶
Warning
JSON formatted policy file is deprecated since Neutron 18.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.
Neutron, like most OpenStack projects, uses a policy language to restrict permissions on REST API actions.
The following is an overview of all available policies in neutron.
For a sample policy file, refer to Sample Policy File.
neutron¶
context_is_admin- Default
role:admin
Rule for cloud admin access
owner- Default
tenant_id:%(tenant_id)s
Rule for resource owner access
admin_or_owner- Default
rule:context_is_admin or rule:owner
Rule for admin or owner access
context_is_advsvc- Default
role:advsvc
Rule for advsvc role access
admin_or_network_owner- Default
rule:context_is_admin or tenant_id:%(network:tenant_id)s
Rule for admin or network owner access
admin_owner_or_network_owner- Default
rule:owner or rule:admin_or_network_owner
Rule for resource owner, admin or network owner access
network_owner- Default
tenant_id:%(network:tenant_id)s
Rule for network owner access
admin_only- Default
rule:context_is_admin
Rule for admin-only access
regular_user- Default
<empty string>
Rule for regular user access
shared- Default
field:networks:shared=True
Rule of shared network
default- Default
rule:admin_or_owner
Default access rule
admin_or_ext_parent_owner- Default
rule:context_is_admin or tenant_id:%(ext_parent:tenant_id)s
Rule for common parent owner check
ext_parent_owner- Default
tenant_id:%(ext_parent:tenant_id)s
Rule for common parent owner check
sg_owner- Default
tenant_id:%(security_group:tenant_id)s
Rule for security group owner access
shared_address_groups- Default
field:address_groups:shared=True
Definition of a shared address group
get_address_group- Default
role:reader and project_id:%(project_id)s or rule:shared_address_groups- Operations
GET
/address-groupsGET
/address-groups/{id}
- Scope Types
project
Get an address group
shared_address_scopes- Default
field:address_scopes:shared=True
Definition of a shared address scope
create_address_scope- Default
role:member and project_id:%(project_id)s- Operations
POST
/address-scopes
- Scope Types
project
Create an address scope
create_address_scope:shared- Default
role:admin and project_id:%(project_id)s- Operations
POST
/address-scopes
- Scope Types
project
Create a shared address scope
get_address_scope- Default
role:reader and project_id:%(project_id)s or rule:shared_address_scopes- Operations
GET
/address-scopesGET
/address-scopes/{id}
- Scope Types
project
Get an address scope
update_address_scope- Default
role:member and project_id:%(project_id)s- Operations
PUT
/address-scopes/{id}
- Scope Types
project
Update an address scope
update_address_scope:shared- Default
role:admin and project_id:%(project_id)s- Operations
PUT
/address-scopes/{id}
- Scope Types
project
Update
sharedattribute of an address scopedelete_address_scope- Default
role:member and project_id:%(project_id)s- Operations
DELETE
/address-scopes/{id}
- Scope Types
project
Delete an address scope
get_agent- Default
role:reader and system_scope:all- Operations
GET
/agentsGET
/agents/{id}
- Scope Types
system
Get an agent
update_agent- Default
role:admin and system_scope:all- Operations
PUT
/agents/{id}
- Scope Types
system
Update an agent
delete_agent- Default
role:admin and system_scope:all- Operations
DELETE
/agents/{id}
- Scope Types
system
Delete an agent
create_dhcp-network- Default
role:admin and system_scope:all- Operations
POST
/agents/{agent_id}/dhcp-networks
- Scope Types
system
Add a network to a DHCP agent
get_dhcp-networks- Default
role:reader and system_scope:all- Operations
GET
/agents/{agent_id}/dhcp-networks
- Scope Types
system
List networks on a DHCP agent
delete_dhcp-network- Default
role:admin and system_scope:all- Operations
DELETE
/agents/{agent_id}/dhcp-networks/{network_id}
- Scope Types
system
Remove a network from a DHCP agent
create_l3-router- Default
role:admin and system_scope:all- Operations
POST
/agents/{agent_id}/l3-routers
- Scope Types
system
Add a router to an L3 agent
get_l3-routers- Default
role:reader and system_scope:all- Operations
GET
/agents/{agent_id}/l3-routers
- Scope Types
system
List routers on an L3 agent
delete_l3-router- Default
role:admin and system_scope:all- Operations
DELETE
/agents/{agent_id}/l3-routers/{router_id}
- Scope Types
system
Remove a router from an L3 agent
get_dhcp-agents- Default
role:reader and system_scope:all- Operations
GET
/networks/{network_id}/dhcp-agents
- Scope Types
system
List DHCP agents hosting a network
get_l3-agents- Default
role:reader and system_scope:all- Operations
GET
/routers/{router_id}/l3-agents
- Scope Types
system
List L3 agents hosting a router
get_auto_allocated_topology- Default
role:reader and project_id:%(project_id)s- Operations
GET
/auto-allocated-topology/{project_id}
- Scope Types
project
Get a project’s auto-allocated topology
delete_auto_allocated_topology- Default
role:member and project_id:%(project_id)s- Operations
DELETE
/auto-allocated-topology/{project_id}
- Scope Types
project
Delete a project’s auto-allocated topology
get_availability_zone- Default
role:reader and system_scope:all- Operations
GET
/availability_zones
- Scope Types
system
List availability zones
create_flavor- Default
role:admin and system_scope:all- Operations
POST
/flavors
- Scope Types
system
Create a flavor
get_flavor- Default
(role:reader and system_scope:all) or (role:reader and project_id:%(project_id)s)- Operations
GET
/flavorsGET
/flavors/{id}
- Scope Types
system
project
Get a flavor
update_flavor- Default
role:admin and system_scope:all- Operations
PUT
/flavors/{id}
- Scope Types
system
Update a flavor
delete_flavor- Default
role:admin and system_scope:all- Operations
DELETE
/flavors/{id}
- Scope Types
system
Delete a flavor
create_service_profile- Default
role:admin and system_scope:all- Operations
POST
/service_profiles
- Scope Types
system
Create a service profile
get_service_profile- Default
role:reader and system_scope:all- Operations
GET
/service_profilesGET
/service_profiles/{id}
- Scope Types
system
Get a service profile
update_service_profile- Default
role:admin and system_scope:all- Operations
PUT
/service_profiles/{id}
- Scope Types
system
Update a service profile
delete_service_profile- Default
role:admin and system_scope:all- Operations
DELETE
/service_profiles/{id}
- Scope Types
system
Delete a service profile
get_flavor_service_profile- Default
(role:reader and system_scope:all) or (role:reader and project_id:%(project_id)s)- Scope Types
system
project
Get a flavor associated with a given service profiles. There is no corresponding GET operations in API currently. This rule is currently referred only in the DELETE of flavor_service_profile.
create_flavor_service_profile- Default
role:admin and system_scope:all- Operations
POST
/flavors/{flavor_id}/service_profiles
- Scope Types
system
Associate a flavor with a service profile
delete_flavor_service_profile- Default
role:admin and system_scope:all- Operations
DELETE
/flavors/{flavor_id}/service_profiles/{profile_id}
- Scope Types
system
Disassociate a flavor with a service profile
create_floatingip- Default
role:member and project_id:%(project_id)s- Operations
POST
/floatingips
- Scope Types
project
Create a floating IP
create_floatingip:floating_ip_address- Default
role:admin and project_id:%(project_id)s- Operations
POST
/floatingips
- Scope Types
project
Create a floating IP with a specific IP address
get_floatingip- Default
role:reader and project_id:%(project_id)s- Operations
GET
/floatingipsGET
/floatingips/{id}
- Scope Types
project
Get a floating IP
update_floatingip- Default
role:member and project_id:%(project_id)s- Operations
PUT
/floatingips/{id}
- Scope Types
project
Update a floating IP
delete_floatingip- Default
role:member and project_id:%(project_id)s- Operations
DELETE
/floatingips/{id}
- Scope Types
project
Delete a floating IP
get_floatingip_pool- Default
role:reader and project_id:%(project_id)s- Operations
GET
/floatingip_pools
- Scope Types
project
Get floating IP pools
create_floatingip_port_forwarding- Default
role:member and project_id:%(project_id)s or rule:ext_parent_owner- Operations
POST
/floatingips/{floatingip_id}/port_forwardings
- Scope Types
project
Create a floating IP port forwarding
get_floatingip_port_forwarding- Default
role:reader and project_id:%(project_id)s or rule:ext_parent_owner- Operations
GET
/floatingips/{floatingip_id}/port_forwardingsGET
/floatingips/{floatingip_id}/port_forwardings/{port_forwarding_id}
- Scope Types
project
Get a floating IP port forwarding
update_floatingip_port_forwarding- Default
role:member and project_id:%(project_id)s or rule:ext_parent_owner- Operations
PUT
/floatingips/{floatingip_id}/port_forwardings/{port_forwarding_id}
- Scope Types
project
Update a floating IP port forwarding
delete_floatingip_port_forwarding- Default
role:member and project_id:%(project_id)s or rule:ext_parent_owner- Operations
DELETE
/floatingips/{floatingip_id}/port_forwardings/{port_forwarding_id}
- Scope Types
project
Delete a floating IP port forwarding
create_router_conntrack_helper- Default
role:member and project_id:%(project_id)s or rule:ext_parent_owner- Operations
POST
/routers/{router_id}/conntrack_helpers
- Scope Types
project
Create a router conntrack helper
get_router_conntrack_helper- Default
role:reader and project_id:%(project_id)s or rule:ext_parent_owner- Operations
GET
/routers/{router_id}/conntrack_helpersGET
/routers/{router_id}/conntrack_helpers/{conntrack_helper_id}
- Scope Types
project
Get a router conntrack helper
update_router_conntrack_helper- Default
role:member and project_id:%(project_id)s or rule:ext_parent_owner- Operations
PUT
/routers/{router_id}/conntrack_helpers/{conntrack_helper_id}
- Scope Types
project
Update a router conntrack helper
delete_router_conntrack_helper- Default
role:member and project_id:%(project_id)s or rule:ext_parent_owner- Operations
DELETE
/routers/{router_id}/conntrack_helpers/{conntrack_helper_id}
- Scope Types
project
Delete a router conntrack helper
create_local_ip- Default
role:member and project_id:%(project_id)s- Operations
POST
/local-ips
- Scope Types
project
Create a Local IP
get_local_ip- Default
role:reader and project_id:%(project_id)s- Operations
GET
/local-ipsGET
/local-ips/{id}
- Scope Types
project
Get a Local IP
update_local_ip- Default
role:member and project_id:%(project_id)s- Operations
PUT
/local-ips/{id}
- Scope Types
project
Update a Local IP
delete_local_ip- Default
role:member and project_id:%(project_id)s- Operations
DELETE
/local-ips/{id}
- Scope Types
project
Delete a Local IP
create_local_ip_port_association- Default
role:member and project_id:%(project_id)s or rule:ext_parent_owner- Operations
POST
/local_ips/{local_ip_id}/port_associations
- Scope Types
project
Create a Local IP port association
get_local_ip_port_association- Default
role:reader and project_id:%(project_id)s or rule:ext_parent_owner- Operations
GET
/local_ips/{local_ip_id}/port_associationsGET
/local_ips/{local_ip_id}/port_associations/{fixed_port_id}
- Scope Types
project
Get a Local IP port association
delete_local_ip_port_association- Default
role:member and project_id:%(project_id)s or rule:ext_parent_owner- Operations
DELETE
/local_ips/{local_ip_id}/port_associations/{fixed_port_id}
- Scope Types
project
Delete a Local IP port association
get_loggable_resource- Default
role:reader and system_scope:all- Operations
GET
/log/loggable-resources
- Scope Types
system
Get loggable resources
create_log- Default
role:admin and system_scope:all- Operations
POST
/log/logs
- Scope Types
system
Create a network log
get_log- Default
role:reader and system_scope:all- Operations
GET
/log/logsGET
/log/logs/{id}
- Scope Types
system
Get a network log
update_log- Default
role:admin and system_scope:all- Operations
PUT
/log/logs/{id}
- Scope Types
system
Update a network log
delete_log- Default
role:admin and system_scope:all- Operations
DELETE
/log/logs/{id}
- Scope Types
system
Delete a network log
create_metering_label- Default
role:admin and project_id:%(project_id)s- Operations
POST
/metering/metering-labels
- Scope Types
project
Create a metering label
get_metering_label- Default
role:reader and project_id:%(project_id)s- Operations
GET
/metering/metering-labelsGET
/metering/metering-labels/{id}
- Scope Types
project
Get a metering label
delete_metering_label- Default
role:admin and project_id:%(project_id)s- Operations
DELETE
/metering/metering-labels/{id}
- Scope Types
project
Delete a metering label
create_metering_label_rule- Default
role:admin and project_id:%(project_id)s- Operations
POST
/metering/metering-label-rules
- Scope Types
project
Create a metering label rule
get_metering_label_rule- Default
role:reader and project_id:%(project_id)s- Operations
GET
/metering/metering-label-rulesGET
/metering/metering-label-rules/{id}
- Scope Types
project
Get a metering label rule
delete_metering_label_rule- Default
role:admin and project_id:%(project_id)s- Operations
DELETE
/metering/metering-label-rules/{id}
- Scope Types
project
Delete a metering label rule
create_ndp_proxy- Default
role:member and project_id:%(project_id)s- Operations
POST
/ndp_proxies
- Scope Types
project
Create a ndp proxy
get_ndp_proxy- Default
role:reader and project_id:%(project_id)s- Operations
GET
/ndp_proxiesGET
/ndp_proxies/{id}
- Scope Types
project
Get a ndp proxy
update_ndp_proxy- Default
role:member and project_id:%(project_id)s- Operations
PUT
/ndp_proxies/{id}
- Scope Types
project
Update a ndp proxy
delete_ndp_proxy- Default
role:member and project_id:%(project_id)s- Operations
DELETE
/ndp_proxies/{id}
- Scope Types
project
Delete a ndp proxy
external- Default
field:networks:router:external=True
Definition of an external network
create_network- Default
role:member and project_id:%(project_id)s- Operations
POST
/networks
- Scope Types
project
Create a network
create_network:shared- Default
role:admin and project_id:%(project_id)s- Operations
POST
/networks
- Scope Types
project
Create a shared network
create_network:router:external- Default
role:admin and project_id:%(project_id)s- Operations
POST
/networks
- Scope Types
project
Create an external network
create_network:is_default- Default
role:admin and project_id:%(project_id)s- Operations
POST
/networks
- Scope Types
project
Specify
is_defaultattribute when creating a networkcreate_network:port_security_enabled- Default
role:member and project_id:%(project_id)s- Operations
POST
/networks
- Scope Types
project
Specify
port_security_enabledattribute when creating a networkcreate_network:segments- Default
role:admin and project_id:%(project_id)s- Operations
POST
/networks
- Scope Types
project
Specify
segmentsattribute when creating a networkcreate_network:provider:network_type- Default
role:admin and project_id:%(project_id)s- Operations
POST
/networks
- Scope Types
project
Specify
provider:network_typewhen creating a networkcreate_network:provider:physical_network- Default
role:admin and project_id:%(project_id)s- Operations
POST
/networks
- Scope Types
project
Specify
provider:physical_networkwhen creating a networkcreate_network:provider:segmentation_id- Default
role:admin and project_id:%(project_id)s- Operations
POST
/networks
- Scope Types
project
Specify
provider:segmentation_idwhen creating a networkget_network- Default
role:reader and project_id:%(project_id)s or rule:shared or rule:external or rule:context_is_advsvc- Operations
GET
/networksGET
/networks/{id}
- Scope Types
project
Get a network
get_network:router:external- Default
role:reader and project_id:%(project_id)s- Operations
GET
/networksGET
/networks/{id}
- Scope Types
project
Get
router:externalattribute of a networkget_network:segments- Default
role:admin and project_id:%(project_id)s- Operations
GET
/networksGET
/networks/{id}
- Scope Types
project
Get
segmentsattribute of a networkget_network:provider:network_type- Default
role:admin and project_id:%(project_id)s- Operations
GET
/networksGET
/networks/{id}
- Scope Types
project
Get
provider:network_typeattribute of a networkget_network:provider:physical_network- Default
role:admin and project_id:%(project_id)s- Operations
GET
/networksGET
/networks/{id}
- Scope Types
project
Get
provider:physical_networkattribute of a networkget_network:provider:segmentation_id- Default
role:admin and project_id:%(project_id)s- Operations
GET
/networksGET
/networks/{id}
- Scope Types
project
Get
provider:segmentation_idattribute of a networkupdate_network- Default
role:member and project_id:%(project_id)s- Operations
PUT
/networks/{id}
- Scope Types
project
Update a network
update_network:segments- Default
role:admin and project_id:%(project_id)s- Operations
PUT
/networks/{id}
- Scope Types
project
Update
segmentsattribute of a networkupdate_network:shared- Default
role:admin and project_id:%(project_id)s- Operations
PUT
/networks/{id}
- Scope Types
project
Update
sharedattribute of a networkupdate_network:provider:network_type- Default
role:admin and project_id:%(project_id)s- Operations
PUT
/networks/{id}
- Scope Types
project
Update
provider:network_typeattribute of a networkupdate_network:provider:physical_network- Default
role:admin and project_id:%(project_id)s- Operations
PUT
/networks/{id}
- Scope Types
project
Update
provider:physical_networkattribute of a networkupdate_network:provider:segmentation_id- Default
role:admin and project_id:%(project_id)s- Operations
PUT
/networks/{id}
- Scope Types
project
Update
provider:segmentation_idattribute of a networkupdate_network:router:external- Default
role:admin and project_id:%(project_id)s- Operations
PUT
/networks/{id}
- Scope Types
project
Update
router:externalattribute of a networkupdate_network:is_default- Default
role:admin and project_id:%(project_id)s- Operations
PUT
/networks/{id}
- Scope Types
project
Update
is_defaultattribute of a networkupdate_network:port_security_enabled- Default
role:member and project_id:%(project_id)s- Operations
PUT
/networks/{id}
- Scope Types
project
Update
port_security_enabledattribute of a networkdelete_network- Default
role:member and project_id:%(project_id)s- Operations
DELETE
/networks/{id}
- Scope Types
project
Delete a network
get_network_ip_availability- Default
role:reader and system_scope:all- Operations
GET
/network-ip-availabilitiesGET
/network-ip-availabilities/{network_id}
- Scope Types
system
Get network IP availability
create_network_segment_range- Default
role:admin and system_scope:all- Operations
POST
/network_segment_ranges
- Scope Types
system
Create a network segment range
get_network_segment_range- Default
role:reader and system_scope:all- Operations
GET
/network_segment_rangesGET
/network_segment_ranges/{id}
- Scope Types
system
Get a network segment range
update_network_segment_range- Default
role:admin and system_scope:all- Operations
PUT
/network_segment_ranges/{id}
- Scope Types
system
Update a network segment range
delete_network_segment_range- Default
role:admin and system_scope:all- Operations
DELETE
/network_segment_ranges/{id}
- Scope Types
system
Delete a network segment range
network_device- Default
field:port:device_owner=~^network:
Definition of port with network device_owner
admin_or_data_plane_int- Default
rule:context_is_admin or role:data_plane_integrator
Rule for data plane integration
create_port- Default
role:member and project_id:%(project_id)s- Operations
POST
/ports
- Scope Types
project
Create a port
create_port:device_owner- Default
not rule:network_device or role:admin and project_id:%(project_id)s or rule:context_is_advsvc or rule:network_owner- Operations
POST
/ports
- Scope Types
project
Specify
device_ownerattribute when creating a portcreate_port:mac_address- Default
rule:context_is_advsvc or rule:network_owner or role:admin and project_id:%(project_id)s- Operations
POST
/ports
- Scope Types
project
Specify
mac_addressattribute when creating a portcreate_port:fixed_ips- Default
rule:context_is_advsvc or rule:network_owner or role:admin and project_id:%(project_id)s or rule:shared- Operations
POST
/ports
- Scope Types
project
Specify
fixed_ipsinformation when creating a portcreate_port:fixed_ips:ip_address- Default
rule:context_is_advsvc or rule:network_owner or role:admin and project_id:%(project_id)s- Operations
POST
/ports
- Scope Types
project
Specify IP address in
fixed_ipswhen creating a portcreate_port:fixed_ips:subnet_id- Default
rule:context_is_advsvc or rule:network_owner or role:admin and project_id:%(project_id)s or rule:shared- Operations
POST
/ports
- Scope Types
project
Specify subnet ID in
fixed_ipswhen creating a portcreate_port:port_security_enabled- Default
rule:context_is_advsvc or rule:network_owner or role:admin and project_id:%(project_id)s- Operations
POST
/ports
- Scope Types
project
Specify
port_security_enabledattribute when creating a portcreate_port:binding:host_id- Default
role:admin and project_id:%(project_id)s- Operations
POST
/ports
- Scope Types
project
Specify
binding:host_idattribute when creating a portcreate_port:binding:profile- Default
role:admin and project_id:%(project_id)s- Operations
POST
/ports
- Scope Types
project
Specify
binding:profileattribute when creating a portcreate_port:binding:vnic_type- Default
role:member and project_id:%(project_id)s- Operations
POST
/ports
- Scope Types
project
Specify
binding:vnic_typeattribute when creating a portcreate_port:allowed_address_pairs- Default
role:admin and project_id:%(project_id)s or rule:network_owner- Operations
POST
/ports
- Scope Types
project
Specify
allowed_address_pairsattribute when creating a portcreate_port:allowed_address_pairs:mac_address- Default
role:admin and project_id:%(project_id)s or rule:network_owner- Operations
POST
/ports
- Scope Types
project
Specify
mac_address` of `allowed_address_pairsattribute when creating a portcreate_port:allowed_address_pairs:ip_address- Default
role:admin and project_id:%(project_id)s or rule:network_owner- Operations
POST
/ports
- Scope Types
project
Specify
ip_addressofallowed_address_pairsattribute when creating a portget_port- Default
rule:context_is_advsvc or role:reader and project_id:%(project_id)s- Operations
GET
/portsGET
/ports/{id}
- Scope Types
project
Get a port
get_port:binding:vif_type- Default
role:admin and project_id:%(project_id)s- Operations
GET
/portsGET
/ports/{id}
- Scope Types
project
Get
binding:vif_typeattribute of a portget_port:binding:vif_details- Default
role:admin and project_id:%(project_id)s- Operations
GET
/portsGET
/ports/{id}
- Scope Types
project
Get
binding:vif_detailsattribute of a portget_port:binding:host_id- Default
role:admin and project_id:%(project_id)s- Operations
GET
/portsGET
/ports/{id}
- Scope Types
project
Get
binding:host_idattribute of a portget_port:binding:profile- Default
role:admin and project_id:%(project_id)s- Operations
GET
/portsGET
/ports/{id}
- Scope Types
project
Get
binding:profileattribute of a portget_port:resource_request- Default
role:admin and project_id:%(project_id)s- Operations
GET
/portsGET
/ports/{id}
- Scope Types
project
Get
resource_requestattribute of a portupdate_port- Default
role:member and project_id:%(project_id)s or rule:context_is_advsvc- Operations
PUT
/ports/{id}
- Scope Types
project
Update a port
update_port:device_owner- Default
not rule:network_device or rule:context_is_advsvc or rule:network_owner or role:admin and project_id:%(project_id)s- Operations
PUT
/ports/{id}
- Scope Types
project
Update
device_ownerattribute of a portupdate_port:mac_address- Default
role:admin and project_id:%(project_id)s or rule:context_is_advsvc- Operations
PUT
/ports/{id}
- Scope Types
project
Update
mac_addressattribute of a portupdate_port:fixed_ips- Default
rule:context_is_advsvc or rule:network_owner or role:admin and project_id:%(project_id)s- Operations
PUT
/ports/{id}
- Scope Types
project
Specify
fixed_ipsinformation when updating a portupdate_port:fixed_ips:ip_address- Default
rule:context_is_advsvc or rule:network_owner or role:admin and project_id:%(project_id)s- Operations
PUT
/ports/{id}
- Scope Types
project
Specify IP address in
fixed_ipsinformation when updating a portupdate_port:fixed_ips:subnet_id- Default
rule:context_is_advsvc or rule:network_owner or role:admin and project_id:%(project_id)s or rule:shared- Operations
PUT
/ports/{id}
- Scope Types
project
Specify subnet ID in
fixed_ipsinformation when updating a portupdate_port:port_security_enabled- Default
rule:context_is_advsvc or rule:network_owner or role:admin and project_id:%(project_id)s- Operations
PUT
/ports/{id}
- Scope Types
project
Update
port_security_enabledattribute of a portupdate_port:binding:host_id- Default
role:admin and project_id:%(project_id)s- Operations
PUT
/ports/{id}
- Scope Types
project
Update
binding:host_idattribute of a portupdate_port:binding:profile- Default
role:admin and project_id:%(project_id)s- Operations
PUT
/ports/{id}
- Scope Types
project
Update
binding:profileattribute of a portupdate_port:binding:vnic_type- Default
role:member and project_id:%(project_id)s or rule:context_is_advsvc- Operations
PUT
/ports/{id}
- Scope Types
project
Update
binding:vnic_typeattribute of a portupdate_port:allowed_address_pairs- Default
role:admin and project_id:%(project_id)s or rule:network_owner- Operations
PUT
/ports/{id}
- Scope Types
project
Update
allowed_address_pairsattribute of a portupdate_port:allowed_address_pairs:mac_address- Default
role:admin and project_id:%(project_id)s or rule:network_owner- Operations
PUT
/ports/{id}
- Scope Types
project
Update
mac_addressofallowed_address_pairsattribute of a portupdate_port:allowed_address_pairs:ip_address- Default
role:admin and project_id:%(project_id)s or rule:network_owner- Operations
PUT
/ports/{id}
- Scope Types
project
Update
ip_addressofallowed_address_pairsattribute of a portupdate_port:data_plane_status- Default
role:admin and project_id:%(project_id)s or role:data_plane_integrator- Operations
PUT
/ports/{id}
- Scope Types
project
Update
data_plane_statusattribute of a portdelete_port- Default
rule:context_is_advsvc or role:member and project_id:%(project_id)s- Operations
DELETE
/ports/{id}
- Scope Types
project
Delete a port
get_policy- Default
role:reader and project_id:%(project_id)s- Operations
GET
/qos/policiesGET
/qos/policies/{id}
- Scope Types
project
Get QoS policies
create_policy- Default
role:admin and project_id:%(project_id)s- Operations
POST
/qos/policies
- Scope Types
project
Create a QoS policy
update_policy- Default
role:admin and project_id:%(project_id)s- Operations
PUT
/qos/policies/{id}
- Scope Types
project
Update a QoS policy
delete_policy- Default
role:admin and project_id:%(project_id)s- Operations
DELETE
/qos/policies/{id}
- Scope Types
project
Delete a QoS policy
get_rule_type- Default
role:admin or role:reader and system_scope:all- Operations
GET
/qos/rule-typesGET
/qos/rule-types/{rule_type}
- Scope Types
system
project
Get available QoS rule types
get_policy_bandwidth_limit_rule- Default
role:reader and project_id:%(project_id)s- Operations
GET
/qos/policies/{policy_id}/bandwidth_limit_rulesGET
/qos/policies/{policy_id}/bandwidth_limit_rules/{rule_id}
- Scope Types
project
Get a QoS bandwidth limit rule
create_policy_bandwidth_limit_rule- Default
role:admin and project_id:%(project_id)s- Operations
POST
/qos/policies/{policy_id}/bandwidth_limit_rules
- Scope Types
project
Create a QoS bandwidth limit rule
update_policy_bandwidth_limit_rule- Default
role:admin and project_id:%(project_id)s- Operations
PUT
/qos/policies/{policy_id}/bandwidth_limit_rules/{rule_id}
- Scope Types
project
Update a QoS bandwidth limit rule
delete_policy_bandwidth_limit_rule- Default
role:admin and project_id:%(project_id)s- Operations
DELETE
/qos/policies/{policy_id}/bandwidth_limit_rules/{rule_id}
- Scope Types
project
Delete a QoS bandwidth limit rule
get_policy_dscp_marking_rule- Default
role:reader and project_id:%(project_id)s- Operations
GET
/qos/policies/{policy_id}/dscp_marking_rulesGET
/qos/policies/{policy_id}/dscp_marking_rules/{rule_id}
- Scope Types
project
Get a QoS DSCP marking rule
create_policy_dscp_marking_rule- Default
role:admin and project_id:%(project_id)s- Operations
POST
/qos/policies/{policy_id}/dscp_marking_rules
- Scope Types
project
Create a QoS DSCP marking rule
update_policy_dscp_marking_rule- Default
role:admin and project_id:%(project_id)s- Operations
PUT
/qos/policies/{policy_id}/dscp_marking_rules/{rule_id}
- Scope Types
project
Update a QoS DSCP marking rule
delete_policy_dscp_marking_rule- Default
role:admin and project_id:%(project_id)s- Operations
DELETE
/qos/policies/{policy_id}/dscp_marking_rules/{rule_id}
- Scope Types
project
Delete a QoS DSCP marking rule
get_policy_minimum_bandwidth_rule- Default
role:reader and project_id:%(project_id)s- Operations
GET
/qos/policies/{policy_id}/minimum_bandwidth_rulesGET
/qos/policies/{policy_id}/minimum_bandwidth_rules/{rule_id}
- Scope Types
project
Get a QoS minimum bandwidth rule
create_policy_minimum_bandwidth_rule- Default
role:admin and project_id:%(project_id)s- Operations
POST
/qos/policies/{policy_id}/minimum_bandwidth_rules
- Scope Types
project
Create a QoS minimum bandwidth rule
update_policy_minimum_bandwidth_rule- Default
role:admin and project_id:%(project_id)s- Operations
PUT
/qos/policies/{policy_id}/minimum_bandwidth_rules/{rule_id}
- Scope Types
project
Update a QoS minimum bandwidth rule
delete_policy_minimum_bandwidth_rule- Default
role:admin and project_id:%(project_id)s- Operations
DELETE
/qos/policies/{policy_id}/minimum_bandwidth_rules/{rule_id}
- Scope Types
project
Delete a QoS minimum bandwidth rule
get_policy_minimum_packet_rate_rule- Default
role:reader and project_id:%(project_id)s- Operations
GET
/qos/policies/{policy_id}/minimum_packet_rate_rulesGET
/qos/policies/{policy_id}/minimum_packet_rate_rules/{rule_id}
- Scope Types
project
Get a QoS minimum packet rate rule
create_policy_minimum_packet_rate_rule- Default
role:admin and project_id:%(project_id)s- Operations
POST
/qos/policies/{policy_id}/minimum_packet_rate_rules
- Scope Types
project
Create a QoS minimum packet rate rule
update_policy_minimum_packet_rate_rule- Default
role:admin and project_id:%(project_id)s- Operations
PUT
/qos/policies/{policy_id}/minimum_packet_rate_rules/{rule_id}
- Scope Types
project
Update a QoS minimum packet rate rule
delete_policy_minimum_packet_rate_rule- Default
role:admin and project_id:%(project_id)s- Operations
DELETE
/qos/policies/{policy_id}/minimum_packet_rate_rules/{rule_id}
- Scope Types
project
Delete a QoS minimum packet rate rule
get_alias_bandwidth_limit_rule- Default
role:reader and project_id:%(project_id)s- Operations
GET
/qos/alias_bandwidth_limit_rules/{rule_id}/
- Scope Types
project
Get a QoS bandwidth limit rule through alias
update_alias_bandwidth_limit_rule- Default
role:admin and project_id:%(project_id)s- Operations
PUT
/qos/alias_bandwidth_limit_rules/{rule_id}/
- Scope Types
project
Update a QoS bandwidth limit rule through alias
delete_alias_bandwidth_limit_rule- Default
role:admin and project_id:%(project_id)s- Operations
DELETE
/qos/alias_bandwidth_limit_rules/{rule_id}/
- Scope Types
project
Delete a QoS bandwidth limit rule through alias
get_alias_dscp_marking_rule- Default
role:reader and project_id:%(project_id)s- Operations
GET
/qos/alias_dscp_marking_rules/{rule_id}/
- Scope Types
project
Get a QoS DSCP marking rule through alias
update_alias_dscp_marking_rule- Default
role:admin and project_id:%(project_id)s- Operations
PUT
/qos/alias_dscp_marking_rules/{rule_id}/
- Scope Types
project
Update a QoS DSCP marking rule through alias
delete_alias_dscp_marking_rule- Default
role:admin and project_id:%(project_id)s- Operations
DELETE
/qos/alias_dscp_marking_rules/{rule_id}/
- Scope Types
project
Delete a QoS DSCP marking rule through alias
get_alias_minimum_bandwidth_rule- Default
role:reader and project_id:%(project_id)s- Operations
GET
/qos/alias_minimum_bandwidth_rules/{rule_id}/
- Scope Types
project
Get a QoS minimum bandwidth rule through alias
update_alias_minimum_bandwidth_rule- Default
role:admin and project_id:%(project_id)s- Operations
PUT
/qos/alias_minimum_bandwidth_rules/{rule_id}/
- Scope Types
project
Update a QoS minimum bandwidth rule through alias
delete_alias_minimum_bandwidth_rule- Default
role:admin and project_id:%(project_id)s- Operations
DELETE
/qos/alias_minimum_bandwidth_rules/{rule_id}/
- Scope Types
project
Delete a QoS minimum bandwidth rule through alias
get_alias_minimum_packet_rate_rule- Default
rule:get_policy_minimum_packet_rate_rule- Operations
GET
/qos/alias_minimum_packet_rate_rules/{rule_id}/
Get a QoS minimum packet rate rule through alias
update_alias_minimum_packet_rate_rule- Default
rule:update_policy_minimum_packet_rate_rule- Operations
PUT
/qos/alias_minimum_packet_rate_rules/{rule_id}/
Update a QoS minimum packet rate rule through alias
delete_alias_minimum_packet_rate_rule- Default
rule:delete_policy_minimum_packet_rate_rule- Operations
DELETE
/qos/alias_minimum_packet_rate_rules/{rule_id}/
Delete a QoS minimum packet rate rule through alias
get_quota- Default
role:reader and system_scope:all- Operations
GET
/quotaGET
/quota/{id}
- Scope Types
system
Get a resource quota
update_quota- Default
role:admin and system_scope:all- Operations
PUT
/quota/{id}
- Scope Types
system
Update a resource quota
delete_quota- Default
role:admin and system_scope:all- Operations
DELETE
/quota/{id}
- Scope Types
system
Delete a resource quota
restrict_wildcard- Default
(not field:rbac_policy:target_tenant=* and not field:rbac_policy:target_project=*) or rule:admin_only
Definition of a wildcard target_project
create_rbac_policy- Default
role:member and project_id:%(project_id)s- Operations
POST
/rbac-policies
- Scope Types
project
Create an RBAC policy
create_rbac_policy:target_tenant- Default
role:admin and project_id:%(project_id)s or (not field:rbac_policy:target_tenant=* and not field:rbac_policy:target_project=*)- Operations
POST
/rbac-policies
- Scope Types
project
Specify
target_tenantwhen creating an RBAC policyupdate_rbac_policy- Default
role:member and project_id:%(project_id)s- Operations
PUT
/rbac-policies/{id}
- Scope Types
project
Update an RBAC policy
update_rbac_policy:target_tenant- Default
role:admin and project_id:%(project_id)s or (not field:rbac_policy:target_tenant=* and not field:rbac_policy:target_project=*)- Operations
PUT
/rbac-policies/{id}
- Scope Types
project
Update
target_tenantattribute of an RBAC policyget_rbac_policy- Default
role:reader and project_id:%(project_id)s- Operations
GET
/rbac-policiesGET
/rbac-policies/{id}
- Scope Types
project
Get an RBAC policy
delete_rbac_policy- Default
role:member and project_id:%(project_id)s- Operations
DELETE
/rbac-policies/{id}
- Scope Types
project
Delete an RBAC policy
create_router- Default
role:member and project_id:%(project_id)s- Operations
POST
/routers
- Scope Types
project
Create a router
create_router:distributed- Default
role:admin and project_id:%(project_id)s- Operations
POST
/routers
- Scope Types
project
Specify
distributedattribute when creating a routercreate_router:ha- Default
role:admin and project_id:%(project_id)s- Operations
POST
/routers
- Scope Types
project
Specify
haattribute when creating a routercreate_router:external_gateway_info- Default
role:member and project_id:%(project_id)s- Operations
POST
/routers
- Scope Types
project
Specify
external_gateway_infoinformation when creating a routercreate_router:external_gateway_info:network_id- Default
role:member and project_id:%(project_id)s- Operations
POST
/routers
- Scope Types
project
Specify
network_idinexternal_gateway_infoinformation when creating a routercreate_router:external_gateway_info:enable_snat- Default
role:admin and project_id:%(project_id)s- Operations
POST
/routers
- Scope Types
project
Specify
enable_snatinexternal_gateway_infoinformation when creating a routercreate_router:external_gateway_info:external_fixed_ips- Default
role:admin and project_id:%(project_id)s- Operations
POST
/routers
- Scope Types
project
Specify
external_fixed_ipsinexternal_gateway_infoinformation when creating a routerget_router- Default
role:reader and project_id:%(project_id)s- Operations
GET
/routersGET
/routers/{id}
- Scope Types
project
Get a router
get_router:distributed- Default
role:admin and project_id:%(project_id)s- Operations
GET
/routersGET
/routers/{id}
- Scope Types
project
Get
distributedattribute of a routerget_router:ha- Default
role:admin and project_id:%(project_id)s- Operations
GET
/routersGET
/routers/{id}
- Scope Types
project
Get
haattribute of a routerupdate_router- Default
role:member and project_id:%(project_id)s- Operations
PUT
/routers/{id}
- Scope Types
project
Update a router
update_router:distributed- Default
role:admin and project_id:%(project_id)s- Operations
PUT
/routers/{id}
- Scope Types
project
Update
distributedattribute of a routerupdate_router:ha- Default
role:admin and project_id:%(project_id)s- Operations
PUT
/routers/{id}
- Scope Types
project
Update
haattribute of a routerupdate_router:external_gateway_info- Default
role:member and project_id:%(project_id)s- Operations
PUT
/routers/{id}
- Scope Types
project
Update
external_gateway_infoinformation of a routerupdate_router:external_gateway_info:network_id- Default
role:member and project_id:%(project_id)s- Operations
PUT
/routers/{id}
- Scope Types
project
Update
network_idattribute ofexternal_gateway_infoinformation of a routerupdate_router:external_gateway_info:enable_snat- Default
role:admin and project_id:%(project_id)s- Operations
PUT
/routers/{id}
- Scope Types
project
Update
enable_snatattribute ofexternal_gateway_infoinformation of a routerupdate_router:external_gateway_info:external_fixed_ips- Default
role:admin and project_id:%(project_id)s- Operations
PUT
/routers/{id}
- Scope Types
project
Update
external_fixed_ipsattribute ofexternal_gateway_infoinformation of a routerdelete_router- Default
role:member and project_id:%(project_id)s- Operations
DELETE
/routers/{id}
- Scope Types
project
Delete a router
add_router_interface- Default
role:member and project_id:%(project_id)s- Operations
PUT
/routers/{id}/add_router_interface
- Scope Types
project
Add an interface to a router
remove_router_interface- Default
role:member and project_id:%(project_id)s- Operations
PUT
/routers/{id}/remove_router_interface
- Scope Types
project
Remove an interface from a router
add_extraroutes- Default
role:member and project_id:%(project_id)s- Operations
PUT
/routers/{id}/add_extraroutes
- Scope Types
project
Add extra route to a router
remove_extraroutes- Default
role:member and project_id:%(project_id)s- Operations
PUT
/routers/{id}/remove_extraroutes
- Scope Types
project
Remove extra route from a router
admin_or_sg_owner- Default
rule:context_is_admin or tenant_id:%(security_group:tenant_id)s
Rule for admin or security group owner access
admin_owner_or_sg_owner- Default
rule:owner or rule:admin_or_sg_owner
Rule for resource owner, admin or security group owner access
create_security_group- Default
role:member and project_id:%(project_id)s- Operations
POST
/security-groups
- Scope Types
project
Create a security group
get_security_group- Default
role:reader and project_id:%(project_id)s- Operations
GET
/security-groupsGET
/security-groups/{id}
- Scope Types
project
Get a security group
update_security_group- Default
role:member and project_id:%(project_id)s- Operations
PUT
/security-groups/{id}
- Scope Types
project
Update a security group
delete_security_group- Default
role:member and project_id:%(project_id)s- Operations
DELETE
/security-groups/{id}
- Scope Types
project
Delete a security group
create_security_group_rule- Default
role:member and project_id:%(project_id)s- Operations
POST
/security-group-rules
- Scope Types
project
Create a security group rule
get_security_group_rule- Default
role:reader and project_id:%(project_id)s or rule:sg_owner- Operations
GET
/security-group-rulesGET
/security-group-rules/{id}
- Scope Types
project
Get a security group rule
delete_security_group_rule- Default
role:member and project_id:%(project_id)s- Operations
DELETE
/security-group-rules/{id}
- Scope Types
project
Delete a security group rule
create_segment- Default
role:admin and system_scope:all- Operations
POST
/segments
- Scope Types
system
Create a segment
get_segment- Default
role:reader and system_scope:all- Operations
GET
/segmentsGET
/segments/{id}
- Scope Types
system
Get a segment
update_segment- Default
role:admin and system_scope:all- Operations
PUT
/segments/{id}
- Scope Types
system
Update a segment
delete_segment- Default
role:admin and system_scope:all- Operations
DELETE
/segments/{id}
- Scope Types
system
Delete a segment
get_service_provider- Default
role:reader- Operations
GET
/service-providers
- Scope Types
system
project
Get service providers
create_subnet- Default
role:member and project_id:%(project_id)s or rule:network_owner- Operations
POST
/subnets
- Scope Types
project
Create a subnet
create_subnet:segment_id- Default
role:admin and project_id:%(project_id)s- Operations
POST
/subnets
- Scope Types
project
Specify
segment_idattribute when creating a subnetcreate_subnet:service_types- Default
role:admin and project_id:%(project_id)s- Operations
POST
/subnets
- Scope Types
project
Specify
service_typesattribute when creating a subnetget_subnet- Default
role:reader and project_id:%(project_id)s or rule:shared- Operations
GET
/subnetsGET
/subnets/{id}
- Scope Types
project
Get a subnet
get_subnet:segment_id- Default
role:admin and project_id:%(project_id)s- Operations
GET
/subnetsGET
/subnets/{id}
- Scope Types
project
Get
segment_idattribute of a subnetupdate_subnet- Default
role:member and project_id:%(project_id)s or rule:network_owner- Operations
PUT
/subnets/{id}
- Scope Types
project
Update a subnet
update_subnet:segment_id- Default
role:admin and project_id:%(project_id)s- Operations
PUT
/subnets/{id}
- Scope Types
project
Update
segment_idattribute of a subnetupdate_subnet:service_types- Default
role:admin and project_id:%(project_id)s- Operations
PUT
/subnets/{id}
- Scope Types
project
Update
service_typesattribute of a subnetdelete_subnet- Default
role:member and project_id:%(project_id)s or rule:network_owner- Operations
DELETE
/subnets/{id}
- Scope Types
project
Delete a subnet
shared_subnetpools- Default
field:subnetpools:shared=True
Definition of a shared subnetpool
create_subnetpool- Default
role:member and project_id:%(project_id)s- Operations
POST
/subnetpools
- Scope Types
project
Create a subnetpool
create_subnetpool:shared- Default
role:admin and project_id:%(project_id)s- Operations
POST
/subnetpools
- Scope Types
project
Create a shared subnetpool
create_subnetpool:is_default- Default
role:admin and project_id:%(project_id)s- Operations
POST
/subnetpools
- Scope Types
project
Specify
is_defaultattribute when creating a subnetpoolget_subnetpool- Default
role:reader and project_id:%(project_id)s or rule:shared_subnetpools- Operations
GET
/subnetpoolsGET
/subnetpools/{id}
- Scope Types
project
Get a subnetpool
update_subnetpool- Default
role:member and project_id:%(project_id)s- Operations
PUT
/subnetpools/{id}
- Scope Types
project
Update a subnetpool
update_subnetpool:is_default- Default
role:admin and project_id:%(project_id)s- Operations
PUT
/subnetpools/{id}
- Scope Types
project
Update
is_defaultattribute of a subnetpooldelete_subnetpool- Default
role:member and project_id:%(project_id)s- Operations
DELETE
/subnetpools/{id}
- Scope Types
project
Delete a subnetpool
onboard_network_subnets- Default
role:member and project_id:%(project_id)s- Operations
PUT
/subnetpools/{id}/onboard_network_subnets
- Scope Types
project
Onboard existing subnet into a subnetpool
add_prefixes- Default
role:member and project_id:%(project_id)s- Operations
PUT
/subnetpools/{id}/add_prefixes
- Scope Types
project
Add prefixes to a subnetpool
remove_prefixes- Default
role:member and project_id:%(project_id)s- Operations
PUT
/subnetpools/{id}/remove_prefixes
- Scope Types
project
Remove unallocated prefixes from a subnetpool
create_trunk- Default
role:member and project_id:%(project_id)s- Operations
POST
/trunks
- Scope Types
project
Create a trunk
get_trunk- Default
role:reader and project_id:%(project_id)s- Operations
GET
/trunksGET
/trunks/{id}
- Scope Types
project
Get a trunk
update_trunk- Default
role:member and project_id:%(project_id)s- Operations
PUT
/trunks/{id}
- Scope Types
project
Update a trunk
delete_trunk- Default
role:member and project_id:%(project_id)s- Operations
DELETE
/trunks/{id}
- Scope Types
project
Delete a trunk
get_subports- Default
role:reader and project_id:%(project_id)s- Operations
GET
/trunks/{id}/get_subports
- Scope Types
project
List subports attached to a trunk
add_subports- Default
role:member and project_id:%(project_id)s- Operations
PUT
/trunks/{id}/add_subports
- Scope Types
project
Add subports to a trunk
remove_subports- Default
role:member and project_id:%(project_id)s- Operations
PUT
/trunks/{id}/remove_subports
- Scope Types
project
Delete subports from a trunk