Reference: Google Cloud permissions
Turbonomic requires specific permissions to monitor your Google Cloud workloads and billing data.
Permissions for the Google Cloud target (organization-level permissions)
The permissions listed in this section allow the Google Cloud target in Turbonomic to monitor and optimize workloads in individual folders or your entire organization. Note that organization-level permissions are required to monitor and optimize workloads at the folder level.
Skip to the previous section if you want the target to monitor and optimize workloads in individual projects.
Be sure to set up a service account in Google Cloud, create a custom role, and then assign the custom role to the service account. You need to specify these permissions when you create the custom role.
When a service account has been properly configured for use with Turbonomic, add a Google Cloud target in the user interface.
-
Workload monitoring permissions
Turbonomic functionality Required permissions Access to Google Cloud APIs to discover workloads
-
serviceusage.services.getVerifies access to Google Cloud APIs
Discovery of organization data -
billing.accounts.listGets a list of billing accounts
-
billing.resourceAssociations.listGets a list of resources associated with billing accounts
Discovery of resource hierarchy (organization, folders, and projects) -
resourcemanager.organizations.getGets organization information
-
resourcemanager.folders.getGets folder information
-
resourcemanager.folders.listGets folder information
-
resourcemanager.projects.getGets project information
-
resourcemanager.projects.listGets project information
Discovery of regions
-
compute.regions.listGets supported regions
Discovery of zones
-
compute.zones.listGets supported zones
Discovery of projects
-
resourcemanager.projects.getGets project-level information
Discovery of metrics for various entities
-
monitoring.services.getGets data for the Monitoring Viewer role from Cloud Monitoring
-
monitoring.services.listGets data for the Monitoring Viewer role from Cloud Monitoring
-
monitoring.timeSeries.listGets time series data from Cloud Monitoring
Discovery of historical metrics (used to generate VM scale actions on the same day a new Google Cloud target is added)
-
logging.logEntries.listProvides permissions for the Logs Viewer role
-
logging.views.getProvides permissions for the Logs Viewer role
-
logging.views.listProvides permissions for the Logs Viewer role
-
resourcemanager.projects.getProvides permissions for the Logs Viewer role
Discovery of VMs and instance types (machine types)
-
compute.instances.getGets instance properties
-
compute.instances.listGets instances
-
compute.machineTypes.getGets machine type properties
-
compute.machineTypes.listGets supported machine types
Discovery of discounts (resource-based CUDs)
-
compute.commitments.listGets commitment information
Discovery of instance groups and types (managed or unmanaged)
-
compute.instanceGroups.listGets instance groups
Discovery of managed instance groups (MIGs)
-
compute.autoscalers.listGets auto scaling details for a MIG
-
compute.instanceGroupManagers.getGets MIG properties
-
compute.instanceGroupManagers.listGets MIGs
-
compute.instanceTemplates.listGets compute tier and instance templates of MIG
Discovery of Google Kubernetes Engine (GKE) node pools
-
container.clusters.getGets node pools
-
compute.instanceGroups.getGets instance group information
Discovery of volumes and disk types
-
compute.disks.getGets disk properties
-
compute.disks.listGets disks
-
compute.diskTypes.listGets supported disk types
-
-
Action execution permissions
Turbonomic functionality Required permissions Execution of actions for all supported entities -
iam.serviceAccounts.actAsGrants a service account the necessary permissions to perform various operations on Google Cloud APIs
Verification of action execution status for all supported entities -
compute.globalOperations.getChecks the status of async operations
-
compute.regionOperations.getChecks the status of async operations
-
compute.zoneOperations.getChecks the status of async operations
Execution of actions for VMs -
compute.instances.setMachineTypeSets the machine type of a virtual machine to support scaling from one machine type to another
-
compute.instances.startRestarts a virtual machine after action execution
-
compute.instances.stopStops a virtual machine before changing its properties
Execution of actions for MIGs -
compute.autoscalers.getGets the configuration of an autoscaler
-
compute.autoscalers.updateUpdates the configuration of an autoscaler
-
compute.instanceGroupManagers.getGets the state and configuration of a zonal or regional MIG
-
compute.instanceGroupManagers.updateUpdates the minimum and maximum replicas in a zonal MIG
Execution of actions for GKE nodes -
container.clusters.getGets cluster information
-
container.clusters.updateUpdates cluster information
-
compute.instanceGroups.getGets instance group information
-
compute.instanceGroups.listGets instance groups
-
compute.instanceGroups.useAllows using instance groups APIs
-
compute.instanceGroupManagers.updateUpdates instance group properties
Execution of actions for volumes -
compute.disks.createCreates a new disk from a snapshot
-
compute.disks.createSnapshotCreates disk snapshots in conjunction with
compute.snapshots.create -
compute.disks.deleteDeletes disks as part of resize and delete actions
-
compute.disks.resizeResizes disks as part of resize actions
-
compute.disks.updateUpdates disk properties as part of resize actions
-
compute.disks.useCreates or attaches disk operations in conjunction with
compute.disks.useReadOnly -
compute.disks.useReadOnlyCreates or attaches disk operations in conjunction with
compute.disks.use -
compute.instances.attachDiskAttaches the snapshot-created disk to a virtual machine
-
compute.instances.detachDiskDetaches the original disk from a virtual machine
-
compute.instances.startRestarts a virtual machine as part of cleanup operations during resize actions
-
compute.instances.stopStops a virtual machine before resizing a disk
-
compute.snapshots.createCreates disk snapshots in conjunction with
compute.disks.createSnapshot -
compute.snapshots.getGets snapshot information
-
Permissions for the Google Cloud target (project-level permissions)
The permissions listed in this section allow the Google Cloud target in Turbonomic to monitor and optimize workloads in individual projects.
See the next section if you want the target to monitor and optimize workloads in individual folders or your entire organization.
Be sure to set up a service account in Google Cloud, create a custom role, and then assign the custom role to the service account. You need to specify these permissions when you create the custom role.
When a service account has been properly configured for use with Turbonomic, add a Google Cloud target in the user interface.
-
Workload monitoring permissions
Turbonomic functionality Required permissions Access to Google Cloud APIs to discover workloads
-
serviceusage.services.getVerifies access to Google Cloud APIs
Discovery of regions
-
compute.regions.listGets supported regions
Discovery of zones
-
compute.zones.listGets supported zones
Discovery of projects
-
resourcemanager.projects.getGets project-level information
Discovery of metrics for various entities
-
monitoring.services.getGets data for the Monitoring Viewer role from Cloud Monitoring
-
monitoring.services.listGets data for the Monitoring Viewer role from Cloud Monitoring
-
monitoring.timeSeries.listGets time series data from Cloud Monitoring
Discovery of historical metrics (used to generate VM scale actions on the same day a new Google Cloud target is added)
-
logging.logEntries.listProvides permissions for the Logs Viewer role
-
logging.views.getProvides permissions for the Logs Viewer role
-
logging.views.listProvides permissions for the Logs Viewer role
-
resourcemanager.projects.getProvides permissions for the Logs Viewer role
Discovery of VMs and instance types (machine types)
-
compute.instances.getGets instance properties
-
compute.instances.listGets instances
-
compute.machineTypes.getGets machine type properties
-
compute.machineTypes.listGets supported machine types
Discovery of discounts (resource-based CUDs)
-
compute.commitments.listGets commitment information
Discovery of instance groups and types (managed or unmanaged)
-
compute.instanceGroups.listGets instance groups
Discovery of managed instance groups (MIGs)
-
compute.autoscalers.listGets auto scaling details for a MIG
-
compute.instanceGroupManagers.getGets MIG properties
-
compute.instanceGroupManagers.listGets MIGs
-
compute.instanceTemplates.listGets compute tier and instance templates of MIG
Discovery of Google Kubernetes Engine (GKE) node pools
-
container.clusters.getGets node pools
-
compute.instanceGroups.getGets instance group information
Discovery of volumes and disk types
-
compute.disks.getGets disk properties
-
compute.disks.listGets disks
-
compute.diskTypes.listGets supported disk types
-
-
Action execution permissions
Turbonomic functionality Required permissions Execution of actions for all supported entities -
iam.serviceAccounts.actAsGrants a service account the necessary permissions to perform various operations on Google Cloud APIs
Verification of action execution status for all supported entities -
compute.globalOperations.getChecks the status of async operations
-
compute.regionOperations.getChecks the status of async operations
-
compute.zoneOperations.getChecks the status of async operations
Execution of actions for VMs -
compute.instances.setMachineTypeSets the machine type of a virtual machine to support scaling from one machine type to another
-
compute.instances.startRestarts a virtual machine after action execution
-
compute.instances.stopStops a virtual machine before changing its properties
Execution of actions for MIGs -
compute.autoscalers.getGets the configuration of an autoscaler
-
compute.autoscalers.updateUpdates the configuration of an autoscaler
-
compute.instanceGroupManagers.getGets the state and configuration of a zonal or regional MIG
-
compute.instanceGroupManagers.updateUpdates the minimum and maximum replicas in a zonal MIG
Execution of actions for GKE nodes -
container.clusters.getGets cluster information
-
container.clusters.updateUpdates cluster information
-
compute.instanceGroups.getGets instance group information
-
compute.instanceGroups.listGets instance groups
-
compute.instanceGroups.useAllows using instance groups APIs
-
compute.instanceGroupManagers.updateUpdates instance group properties
Execution of actions for volumes -
compute.disks.createCreates a new disk from a snapshot
-
compute.disks.createSnapshotCreates disk snapshots in conjunction with
compute.snapshots.create -
compute.disks.deleteDeletes disks as part of resize and delete actions
-
compute.disks.resizeResizes disks as part of resize actions
-
compute.disks.updateUpdates disk properties as part of resize actions
-
compute.disks.useCreates or attaches disk operations in conjunction with
compute.disks.useReadOnly -
compute.disks.useReadOnlyCreates or attaches disk operations in conjunction with
compute.disks.use -
compute.instances.attachDiskAttaches the snapshot-created disk to a virtual machine
-
compute.instances.detachDiskDetaches the original disk from a virtual machine
-
compute.instances.startRestarts a virtual machine as part of cleanup operations during resize actions
-
compute.instances.stopStops a virtual machine before resizing a disk
-
compute.snapshots.createCreates disk snapshots in conjunction with
compute.disks.createSnapshot -
compute.snapshots.getGets snapshot information
-
Permissions for the Google Cloud Billing target
The Google Cloud Billing target grants Turbonomic access to billing data from a billing export to BigQuery. Turbonomic uses this data to optimize workloads with full cost awareness, discover resource-based CUDs, and visualize historical cloud expenses.
Be sure to set up a service account in Google Cloud, create a custom role, and then assign the custom role to the service account. You need to specify these permissions when you create the custom role.
When a service account has been properly configured for use with Turbonomic, add a Google Cloud Billing target in the user interface.
| Turbonomic functionality | Required permissions |
|---|---|
| Discovery of billing data |
|