blob: 453a3b07d9778f28b3c3cbfb1d9d07d6db1995c7 [file]
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You 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
#
# http://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.
# Configuration for Apache Beam roles in GCP.
# This file defines the roles, their hierarchy, the services they can access and the roles they inherit from.
project-id: "apache-beam-testing" # Default project ID for Apache Beam in GCP.
roles-prefix: "beam" # Prefix for the roles generated by this configuration.
# Each custom role is defined here.
# name: The name of the role.
# hierarchy: The hierarchy level of the role, lower numbers indicate fewer permissions,
# the higher hierarchy level also gets the permissions of lower hierarchy levels.
# description: A brief description of the role.
# services: The list of services that the role can access.
# roles: The list of base roles that this role inherits permissions from.
# except_suffixes: A list of suffixes that indicate permissions that should not be included in the role.
# The suffixes are defined in the `suffixes` section below.
roles:
- name: viewer
hierarchy: 0
description: "Viewer role for Apache Beam in GCP, it has read-only access to all services used by Beam."
services:
- artifactregistry
- biglake
- bigquery
- cloudasset
- cloudbuild
- cloudfunctions
- cloudsql
- compute
- container
- dataflow
- dataproc
- datastore
- dns
- firebase
- iam
- iap
- meshconfig
- monitoring
- pubsub. # TODO: Remove '.' after Pubsublite GCP service is fully deprecated.
- redis
- resourcemanager
- secretmanager
- servicemanagement
- serviceusage
- spanner
- storage
- trafficdirector
roles:
- roles/viewer
except_suffixes:
- destructive
- name: writer
description: "Writer role for Apache Beam in GCP, it has additional permissions for managing resources."
hierarchy: 1
services:
- cloudkms
- dataform
- dataplex
roles:
- roles/viewer
- roles/bigquery.user
- roles/bigquery.dataViewer
- roles/cloudsql.instanceUser
- roles/container.clusterViewer
- roles/container.developer
- roles/compute.networkViewer
- roles/datastore.user
- roles/trafficdirector.client
except_suffixes:
- destructive
- name: infra_manager
description: "Infrastructure Manager role for Apache Beam in GCP, it has permissions for managing infrastructure resources but not for destructive actions."
hierarchy: 2
services: []
roles:
- roles/cloudbuild.builds.editor
- roles/iam.serviceAccountTokenCreator
- roles/iam.serviceAccountUser
- roles/storage.objectCreator
- roles/storage.objectViewer
- roles/editor
except_suffixes:
- destructive
- name: admin
description: "Admin role for Apache Beam in GCP, it has permissions for managing all services used by Beam, it can perform destructive actions and access secrets."
hierarchy: 3
services:
- secretmanager
roles:
- roles/editor
- roles/artifactregistry.admin
- roles/biglake.admin
- roles/bigquery.admin
- roles/cloudfunctions.admin
- roles/compute.admin
- roles/compute.instanceAdmin.v1
- roles/compute.networkAdmin
- roles/container.admin
- roles/dataflow.admin
- roles/dataproc.admin
- roles/datastore.indexAdmin
- roles/dns.admin
- roles/firebase.admin
- roles/iam.roleAdmin
- roles/iam.securityAdmin
- roles/iam.serviceAccountAdmin
- roles/iam.workloadIdentityPoolAdmin
- roles/meshconfig.admin
- roles/monitoring.admin
- roles/pubsub.admin
- roles/redis.admin
- roles/resourcemanager.projectIamAdmin
- roles/secretmanager.admin
- roles/secretmanager.secretAccessor
- roles/secretmanager.viewer
- roles/servicemanagement.quotaAdmin
- roles/serviceusage.serviceUsageAdmin
- roles/spanner.admin
- roles/spanner.databaseAdmin
- roles/storage.admin
- roles/storage.objectAdmin
except_suffixes: []
suffixes:
- name: destructive
description: "Suffixes that indicate destructive actions in GCP."
values:
- ".delete"
- ".remove"
- ".destroy"
- ".purge"
- ".cancel"
- ".stop"
- ".terminate"