> ## Documentation Index
> Fetch the complete documentation index at: https://help.nops.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Google Cloud Platform - Permissions & Resources - Commitment Management

> Complete reference of all permissions nOps requires and all resources created or needed in your GCP environment to run commitment management.

## Overview

nOps offers two integration tiers, each requiring different levels of access:

1. **[Savings Analysis](/gcp/integration-setup)** -- Read-only cost visibility, resource inventory, and optimization recommendations
2. **[Commitment Management](/gcp/commitment-management-setup)** -- Automated purchasing and management of GCP Committed Use Discounts (CUDs), via both an Automation Agent (service account) and the nOps Operations Team

***

## Permissions

Commitment Management requires elevated permissions beyond Savings Analysis, split into two access paths:

* **Automation Agent (Service Account)** -- For autonomous purchasing and quota management
* **nOps Support Team** -- For GCP Console access, dashboards, and manual overrides

### Automation Agent (Service Account)

#### Organization-Level Roles

| Role | Role ID | Purpose |
| - | - | - |
| Browser | `roles/browser` | Browse organization hierarchy |
| Cloud Asset Viewer | `roles/cloudasset.viewer` | Enumerate assets across services |
| Recommender Viewer | `roles/recommender.viewer` | Read cost recommendations at project/org scope |
| Cloud SQL Viewer | `roles/cloudsql.viewer` | Read Cloud SQL instances |
| Cloud Run Viewer | `roles/run.viewer` | Read Cloud Run services |
| Compute Recommender Viewer | `roles/recommender.computeViewer` | View CUD/SUD recommendations |
| Cloud Support Tech Support Editor | `roles/cloudsupport.techSupportEditor` | Create support tickets (paid support plans only) |

#### Billing Account Roles

| Role | Role ID | Purpose |
| - | - | - |
| Billing Account Viewer | `roles/billing.viewer` | View spend data |
| Consumer Procurement Order Admin | `roles/consumerprocurement.orderAdmin` | Purchase spend-based (Flex) CUDs |
| Recommender Billing Account CUD Admin | `roles/recommender.billingAccountCudAdmin` | Access CUD recommendations |

#### Project-Level Roles (CUD Project)

| Role | Role ID | Purpose |
| - | - | - |
| Compute Viewer | `roles/compute.viewer` | View VMs for coverage analysis |
| nOps Resource Manager | Custom role (see below) | Purchase and manage resource-based CUDs |

### nOps Support Team

#### Organization-Level Roles

| Role | Role ID | Purpose |
| - | - | - |
| Browser | `roles/browser` | See organization and list projects in GCP Console |
| Compute Viewer | `roles/compute.viewer` | View VMs and compute resources |
| Cloud Support Tech Support Editor | `roles/cloudsupport.techSupportEditor` | Create support tickets (paid support plans only) |

#### Billing Account Roles

| Role | Role ID | Purpose |
| - | - | - |
| Billing Account Viewer | `roles/billing.viewer` | View billing dashboard |
| Recommender Billing Account CUD Viewer | `roles/recommender.billingAccountCudViewer` | View CUD recommendations |

#### Project-Level Roles (CUD Project)

| Role | Role ID | Purpose |
| - | - | - |
| Compute Viewer | `roles/compute.viewer` | Populate Machine Family and Region dropdowns |

### Custom Role: nOps Resource Manager

Created at the **organization level**, granted at the **CUD project level**.

* **Title:** nOps Resource Manager
* **ID:** `nOpsResourceManager`

**Included Permissions:**

| Category | Permission |
| - | - |
| Compute Lifecycle | `compute.commitments.create` |
| Compute Lifecycle | `compute.commitments.update` |
| Compute Lifecycle | `compute.commitments.updateReservations` |
| Compute Lifecycle | `compute.commitments.get` |
| Compute Lifecycle | `compute.commitments.list` |
| Compute Lifecycle | `compute.regionOperations.get` |
| Reservations | `compute.reservations.list` |
| Reservations | `compute.reservations.get` |
| Reservations | `compute.reservations.create` |
| Quota Management | `serviceusage.quotas.get` |
| Quota Management | `serviceusage.quotas.update` |
| Quota Management | `serviceusage.services.get` |
| Quota Management | `serviceusage.services.list` |
| Quota Management | `serviceusage.services.use` |
| Quota Management | `cloudquotas.quotas.get` |
| Quota Management | `cloudquotas.quotas.update` |
| Asset Export | `cloudasset.assets.exportResource` |
| Monitoring | `monitoring.timeSeries.list` |

## Resources You Must Create

| Resource | Details |
| - | - |
| **Dedicated GCP Project** (e.g., `nops-cud-purchases`) | Must be linked to your billing account. With CUD sharing enabled, discounts apply across all projects. |
| **Custom IAM Role** (`nOpsResourceManager`) | Created at the organization level, granted at the CUD project level. See permission list above. |

***

## Required APIs

Enabled on the **dedicated CUD project**.

| API | Service ID |
| - | - |
| Compute Engine API | `compute.googleapis.com` |
| Cloud Commerce Consumer Procurement API | `cloudcommerceconsumerprocurement.googleapis.com` |
| Cloud Asset API | `cloudasset.googleapis.com` |
| Cloud Quotas API | `cloudquotas.googleapis.com` |
| Service Usage API | `serviceusage.googleapis.com` |
| Recommender API | `recommender.googleapis.com` |

***

## CUD Sharing Requirement

For Commitment Management with resource-based CUDs, **CUD sharing must be enabled** on your billing account. CUD sharing is disabled by default in GCP.

<Warning>
  After you enable CUD sharing, **you cannot disable it yourself**. Cloud Billing Support must perform this action.
</Warning>

<Info>
  Spend-based (Flex) CUDs automatically apply across all projects without requiring CUD sharing.
</Info>

***

## Related Guides

<CardGroup cols={2}>
  <Card title="Prerequisites" icon="list-check" href="/gcp/prerequisites">
    Configure billing exports and prepare your GCP environment.
  </Card>

  <Card title="Integration Setup" icon="plug" href="/gcp/integration-setup">
    Link GCP billing data and grant service account permissions.
  </Card>

  <Card title="Commitment Management Setup" icon="chart-line" href="/gcp/commitment-management-setup">
    Configure automated CUD purchasing and nOps operations team access.
  </Card>

  <Card title="Permissions and Resources - Savings Analysis" icon="shield-check" href="/gcp/permissions-and-resources-sa">
    Overview of all permissions and resources needed for Savings Analysis.
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.