Access management in Application Load Balancer
In this section, you will learn:
- Which resources you can assign a role for.
- Which roles exist in the service.
- Which roles are required for particular actions.
About access management
In Yandex Cloud, all transactions are checked in Yandex Identity and Access Management. If a subject does not have the required permission, the service returns an error.
To grant permissions for a resource, assign roles for this resource to the subject that will perform the operations. You can assign roles to a Yandex account, service account, federated users, user group, system group, or public group. For more information, see How access management works in Yandex Cloud.
Roles for a resource can be assigned by users who have at least one of the following roles for that resource:
admin
resource-manager.admin
organization-manager.admin
resource-manager.clouds.owner
organization-manager.organizations.owner
Which resources you can assign a role for
You can assign a role to an organization, cloud, or folder. The roles assigned for organizations, clouds, or folders also apply to nested resources.
Which roles exist in the service
The chart below shows which roles are available in the service and how they inherit each other's permissions. For example, the editor
role includes all the permissions of viewer
. You can find the description of each role under 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 also 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 also 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 also 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
To connect a public IP address to a new or existing L7 load balancer, you need to assign the vpc.publicAdmin
role to the network where the load balancer is located, apart from the alb.editor
or alb.admin
roles.
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.
Currently, the auditor
role is available for all Yandex Cloud services, except for:
- Yandex Data Streams
- Yandex Query
viewer
The viewer
role grants the permissions to read the info on any Yandex Cloud resources.
This role also 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 also 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 also includes the editor
permissions.
Instead of primitive roles, we recommend using service roles. This ensures more selective access control and implementation of the principle of least privilege.
For more information about primitive roles, see the Yandex Cloud role reference.
What roles do I need
The table below lists the roles required to perform a particular action. You can always assign a role offering more permissions than the one specified. For example, you can assign the editor
role instead of viewer
.
Action | Methods | Required roles |
---|---|---|
View data | ||
View information about any resource | get , list , listOperations |
alb.viewer for this resource |
Manage L7 load balancers | ||
Create and update L7 load balancers with public IP addresses | create |
alb.editor and vpc.publicAdmin to the network where the load balancer is located |
Create and update L7 load balancers without a public IP address | create |
alb.editor |
Delete L7 load balancers | update , delete |
alb.editor |
Get the status of target groups | getTargetStates |
alb.viewer |
Add, update, and remove listeners | addListener , updateListener , removeListener |
alb.editor |
Add, update, and remove an SNI match | addSniMatch , updateSniMatch , removeSniMatch |
alb.editor |
Getting certificates for listeners with TLS encryption | addListener , updateListener |
certificate-manager.certificates.downloader |
Stop and start an L7 load balancer | stop , start |
alb.editor |
Manage HTTP routers | ||
Create an HTTP router | create |
alb.editor |
Update an HTTP router | update |
alb.editor |
Delete an HTTP router | delete |
alb.editor |
Manage backend groups | ||
Create and update backend groups | create , update , updateBackend |
alb.editor |
Delete backend groups | delete |
alb.editor |
Add resources in a backend group | addBackend |
alb.editor |
Remove resources in a backend group | removeBackend |
alb.editor |
Manage target groups | ||
Create and update target groups in a folder | create , update |
alb.editor |
Delete target groups | delete |
alb.editor |
Add resources in a target group | addTargets |
alb.editor |
Remove resources in a target group | removeTargets |
alb.editor |
Manage resource access | ||
Grant a role, revoke a role, and view roles granted for the resource | setAccessBindings , updateAccessBindings , listAccessBindings |
admin for the resource |