[Yandex Cloud documentation](../../../../index.md) > [Yandex Serverless Integrations](../../../index.md) > [Step-by-step guides](../../index.md) > Workflows > Managing workflow access permissions > Revoking roles assigned for a workflow

# Revoking roles assigned for a workflow

{% list tabs group=instructions %}

- CLI {#cli}

  If you do not have the Yandex Cloud CLI yet, [install and initialize it](../../../../cli/quickstart.md#install).

  The folder used by default is the one specified when [creating](../../../../cli/operations/profile/profile-create.md) the CLI profile. To change the default folder, use the `yc config set folder-id <folder_ID>` command. You can also specify a different folder for any command using `--folder-name` or `--folder-id`. If you access a resource by its name, the search will be limited to the default folder. If you access a resource by its ID, the search will be global, i.e., through all folders based on access permissions.

  Run this command to revoke a role for a [workflow](../../../concepts/workflows/workflow.md):

  * From a user:

      ```bash
      yc serverless workflow remove-access-binding <workflow_name_or_ID> \
        --user-account-id <user_ID> \
        --role <role>
      ```

  * From a [service account](../../../../iam/concepts/users/service-accounts.md):

      ```bash
      yc serverless workflow remove-access-binding <workflow_name_or_ID> \
        --service-account-id <service_account_ID> \
        --role <role>
      ```

  * From all authenticated users (the `All authenticated users` [public group](../../../../iam/concepts/access-control/public-group.md)):

      ```bash
      yc serverless workflow remove-access-binding <workflow_name_or_ID> \
        --all-authenticated-users \
        --role <role>
      ```

  **Example**

  Revoking a role for a workflow from a service account:

  ```bash
  yc serverless workflow remove-access-binding epdplu8jn7sr******** \
    --service-account-id rrbilgiqaptv******** \
    --role serverless.workflows.auditor
  ```

  Result:

  ```text
  ...1s...done (3s)
  ```

- API {#api}

  Use the [updateAccessBinding](../../../workflows/api-ref/Workflow/updateAccessBindings.md) REST API method for the [Workflow](../../../workflows/api-ref/Workflow/index.md) resource or the [WorkflowService/UpdateAccessBinding](../../../workflows/api-ref/grpc/Workflow/updateAccessBindings.md) gRPC API call.

{% endlist %}