[Yandex Cloud documentation](../../index.md) > [Yandex Network Load Balancer](../index.md) > Access management

# Access management in Network Load Balancer

In this section, you will learn:
* [Resources you can assign a role for](#resources).
* [Roles this service has](#roles-list).
* [What roles are required](#choosing-roles) for specific actions.

## Access management {#about-access-control}

[Yandex Identity and Access Management](../../iam/index.md) 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](../../iam/operations/roles/grant.md) the relevant resource roles to an entity performing operations. You can assign roles to a [Yandex account](../../iam/concepts/users/accounts.md#passport), [service account](../../iam/concepts/users/service-accounts.md), [local user](../../iam/concepts/users/accounts.md#local), [federated user](../../iam/concepts/federations.md), [user group](../../organization/operations/manage-groups.md), [system group](../../iam/concepts/access-control/system-group.md), or [public group](../../iam/concepts/access-control/public-group.md). For more information, see [How access management works in Yandex Cloud](../../iam/concepts/access-control/index.md).

To assign roles for a resource, you need to have one of the following roles for that resource:

* `admin`
* `resource-manager.admin`
* `organization-manager.admin`
* `resource-manager.clouds.owner`
* `organization-manager.organizations.owner`

## Resources you can assign a role for {#resources}

You can assign a role to an [organization](../../organization/concepts/organization.md), [cloud](../../resource-manager/concepts/resources-hierarchy.md#cloud), or [folder](../../resource-manager/concepts/resources-hierarchy.md#folder). The roles assigned to organizations, clouds, and folders also apply to their nested resources.

## Roles this service has {#roles-list}

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.

```mermaid
%%{init: {"flowchart": {'defaultRenderer': 'elk'}} }%%
flowchart BT
    load-balancer.auditor --> load-balancer.viewer
    load-balancer.viewer --> load-balancer.privateAdmin
    load-balancer.privateAdmin --> load-balancer.editor
    load-balancer.editor --> load-balancer.admin

    vpc.viewer --> load-balancer.privateAdmin
```

### Service roles {#service-roles}

#### load-balancer.auditor {#load-balancer-auditor}

The `load-balancer.auditor` role enables viewing the list of target groups and network load balancers, as well as viewing the info on them and on the Network Load Balancer quotas.

Users with this role can:
* View the list of [target groups](../concepts/target-resources.md) and the info on them.
* View the list of [network load balancers](../concepts/index.md) and the info on them.
* View the list of operations with the Network Load Balancer resources.
* View information on the relevant [cloud](../../resource-manager/concepts/resources-hierarchy.md#cloud) and [folder](../../resource-manager/concepts/resources-hierarchy.md#folder).
* View info on Network Load Balancer [quotas](../concepts/limits.md#load-balancer-quotas).

#### load-balancer.viewer {#load-balancer-viewer}

The `load-balancer.viewer` role enables viewing the list of target groups and network load balancers, as well as viewing the info on them, the list of operations on them, the info on the relevant cloud and folder, and the Network Load Balancer quotas.

Users with this role can:
* View the list of [target groups](../concepts/target-resources.md) and the info on them.
* View the list of [network load balancers](../concepts/index.md) and the info on them.
* View the list of operations with the Network Load Balancer resources.
* View information on the relevant [cloud](../../resource-manager/concepts/resources-hierarchy.md#cloud) and [folder](../../resource-manager/concepts/resources-hierarchy.md#folder).
* View info on Network Load Balancer [quotas](../concepts/limits.md#load-balancer-quotas).

This role includes the `load-balancer.auditor` permissions.

#### load-balancer.privateAdmin {#load-balancer-private-admin}

The `load-balancer.privateAdmin` role enables managing internal network load balancers and target groups, 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 [network load balancers](../concepts/index.md) 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 [target groups](../concepts/target-resources.md) and the info on them, as well as create, modify, delete, and use target groups.
* View the list of [cloud networks](../../vpc/concepts/network.md#network) and the info on them.
* View the list of [subnets](../../vpc/concepts/network.md#subnet) and info on them, as well as use them.
* View the list of [cloud resource addresses](../../vpc/concepts/address.md) and the info on them.
* View the list of [route tables](../../vpc/concepts/routing.md#rt-vpc) and the info on them.
* View the list of [security groups](../../vpc/concepts/security-groups.md) and the info on them.
* View information on [NAT gateways](../../vpc/concepts/gateways.md).
* View the info on the used IP addresses in subnets, as well as create [internal addresses](../../vpc/concepts/address.md#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 information on the relevant [cloud](../../resource-manager/concepts/resources-hierarchy.md#cloud) and [folder](../../resource-manager/concepts/resources-hierarchy.md#folder).
* View info on [Network Load Balancer](../concepts/limits.md#load-balancer-quotas) and [Virtual Private Cloud](../../vpc/concepts/limits.md#vpc-quotas) quotas.

This role includes the `load-balancer.viewer` and `vpc.viewer` permissions.

#### load-balancer.editor {#load-balancer-editor}

The `load-balancer.editor` role enables managing internal and external network load balancers and target groups, as well as viewing info on them and on the cloud networks, subnets, route tables, gateways, security groups, and IP addresses. The role does not allow creating public IP addresses.

Users with this role can:
* View the list of [network load balancers](../concepts/index.md) and info on them.
* Create internal and external network load balancers and those with UDP listeners, as well as modify, delete, start, and stop load balancers.
* View the list of [target groups](../concepts/target-resources.md) and the info on them, as well as create, modify, delete, and use target groups.
* View the list of [cloud networks](../../vpc/concepts/network.md#network) and info on them, as well as set up external access to them.
* View the list of [subnets](../../vpc/concepts/network.md#subnet) and info on them, as well as use them.
* View the list of [cloud resource addresses](../../vpc/concepts/address.md) and the info on them.
* View the list of [route tables](../../vpc/concepts/routing.md#rt-vpc) and the info on them.
* View the list of [security groups](../../vpc/concepts/security-groups.md) and the info on them.
* View information on [NAT gateways](../../vpc/concepts/gateways.md).
* View the info on the used IP addresses, create [private](../../vpc/concepts/address.md#internal-addresses) addresses and use them.
* 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 information on the relevant [cloud](../../resource-manager/concepts/resources-hierarchy.md#cloud) and [folder](../../resource-manager/concepts/resources-hierarchy.md#folder).
* View info on [Network Load Balancer](../concepts/limits.md#load-balancer-quotas) and [Virtual Private Cloud](../../vpc/concepts/limits.md#vpc-quotas) quotas.

This role includes the `load-balancer.privateAdmin` permissions.

#### load-balancer.admin {#load-balancer-admin}

The `load-balancer.admin` role enables managing internal and external network load balancers and target groups, 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 [network load balancers](../concepts/index.md) and info on them.
* Create internal and external network load balancers and those with UDP listeners, as well as modify, delete, start, and stop load balancers.
* View the list of [target groups](../concepts/target-resources.md) and the info on them, as well as create, modify, delete, and use target groups.
* View the list of [cloud networks](../../vpc/concepts/network.md#network) and info on them, as well as set up external access to them.
* View the list of [subnets](../../vpc/concepts/network.md#subnet) and info on them, as well as use them.
* View the list of [cloud resource addresses](../../vpc/concepts/address.md) and the info on them.
* View the list of [route tables](../../vpc/concepts/routing.md#rt-vpc) and the info on them.
* View the list of [security groups](../../vpc/concepts/security-groups.md) and the info on them.
* View information on [NAT gateways](../../vpc/concepts/gateways.md).
* View the info on the used IP addresses, create [private](../../vpc/concepts/address.md#internal-addresses) and [public](../../vpc/concepts/address.md#public-addresses) addresses, and use them.
* 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 information on the relevant [cloud](../../resource-manager/concepts/resources-hierarchy.md#cloud) and [folder](../../resource-manager/concepts/resources-hierarchy.md#folder).
* View info on [Network Load Balancer](../concepts/limits.md#load-balancer-quotas) and [Virtual Private Cloud](../../vpc/concepts/limits.md#vpc-quotas) quotas.

This role includes the `load-balancer.editor` permissions.

### Primitive roles {#primitive-roles}

Primitive roles allow users to perform actions in all Yandex Cloud [services](../../overview/concepts/services.md).

#### auditor {#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](../../resource-manager/concepts/resources-hierarchy.md).
* 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](../../overview/concepts/services.md) data. This role suits the users who need minimum access to the Yandex Cloud resources.

#### viewer {#viewer}

The `viewer` role grants the permissions to read the info on any Yandex Cloud [resources](../../resource-manager/concepts/resources-hierarchy.md).

This role includes the `auditor` permissions.

Unlike `auditor`, the `viewer` role provides access to [service](../../overview/concepts/services.md) data in read mode.

#### editor {#editor}

The `editor` role provides permissions to manage any Yandex Cloud [resources](../../resource-manager/concepts/resources-hierarchy.md), except for assigning roles to other users, transferring [organization](../../organization/concepts/organization.md) ownership, removing an organization, and deleting Key Management Service [encryption keys](../../kms/concepts/index.md).

For instance, users with this role can create, modify, and delete resources.

This role includes the `viewer` permissions.

#### admin {#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](../../resource-manager/concepts/resources-hierarchy.md) (except for transferring [organization](../../organization/concepts/organization.md) ownership and removing an organization).

Prior to assigning the `admin` role for an organization, [cloud](../../resource-manager/concepts/resources-hierarchy.md#cloud), or [billing account](../../billing/concepts/billing-account.md), make sure to check out the information on protecting [privileged accounts](../../security/standard/all.md#privileged-users).

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](../../security/standard/all.md#min-privileges).

For more information on primitive roles, see the [Yandex Cloud role reference](../../iam/roles-reference.md#primitive-roles).

## What roles do I need {#choosing-roles}

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`.

Any operations with a network load balancer that has a public IP address require the `load-balancer.admin` role. In networks hosting target groups, you may have the `vpc.publicAdmin` role instead. To manage the internal network load balancer, you need the `load-balancer.privateAdmin` role and to manage its target groups, the `load-balancer.privateAdmin` or `compute.admin` role.

To manage target groups in subnets lacking the specified administrative roles, you need the `vpc.user` role for those subnets.

Action | Methods | Required roles
----- | ----- | -----
**Viewing data** | |
Viewing resource details | `get`, `list`, `listOperations` | `viewer` for the resource
**Managing network load balancers** | |
[Creating](../operations/load-balancer-create.md) and updating load balancers in a folder | `create` | `load-balancer.privateAdmin` / `load-balancer.admin` or `editor` for the folder and, if the load balancer is public, networks hosting the target groups.
[Deleting load balancers](../operations/load-balancer-delete.md) | `update`, `delete` | `load-balancer.privateAdmin` / `load-balancer.admin` or `editor` for the load balancer
[Attaching target groups](../operations/target-group-attach.md) | `attachTargetGroup`| `load-balancer.privateAdmin` / `load-balancer.admin` or `editor` for the folder and, if the load balancer is public, networks hosting target groups.
[Detaching target groups](../operations/target-group-detach.md) | `detachTargetGroup` | `load-balancer.privateAdmin` / `load-balancer.admin` or `editor` for the load balancer
[Getting the target group status](../operations/check-resource-health.md) | `getTargetStates` | `load-balancer.viewer` or `viewer` for the load balancer and specified target groups
[Adding](../operations/listener-add.md) and [removing](../operations/listener-remove.md) listeners | `addListener`, `removeListener` | `load-balancer.privateAdmin` / `load-balancer.admin` or `editor` for the load balancer
[Stopping and starting](../operations/load-balancer-start-and-stop.md) a load balancer | `stop`, `start` | `load-balancer.privateAdmin` / `load-balancer.admin` or `editor` for the load balancer
**Managing target groups** | |
[Creating](../operations/target-group-create.md) and updating target groups in a folder | `create` | `load-balancer.privateAdmin` / `load-balancer.admin` or `editor` for the folder and subnets hosting the target groups
[Deleting target groups](../operations/target-group-delete.md) | `update`, `delete` | `load-balancer.privateAdmin` / `load-balancer.admin` or `editor` for the target group and the load balancer
Adding targets to a target group | `addTargets` | `load-balancer.privateAdmin` / `load-balancer.admin` or `editor` for the target group, load balancer, and subnets hosting the target groups
Removing targets from a target group | `removeTargets` | `load-balancer.privateAdmin` / `load-balancer.admin` or `editor` for the target group
**Resource access management** | |
[Granting](../../iam/operations/roles/grant.md), [revoking](../../iam/operations/roles/revoke.md), and viewing roles for a resource | `setAccessBindings`, `updateAccessBindings`, `listAccessBindings` | `admin` for the resource

#### What's next {what-is-next}

* [How to assign a role](../../iam/operations/roles/grant.md).
* [How to revoke a role](../../iam/operations/roles/revoke.md).
* [Learn more about access management in Yandex Cloud](../../iam/concepts/access-control/index.md).
* [Learn more about role inheritance](../../resource-manager/concepts/resources-hierarchy.md#access-rights-inheritance).