Access management in Application Load Balancer
In this section, you will learn:
- What resources you can assign a role for.
- What roles this service has.
- What roles are required for specific actions.
Access management
Yandex Identity and Access Management checks all operations in Yandex Cloud. If an entity does not have required permissions, IAM returns an error.
To grant permissions for a resource, assign the relevant resource roles to an entity performing operations. You can assign roles to a Yandex account, service account, local user, federated user, user group, system group, or public group. For more information, see How access management works in Yandex Cloud.
To assign roles for a resource, you need to have one of the following roles for that resource:
adminresource-manager.adminorganization-manager.adminresource-manager.clouds.ownerorganization-manager.organizations.owner
Resources you can assign a role for
You can assign a role to an organization, cloud, or folder. The roles assigned to organizations, clouds, and folders also apply to their nested resources.
Available service roles
The chart below shows service’s roles and their permission inheritance. For example, editor inherits all viewer permissions. You can find role descriptions below the chart.
Service roles
alb.auditor
The alb.auditor role enables you to view info on the Application Load Balancer resources and quotas.
Users with this role can:
- View the list of L7 balancers and the info on them.
- View the list of HTTP routers and the info on them.
- View the list of virtual hosts and the info on them.
- View the list of backend groups and the info on them.
- View the list of target groups and the info on them.
- View info on the Application Load Balancer quotas.
alb.viewer
The alb.viewer role enables viewing the list of Application Load Balancer resources and the info on them and the relevant quotas.
Users with this role can:
- View the list of L7 balancers and the info on them.
- View the list of HTTP routers and the info on them.
- View the list of virtual hosts and the info on them.
- View the list of backend groups and the info on them.
- View the list of target groups and the info on them.
- View info on the Application Load Balancer quotas.
This role includes the alb.auditor permissions.
alb.user
The alb.user role enables using L7 balancers, HTTP routers, backend groups, and target groups, as well as viewing info on the Application Load Balancer resources.
Users with this role can:
- View the list of L7 balancers and info on them, as well as use them.
- View the list of HTTP routers and the info on them, as well as use such routers.
- View the list of virtual hosts and the info on them.
- View the list of backend groups and info on them, as well as use them.
- View the list of target groups and the info on them, as well as use them.
- View info on the Application Load Balancer quotas.
You can assign this role for a folder.
alb.editor
The alb.editor role enables managing Application Load Balancer resources and internal network load balancers, as well as viewing info on them and on the cloud networks, subnets, route tables, gateways, security groups, and IP addresses.
Users with this role can:
- View the list of L7 balancers and the info on them, as well as create, modify, delete, and use such balancers.
- View the list of HTTP routers and the info on them, as well as create, modify, delete, and use such routers.
- View the list of virtual hosts and info on them, as well as modify them.
- View the list of backend groups and the info on them, as well as create, modify, delete, and use such groups.
- View the list of L7 balancer target groups and network balancers and the info on them, as well as create, modify, delete, and use target groups.
- View the list of network load balancers and the info on them, as well as create internal network load balances (including those with UDP listeners), modify, delete, start, and stop them.
- View the list of cloud networks and info on them, as well as use them.
- View the list of subnets and info on them, as well as use them.
- View the list of cloud resource addresses and info on them, as well as use such addresses.
- View the list of route tables and info on them, as well as use them.
- View the list of security groups and info on them, as well as use them.
- View information on NAT gateways and connect them to route tables.
- View the info on the used IP addresses in subnets, as well as create internal addresses.
- View the info on operations with the Virtual Private Cloud and Compute Cloud resources.
- View the list of operations with the Network Load Balancer resources.
- View info on the relevant cloud and folder.
- View info on the Application Load Balancer, Network Load Balancer, and Virtual Private Cloud quotas.
This role includes the load-balancer.privateAdmin and vpc.user permissions.
To connect a public IP address to a new or existing L7 balancer, you also need the vpc.publicAdmin role assigned for the network where the balancer resides.
alb.admin
The alb.admin role enables managing Application Load Balancer resources and internal network load balancers, as well as viewing info on cloud networks, subnets, route tables, gateways, security groups, IP addresses, and quotas.
Users with this role can:
- View the list of L7 balancers and the info on them, as well as create, modify, delete, and use such balancers.
- View the list of HTTP routers and the info on them, as well as create, modify, delete, and use such routers.
- View the list of virtual hosts and info on them, as well as modify them.
- View the list of backend groups and the info on them, as well as create, modify, delete, and use such groups.
- View the list of L7 balancer target groups and network balancers and the info on them, as well as create, modify, delete, and use target groups.
- View the list of network load balancers and the info on them, as well as create internal network load balances (including those with UDP listeners), modify, delete, start, and stop them.
- View the list of cloud networks and info on them, as well as use them.
- View the list of subnets and info on them, as well as use them.
- View the list of cloud resource addresses and info on them, as well as use such addresses.
- View the list of route tables and info on them, as well as use them.
- View the list of security groups and info on them, as well as use them.
- View information on NAT gateways and connect them to route tables.
- View the info on the used IP addresses in subnets, as well as create internal addresses.
- View the info on operations with the Virtual Private Cloud and Compute Cloud resources.
- View the list of operations with the Network Load Balancer resources.
- View info on the relevant cloud and folder.
- View info on the Application Load Balancer, Network Load Balancer, and Virtual Private Cloud quotas.
This role includes the alb.editor permissions.
To connect a public IP address to a new or existing L7 balancer, you also need the vpc.publicAdmin role assigned for the network where the balancer resides.
Note
Assigning a public IP address to an L7 load balancer requires vpc.publicAdmin and alb.editor / alb.admin role permissions for the network where the load balancer is located.
Primitive roles
Primitive roles allow users to perform actions in all Yandex Cloud services.
auditor
The auditor role grants a permission to read configuration and metadata of any Yandex Cloud resources without any access to data.
For instance, users with this role can:
- View info on a resource.
- View the resource metadata.
- View the list of operations with a resource.
auditor is the most secure role that does not grant any access to the service data. This role suits the users who need minimum access to the Yandex Cloud resources.
viewer
The viewer role grants the permissions to read the info on any Yandex Cloud resources.
This role includes the auditor permissions.
Unlike auditor, the viewer role provides access to service data in read mode.
editor
The editor role provides permissions to manage any Yandex Cloud resources, except for assigning roles to other users, transferring organization ownership, removing an organization, and deleting Key Management Service encryption keys.
For instance, users with this role can create, modify, and delete resources.
This role includes the viewer permissions.
admin
The admin role enables assigning any roles, except for resource-manager.clouds.owner and organization-manager.organizations.owner, and provides permissions to manage any Yandex Cloud resources (except for transferring organization ownership and removing an organization).
Prior to assigning the admin role for an organization, cloud, or billing account, make sure to check out the information on protecting privileged accounts.
This role includes the editor permissions.
Instead of primitive roles, we recommend using service roles with more granular access control, allowing you to implement the least privilege principle.
For more information about primitive roles, see the Yandex Cloud role reference.
What roles do I need
The table below lists the roles required for specific actions. You can always assign a role with more permissions. For example, you can assign the editor role instead of viewer.
| Action | Methods | Required roles |
|---|---|---|
| Viewing data | ||
| Viewing resource details | get, list, listOperations |
alb.viewer for the required resource |
| Managing L7 load balancers | ||
| Creating and updating L7 load balancers with public IP addresses | create |
alb.editor and vpc.publicAdmin for the network containing the load balancer |
| Creating and updating L7 load balancers without public IP addresses | create |
alb.editor |
| Deleting L7 load balancers | update, delete |
alb.editor |
| Getting target group statuses | getTargetStates |
alb.viewer |
| Adding, updating, and removing listeners | addListener, updateListener, removeListener |
alb.editor |
| Adding, updating, and removing SNI listeners | addSniMatch, updateSniMatch, removeSniMatch |
alb.editor |
| Getting TLS listener certificates | addListener, updateListener |
certificate-manager.certificates.downloader |
| Stopping and starting an L7 load balancer | stop, start |
alb.editor |
| Managing HTTP routers | ||
| Creating an HTTP router | create |
alb.editor |
| Updating an HTTP router | update |
alb.editor |
| Deleting an HTTP router | delete |
alb.editor |
| Managing backend groups | ||
| Creating and updating backend groups | create, update, updateBackend |
alb.editor |
| Deleting backend groups | delete |
alb.editor |
| Adding resources to a backend group | addBackend |
alb.editor |
| Removing resources from a backend group | removeBackend |
alb.editor |
| Managing target groups | ||
| Creating and updating target groups in a folder | create, update |
alb.editor |
| Deleting target groups | delete |
alb.editor |
| Adding resources to a target group | addTargets |
alb.editor |
| Removing resources from a target group | removeTargets |
alb.editor |
| Resource access management | ||
| Granting, revoking, and viewing roles for a resource | setAccessBindings, updateAccessBindings, listAccessBindings |
admin for the resource |
Note
While creating a load balancer using the wizard, you may face a bucket access error when creating a group of backends. To avoid this, you need the storage.viewer role.