IBM Cloud Docs
Required permissions

Required permissions

Table 1 lists the minimum Identity and Access Management (IAM) roles that are required to interact with IBM Cloud® Virtual Private Cloud (VPC) infrastructure objects.

For more information about IAM roles, see Getting Started with IAM.

Table 1. Minimum IAM roles for VPC actions
Resource Action Minimum IAM role
VPC Create Viewer for the resource group of the VPC

Editor for Virtual Private Cloud resources

Operator for the ACL, if the user selects a specific ACL to be the default ACL

VPC Update, Delete Editor for the VPC
VPC View, List Viewer for the VPC
VPC default ACL and security group View, List Viewer for the VPC
VPC address prefixes Create, Update, Delete Editor for the VPC
VPC address prefixes View, List Viewer for the VPC
—————— ——————— ————————
ACL Create Editor for Network ACL and VPC resources
ACL Update, Delete Editor for the ACL
ACL View, List Viewer for the ACL
ACL rule Create, Update, Delete Editor for the ACL
ACL rule View, List Viewer for the ACL
———————— ————————— ————————
Backup Create, Update, Delete Editor to create, update, or delete backup policy
Backup View, List Viewer to view policy details, list policies
Backup View, List Viewer to view backup plan details, list plans
Backup Create, Update, Delete Editor to create, update, or delete backup plan
———————— ————————— ————————
Floating IP (unassociated) Create Editor for Floating IP for VPC resources
Floating IP (unassociated) Update, Delete Editor for the floating IP
Floating IP (unassociated) View, List Viewer for the floating IP
———————— ————————— ————————
Flow logs Create, Delete, List, Operate, Read, Update See Managing access for flow logs for details.
———————— ————————— ————————
Geography View, List For regions and zones, any account user
———————— ————————— ————————
Images Create Editor for Image Service for VPC resources
Images Update, Delete Editor for the image
Images View, List Viewer for the image
———————— ————————— ————————
Instances Create Editor for Virtual Server for VPC and Block Storage for VPC resources

Editor for Floating IP for VPC resources, if a floating IP is to be associated

Operator for the VPC, subnet, and the security group

Instances Update, Delete Editor for the instance
Instances View, List Viewer for the instance
Instances Post IP Spoofing Operator for instance
Instances Create console Operator and Console Administrator for the instance
Instance actions Create, Update, Delete Operator for the instance
Instance actions View, List Viewer for the instance
Instance storage View, List Viewer for the instance
Instance storage Update name Editor for the instance
Interfaces View, List Viewer for the instance
Interface's floating IP View, List Viewer for the instance and the floating IP
Instance's floating IP Associate Editor for the instance

Operator for the floating IP

Instance's floating IP Disassociate Editor for the instance
Volume attachments View, List Viewer for the instance
Volume attachments Create Editor for the Instance and volume
Volume attachments Update, Delete Editor for the instance
———————— ————————— ————————
Dedicated host group Create, Update, Delete Editor for the dedicated host group
Dedicated host group View, List Viewer for the dedicated host group
Dedicated host group Create an instance in Operator for the dedicated host group
Dedicated host Create Editor for the dedicated host

Editor for the dedicated host group

Dedicated host Update, Delete Editor for the dedicated host
Dedicated host View, List Viewer for the dedicated host
Dedicated host Create an instance on Operator for the dedicated host
———————— ————————— ————————
Bare metal server View, List Viewer for the bare metal server
Bare metal server Update, Delete Editor for the bare metal server
Bare metal server Create Editor for the bare metal server

Advanced Network Operator for the bare metal server

Subnet Editor

Operator for the security group

Operator for VPC

Operator for Key

Operator for Image

Bare metal server IP spoofing, Infrastructure NAT Advanced Network Operator for the bare metal server
Bare metal server Operate (Restart, Start, Stop, Retrieve initialization data) Operator for the bare metal server
Bare metal server Create console access token Console Admin for the bare metal server

Operator for the bare metal server

Bare metal server disk View, List Viewer for the bare metal server
Bare metal server disk Update Operator for the bare metal server
Bare metal server network interface Create Editor for the bare metal server

Editor for subnet

Operator for the security group

Advanced Network Operator for the bare metal server

Bare metal server network interface Update Editor for the bare metal server

Advanced Network Operator for the bare metal server

Bare metal server network interface Delete Editor for the bare metal server
Bare metal server network interface View, List Viewer for the bare metal server
Bare metal server floating IP View, List Viewer for the bare metal server

Viewer for Floating IP

Bare metal server floating IP Operate (Associate, Detach) Editor for the bare metal server

Operator for Floating IP

———————— ————————— ————————
Instance group Create Editor for Virtual Server for VPC and Block Storage for VPC resources

Operator for the VPC and subnet

Viewer for the instance template

Editor for the load balancer, if a load balancer is to be associated

Instance group Update Editor for the instance group

Operator for the subnet

Viewer for the instance template

Editor for the load balancer, if a load balancer is specified

Instance group Delete Editor for the instance group

Editor for the associated instances

Editor for the load balancer, if a load balancer is specified

Instance group View, List Viewer for the instance group
Instance group membership Update Editor for the instance group
Instance group membership Delete Editor for the instance group

Editor for the associated instance

Editor for the load balancer, if a load balancer is specified

Instance group manager Create, Update, Delete Editor for the instance group
Instance group manager View Viewer for the instance group
Instance group manager policy Create, Update, Delete Editor for the instance group
Instance group manager policy View Viewer for the instance group
Instance network interface Create, Update IP Spoofing Operator for instance
Instance template Create, Update, Delete Editor for instance
Instance template View Viewer for instance
———————— ————————— ————————
Load balancer Create Editor for load balancer for VPC resources

Operator for security groups

Viewer for VPC

Load balancer Update Editor for the load balancer
Load balancer Delete Editor for the load balancer

Operator for security groups

Load balancer View, List Viewer for the load balancer
Load balancer pools and listeners Create, Update, Delete Editor for the load balancer
Load balancer pools and listeners View, List Viewer for the load balancer
———————— ————————— ————————
Placement group View Viewer for placement groups
Placement group Create, Delete, Update Editor for placement groups
———————— ————————— ————————
Public gateway Create Editor for Public Gateway resources

Operator for the VPC and Floating IP resources

Public gateway Update, Delete Editor for the public gateway
Public gateway View, List Viewer for the public gateway
—————— ——————— ————————
Routing tables List Viewer to list routing tables
Routing tables Read Viewer of a routing table
Routing tables Create Editor of a routing table
Routing tables Update Editor of a routing table and routes
Routing tables Delete Editor to delete a routing table
Routing tables Operate Operator to configure a subnet attachment to a routing table
Routing tables Advertise Editor to configure route advertisement
—————— ——————— ————————
Shares View, List Viewer for file shares and mount targets
Shares Create Editor for creating file shares
Shares Create Operator role for creating mount targets
Shares Update, Delete Editor for updating and deleting file shares
Shares Update Editor role for updating mount targets
Shares Delete Operator role for deleting mount targets
Share profiles View, List Any account user
—————— ——————— ————————
Security group View, List Viewer for the security group
Security group Create Viewer for the VPC and the resource group of the security group

Editor for security group for VPC resources

Security group Update, Delete Editor for the security group
Security group rule View, List Viewer for the security group
Security group rule Create, Update, Delete Editor for the security group
Security group target View, List Viewer for the security group
Security group target Attach, Detach Operator for the security group

Editor for instance if the target is a network interface

Editor for load balancer if the target is a load balancer

———————— ————————— ————————
Snapshots View, List Viewer for snapshots
Snapshots Create Editor for creating snapshots
Snapshots Update, Delete Editor for updating and deleting snapshots
———————— ————————— ————————
SSH key Create Editor for SSH Key for VPC resources
SSH key Update, Delete Editor for the SSH key
SSH key View, List Viewer for the SSH key
———————— ————————— ————————
Subnet Create Editor for Subnet resources

Operator for the VPC and the public gateway, if it is to be associated

Viewer for the ACL

Subnet Update Editor for the subnet

Operator for the public gateway, if it is associated

Viewer for the ACL

Subnet Delete Editor for the subnet
Subnet View, List Viewer for the subnet
Subnet's ACL Attach, Detach Editor for the subnet

Viewer for the ACL

Subnet's ACL View, List Viewer for the subnet and ACL
Subnet's public gateway Attach, Detach Editor for the subnet

Operator for the public gateway

Subnet's public gateway View, List Viewer for the subnet and public gateway
Subnet's route Create, Update, Delete Editor for VPC routes
Subnet's route View, List Viewer of VPC routes
———————— ————————— ————————
Volumes Create Editor for Block Storage for VPC resources
Volumes Update, Delete Editor for the volume
Volumes View, List Viewer for the volume
Volume profiles View, List Any account user
———————— ————————— ————————
VPN gateway Create Editor for VPN for VPC resources
VPN gateway Update, Delete Editor for the VPN gateway
VPN gateway View, List Viewer for the VPN gateway
VPN gateway connections Create, Update, Delete Editor for the VPN gateway
VPN gateway connections View, List Viewer for the VPN gateway
VPN gateway ike_policies, ipsec_policies and connections Create, Update, Delete Editor for the VPN gateway
VPN gateway ike_policies, ipsec_policies and connections View, List Viewer for the VPN gateway

Client-to-site VPN server tasks

The following table lists tasks that are associated with the client-to-site VPN server service, the minimum IAM role required to complete the task, and the associated API method.

Table 2. Minimum IAM roles for VPN gateway API and CLI calls
Description Resource Minimum IAM role Action API
List all VPN servers VPN server Viewer is.vpn-server.vpn-server.read GET /vpn_servers/<vpn-server-id> and GET /vpn_servers/<vpn-server-id>/configuration
Create VPN server VPN server Editor is.vpn-server.vpn-server.create POST /vpn_servers
Delete VPN server VPN server Editor is.vpn-server.vpn-server.delete DELETE /vpn_servers/<vpn-server-id>
Update VPN server VPN server Editor is.vpn-server.vpn-server.update PATCH /vpn_servers/<vpn-server-id>
Create security group VPN server Security Group Operator is.security-group.security-group.operate POST /vpn_servers
Create subnet VPN server Subnet Operator is.subnet.subnet.update POST /vpn_servers
Update subnet VPN server Subnet Operator is.subnet.subnet.update PATCH /vpn_servers/<vpn-server-id>
List VPN server VPN server Operator is.vpn-server.vpn-server.read GET /vpn_servers/<vpn-server-id>/clients/<vpn-server-client-id>
Delete a VPN client (This request disconnects and deletes the VPN client from the VPN server immediately) VPN server Operator is.vpn-server.vpn-server.operate DELETE /vpn_servers/<vpn-server-id>/clients/<vpn-server-client-id>
Disconnect a VPN client (This request disconnects the specified VPN client, and deletes the client according to the VPN server's auto-deletion policy) VPN server Operator is.vpn-server.vpn-server.operate POST /vpn_servers/<vpn-server-id>/clients/<vpn-server-client-id>/disconnect
List all routes for a VPN server VPN server Operator is.vpn-server.vpn-server.read GET /vpn_servers/<vpn-server-id>/routes/<vpn-server-route-id>
Create a route for a VPN server VPN server Editor is.vpn-server.vpn-server.update POST /vpn_servers/routes
Connect to VPN server VPN server VPNClient is.vpn-server.vpn-server.connect N/A

DNS resolution binding tasks

This VPC feature is available only to accounts with special approval to preview this feature.

The following table lists the required IAM actions for each API call.

Table 3: API requests and IAM actions.
Action (DNS-shared) Minimum IAM role (DNS-shared) Action (hub) Minimum IAM role (hub) Note API
is.vpc.vpc.update Editor is.vpc.vpc.read (S2S for cross-account) Viewer when run on DNS-shared VPC POST /dns_resolution_bindings
is.vpc.vpc.update Editor is.vpc.vpc.read (S2S for cross-account) Viewer when run on DNS-shared VPC DELETE /dns_resolution_bindings/{id}
is.vpc.vpc.update Editor when run on DNS-shared VPC PATCH /dns_resolution_bindings/{id}
is.vpc.vpc.update Editor when run on hub VPC PATCH /dns_resolution_bindings/{id}
is.vpc.vpc.read Viewer when run on DNS-shared VPC GET /dns_resolution_bindings/{id}
is.vpc.vpc.read Viewer when run on hub VPC GET /dns_resolution_bindings/{id}
is.vpc.vpc.read Viewer when run on DNS-shared VPC GET /dns_resolution_bindings
is.vpc.vpc.read Viewer when run on hub VPC GET /dns_resolution_bindings
is.vpc.vpc.update Editor is.vpc.vpc.read (S2S for cross-account) Viewer when run on DNS-shared VPC PATCH /vpcs/{vpc_id} when dns.resolver.type set to delegate