Networking Permissions for Roving Edge Infrastructure
Describes the details for writing user IAM policies that control access to rules for the Networking service for a Roving Edge Infrastructure device.
Resource-Types
subnets
vnic-attachments
vcns
route-tables
public-ips
network-security-group
security-lists
private-ips
dhcp-options
vnics
Details for Verb + Resource-Type Combinations 🔗
The following tables show the permissions and API operations covered by each verb. The level of access is cumulative as you go from inspect > read > use > manage.
subnets
Verbs
Permissions
APIs Fully Covered
APIs Partially Covered
inspect
SUBNET_READ
ListSubnets
GetSubnet
None
read
SUBNET_READ
ListSubnets
GetSubnet
None
use
SUBNET_READ
SUBNET_ATTACH
SUBNET_DETACH
ListSubnets
GetSubnet
LaunchInstance (also need use vnics, use network-security-groups, and manage instance-family)
TerminateInstance (also need manage instance-family, and use volumes if a volume is attached)
AttachVnic (also need manage instances, use network-security-groups, and either use vnics or use instance-family)
DetachVnic (also need manage instances and either use vnics or use instance-family)
CreatePrivateIp, DeletePrivateIp (both also need use private-ips and use vnics)
manage
SUBNET_READ
SUBNET_ATTACH
SUBNET_DETACH
SUBNET_CREATE
SUBNET_DELETE
SUBNET_MOVE
SUBNET_UPDATE
ListSubnets
GetSubnet
LaunchInstance (also need use vnics, use network-security-groups, and manage instance-family)
TerminateInstance (also need manage instance-family, and use volumes if a volume is attached)
AttachVnic (also need manage instances, use network-security-groups, and either use vnics or use instance-family)
DetachVnic (also need manage instances and either use vnics or use instance-family)
CreatePrivateIp, DeletePrivateIp (both also need use private-ips and use vnics)
CreateSubnet, DeleteSubnet (both also need manage vcns, manage route-tables, manage security-lists, manage dhcp-options)
UpdateSubnet
Note: The above operations in this cell are covered with just manage virtual-network-family.
vnic-attachments
Verbs
Permissions
APIs Fully Covered
APIs Partially Covered
inspect
VNIC_ATTACHMENT_READ
GetVnicAttachment
ListVnicAttachments
CreateInstanceConfiguration (if using the CreateInstanceConfigurationFromInstanceDetails subtype. Also need read instances, inspect vnics, inspect volumes, and inspect volume-attachments.)
read
VNIC_ATTACHMENT_READ
None
ListVnicAttachments
CreateInstanceConfiguration (if using the CreateInstanceConfigurationFromInstanceDetails subtype. Also need read instances, inspect vnics, inspect volumes, and inspect volume-attachments.)
use
VNIC_ATTACHMENT_READ
None
ListVnicAttachments
CreateInstanceConfiguration (if using the CreateInstanceConfigurationFromInstanceDetails subtype. Also need read instances, inspect vnics, inspect volumes, and inspect volume-attachments.)
manage
VNIC_ATTACHMENT_READ
None
ListVnicAttachments
CreateInstanceConfiguration (if using the CreateInstanceConfigurationFromInstanceDetails subtype. Also need read instances, inspect vnics, inspect volumes, and inspect volume-attachments.)
vcns
Verbs
Permissions
APIs Fully Covered
APIs Partially Covered
inspect
VCN_READ
ListVcns
GetVcn
None
read
VCN_READ
ListVcns
GetVcn
None
use
VCN_READ
ListVcns
GetVcn
None
manage
VCN_READ
VCN_ATTACH
VCN_DETACH
VCN_UPDATE
VCN_CREATE
VCN_DELETE
VCN_MOVE
ListVcns
CreateVcn
UpdateVcn
DeleteVcn,
AddVcnCidr
ModifyVcnCidr
RemoveVcnCidr
CreateSubnet, DeleteSubnet (both also need manage route-tables and manage-security-lists and manage-dhcp-options)
route-tables
Verbs
Permissions
APIs Fully Covered
APIs Partially Covered
inspect
ROUTE_TABLE_READ
ListRouteTables
GetRouteTable
None
read
ROUTE_TABLE_READ
ListRouteTables
GetRouteTable
None
use
ROUTE_TABLE_READ
ListRouteTables
GetRouteTable
None
manage
ROUTE_TABLE_READ
ROUTE_TABLE_UPDATE
ROUTE_TABLE_ATTACH
ROUTE_TABLE_DETACH
ROUTE_TABLE_MOVE
ROUTE_TABLE_CREATE
ROUTE_TABLE_DELETE
ListRouteTables
GetRouteTable
CreateSubnet, DeleteSubnet (both also need manage vcns, manage subnets, manage security-lists, manage dhcp-options)
UpdateSubnet (if changing which route table is associated with the subnet, also need manage subnets)
Note: All of the above operations in this cell are totally covered with just manage virtual-network-family.
public-ips
Verbs
Permissions
APIs Fully Covered
APIs Partially Covered
read
PUBLIC_IP_READ
ListPublicIps
GetPublicIpByPrivateIpId
GetPublicIpByIpAddress
None
use
PUBLIC_IP_READ
PUBLIC_IP_ASSIGN_PRIVATE_IP
PUBLIC_IP_UNASSIGN_PRIVATE_IP
ListPublicIps
GetPublicIpByPrivateIpId
GetPublicIpByIpAddress
For reserved public IPs: UpdatePublicIp, CreatePublicIp, DeletePublicIp (all of these also need use private-ips and manage public-ips).
manage
PUBLIC_IP_READ
PUBLIC_IP_ASSIGN_PRIVATE_IP
PUBLIC_IP_UNASSIGN_PRIVATE_IP
PUBLIC_IP_UPDATE
PUBLIC_IP_MOVE
PUBLIC_IP_CREATE
PUBLIC_IP_DELETE
ListPublicIps
GetPublicIpByPrivateIpId
GetPublicIpByIpAddress
For reserved public IPs: UpdatePublicIp, CreatePublicIp, DeletePublicIp (all of these also need use private-ips and manage public-ips).
network-security-group
Verbs
Permissions
APIs Fully Covered
APIs Partially Covered
inspect
NETWORK_SECURITY_GROUP_INSPECT
NETWORK_SECURITY_GROUP_READ
None
AddNetworkSecurityGroupSecurityRules and UpdateNetworkSecurityGroupSecurityRules (both also need manage network-security-groups)
read
NETWORK_SECURITY_GROUP_INSPECT
NETWORK_SECURITY_GROUP_READ
NETWORK_SECURITY_GROUP_LIST_MEMBERS
NETWORK_SECURITY_GROUP_LIST_SECURITY_RULES
GetNetworkSecurityGroup
ListNetworkSecurityGroups
None
use
NETWORK_SECURITY_GROUP_INSPECT
NETWORK_SECURITY_GROUP_READ
NETWORK_SECURITY_GROUP_LIST_MEMBERS
NETWORK_SECURITY_GROUP_LIST_SECURITY_RULES
NETWORK_SECURITY_GROUP_UPDATE_MEMBERS
GetNetworkSecurityGroup
ListNetworkSecurityGroups
ListNetworkSecurityGroupSecurityRules
ListNetworkSecurityGroupVnics
LaunchInstance (also need manage instances, read instance-images, use vnics, use subnets, and read app-catalog-listing)
AttachVnic (also need manage instances, and use subnets)
UpdateVnic (also need use vnics)
manage
NETWORK_SECURITY_GROUP_INSPECT
NETWORK_SECURITY_GROUP_READ
NETWORK_SECURITY_GROUP_LIST_MEMBERS
NETWORK_SECURITY_GROUP_LIST_SECURITY_RULES
NETWORK_SECURITY_GROUP_UPDATE_MEMBERS
NETWORK_SECURITY_GROUP_CREATE
NETWORK_SECURITY_GROUP_DELETE
NETWORK_SECURITY_GROUP_MOVE
NETWORK_SECURITY_GROUP_UPDATE
NETWORK_SECURITY_GROUP_UPDATE_SECURITY_RULES
GetNetworkSecurityGroup
ListNetworkSecurityGroups
ListNetworkSecurityGroupSecurityRules
ListNetworkSecurityGroupVnics
UpdateNetworkSecurityGroup
ChangeNetworkSecurityGroupCompartment
AddNetworkSecurityGroupSecurityRules
LaunchInstance (also need manage instances, read instance-images, use vnics, use subnets, and read app-catalog-listing)
AttachVnic (also need manage instances, and use subnets)
UpdateVnic (also need use vnics)
CreateNetworkSecurityGroup, DeleteNetworkSecurityGroup (both also need manage vcns)
Note: Both of the above operations in this cell are totally covered with just manage virtual-network-family.
security-lists
Verbs
Permissions
APIs Fully Covered
APIs Partially Covered
inspect
SECURITY_LIST_READ
ListSecurityLists
GetSecurityList
None
read
SECURITY_LIST_READ
ListSecurityLists
GetSecurityList
None
use
SECURITY_LIST_READ
ListSecurityLists
GetSecurityList
None
manage
SECURITY_LIST_READ
SECURITY_LIST_UPDATE
SECURITY_LIST_MOVE
SECURITY_LIST_ATTACH
SECURITY_LIST_DETACH
SECURITY_LIST_CREATE
SECURITY_LIST_DELETE
ListSecurityLists
GetSecurityList
UpdateSecurityList
CreateSecurityList, DeleteSecurityList (both also need manage vcns)
CreateSubnet, DeleteSubnet (both also need manage vcns, manage subnets, manage route-tables, manage dhcp-options)
UpdateSubnet (if changing which security lists are associated with the subnet, also need manage subnets)
Note: All of the above operations in this cell are totally covered with just manage virtual-network-family.
private-ips
Verbs
Permissions
APIs Fully Covered
APIs Partially Covered
inspect
PUBLIC_IP_READ
ListPublicIps
GetPublicIpByPrivateIpId
GetPublicIpByIpAddress
None
read
PUBLIC_IP_READ
ListPublicIps
GetPublicIpByPrivateIpId
GetPublicIpByIpAddress
None
use
PRIVATE_IP_READ
PRIVATE_IP_UNASSIGN
PRIVATE_IP_UNASSIGN_PUBLIC_IP
PRIVATE_IP_UPDATE
PRIVATE_IP_ASSIGN
PRIVATE_IP_ASSIGN_PUBLIC_IP
PRIVATE_IP_CREATE
PRIVATE_IP_DELETE
ListPublicIps
GetPublicIpByPrivateIpId
GetPublicIpByIpAddress
For ephemeral public IPs: UpdatePublicIp, CreatePublicIp, DeletePublicIp
CreatePrivateIp, DeletePrivateIp (both also need use subnets and use vnics)
UpdatePrivateIp (also needs use vnics)
For reserved public IPs: UpdatePublicIp, CreatePublicIp, DeletePublicIp (all also need manage public-ips)
Note: The above operations in this cell are totally covered with just use virtual-network-family.
manage
PRIVATE_IP_READ
PRIVATE_IP_UNASSIGN
PRIVATE_IP_UNASSIGN_PUBLIC_IP
PRIVATE_IP_UPDATE
PRIVATE_IP_ASSIGN
PRIVATE_IP_ASSIGN_PUBLIC_IP
PRIVATE_IP_CREATE
PRIVATE_IP_DELETE
PRIVATE_IP_ROUTE_TABLE_ATTACH
PRIVATE_IP_ROUTE_TABLE_DETACH
For ephemeral public IPs: UpdatePublicIp, CreatePublicIp, DeletePublicIp
CreatePrivateIp, DeletePrivateIp (both also need use subnets and use vnics)
UpdatePrivateIp (also needs use vnics)
For reserved public IPs: UpdatePublicIp, CreatePublicIp, DeletePublicIp (all also need manage public-ips)
Note: The above operations in this cell are totally covered with just use virtual-network-family.
dhcp-options
Verbs
Permissions
APIs Fully Covered
APIs Partially Covered
inspect
DHCP_READ
ListDhcpOptions
GetDhcpOptions
None
read
DHCP_READ
ListDhcpOptions
GetDhcpOptions
None
use
DHCP_READ
ListDhcpOptions
GetDhcpOptions
None
manage
DHCP_READ
DHCP_UPDATE
DHCP_MOVE
DHCP_ATTACH
DHCP_DETACH
DHCP_CREATE
DHCP_DELETE
ListDhcpOptions
GetDhcpOptions
UpdateDhcpOptions
Note: Ability to update a set of DHCP options is available only with the manage verb, not the use verb.
CreateDhcpOptions, DeleteDhcpOptions (both also need manage vcns)
UpdateSubnet (if changing which set of DHCP options is associated with the subnet, also need manage subnets)
Note: All of the above operations in this cell are totally covered with just manage virtual-network-family.
vnics
Verbs
Permissions
APIs Fully Covered
APIs Partially Covered
inspect
VNIC_READ
GetVnic
CreateInstanceConfiguration (if using the CreateInstanceConfigurationFromInstanceDetails subtype. Also need read instances, inspect vnic-attachments, inspect volumes, and inspect volume-attachments.)
read
VNIC_READ
GetVnic
None
use
VNIC_READ
VNIC_UNASSIGN
VNIC_ASSIGN
VNIC_UPDATE
VNIC_ASSOCIATE_NETWORK_SECURITY_GROUP
VNIC_DISASSOCIATE_NETWORK_SECURITY_GROUP
VNIC_ATTACH
VNIC_DETACH
VNIC_CREATE
VNIC_DELETE
GetVnic
LaunchInstance (also need use subnets, use network-security-groups, and manage instance-family)
AttachVnic (also need manage instances, use subnets, and use network-security-groups)
UpdateVnic (also need use network-security-groups)
DetachVnic (also need manage instances and use subnets)
CreatePrivateIp, DeletePrivateIp (both also need use subnets and use private-ips)
manage
VNIC_READ
VNIC_UNASSIGN
VNIC_ASSIGN
VNIC_UPDATE
VNIC_ASSOCIATE_NETWORK_SECURITY_GROUP
VNIC_DISASSOCIATE_NETWORK_SECURITY_GROUP
VNIC_ATTACH
VNIC_DETACH
VNIC_CREATE
VNIC_DELETE
GetVnic
LaunchInstance (also need use subnets, use network-security-groups, and manage instance-family)
AttachVnic (also need manage instances, use subnets, and use network-security-groups)
UpdateVnic (also need use network-security-groups)
DetachVnic (also need manage instances and use subnets)
CreatePrivateIp, DeletePrivateIp (both also need use subnets and use private-ips)