internal/iam/iam-permissions.yaml (160 lines of code) (raw):

# Copyright 2024 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # This file contains the list of permissions required by the SAP Agent. # The IAM permissions used by each agent functionalities are listed here. # The permissions are grouped by functionality and then by entity type, which # can be a Project or a GCP Resource (Instance, Bucket, Snapshot, etc). --- features: - name: HANA_MONITORING permissionsList: - type: Project permissions: - monitoring.timeSeries.create - name: PROCESS_METRICS permissionsList: - type: Project permissions: - compute.nodeGroups.list - compute.nodeGroups.get - compute.instances.get - monitoring.timeSeries.create - name: CLOUD_LOGGING permissionsList: - type: Project permissions: - logging.logEntries.create - name: HOST_METRICS permissionsList: - type: Project permissions: - compute.instances.list - monitoring.metricDescriptors.get - monitoring.metricDescriptors.list - type: Instance permissions: - compute.instances.get - name: BACKINT permissionsList: - type: Project permissions: - storage.objects.list - storage.objects.create - type: Bucket permissions: - storage.objects.get - storage.objects.update - storage.objects.delete - name: BACKINT_MULTIPART permissionsList: - type: Bucket permissions: - storage.multipartUploads.create - storage.multipartUploads.abort - name: DISKBACKUP permissionsList: - type: Project permissions: - compute.disks.create - compute.disks.createSnapshot - compute.disks.get - compute.disks.setLabels - compute.disks.use - compute.globalOperations.get - compute.instances.attachDisk - compute.instances.detachDisk - compute.instances.get - compute.snapshots.create - compute.snapshots.get - compute.snapshots.setLabels - compute.snapshots.useReadOnly - compute.zoneOperations.get - name: DISKBACKUP_STRIPED permissionsList: - type: Project permissions: - compute.disks.addResourcePolicies - compute.disks.create - compute.disks.get - compute.disks.list - compute.disks.removeResourcePolicies - compute.disks.use - compute.disks.useReadOnly - compute.globalOperations.get - compute.instances.attachDisk - compute.instances.detachDisk - compute.instances.get - compute.instantSnapshotGroups.create - compute.instantSnapshotGroups.delete - compute.instantSnapshotGroups.get - compute.instantSnapshotGroups.list - compute.instantSnapshots.list - compute.instantSnapshots.useReadOnly - compute.resourcePolicies.create - compute.resourcePolicies.use - compute.resourcePolicies.useReadOnly - compute.snapshots.create - compute.snapshots.get - compute.snapshots.list - compute.snapshots.setLabels - compute.snapshots.useReadOnly - compute.zoneOperations.get - name: SAP_SYSTEM_DISCOVERY permissionsList: - type: Project permissions: - compute.addresses.get - compute.addresses.list - compute.disks.get - compute.forwardingRules.get - compute.forwardingRules.list - compute.globalAddresses.get - compute.globalAddresses.list - compute.healthChecks.get - compute.instanceGroups.get - compute.instances.get - compute.instances.list - compute.regionBackendServices.get - file.instances.get - file.instances.list - workloadmanager.insights.write - name: WORKLOAD_EVALUATION_METRICS permissionsList: - type: Project permissions: - compute.instances.get - compute.zoneOperations.list - compute.instances.get - compute.disks.list - monitoring.timeSeries.create - workloadmanager.insights.write - name: SECRET_MANAGER permissionsList: - type: Project permissions: - secretmanager.versions.access - name: AGENT_HEALTH_METRICS permissionsList: - type: Project permissions: - monitoring.timeSeries.create