By default, all Google Cloud console projects come with a single user: the original project creator. No other users have access to the project, and therefore, access to Google Cloud resources, until a user is added as a project team member. This page describes the different ways you can add new users to your project.
It also describes how Deployment Manager authenticates to other Google Cloud APIs on your behalf to create resources.
Before you begin
- If you want to use the command-line examples in this guide, install the `gcloud` command-line tool .
- If you want to use the API examples in this guide, set up API access .
- Understand Google Cloud console projects.
- Understand Google Identity and Access Management .
Access control for users
To give your users access to your project so they can create configurations and deployments, add your users as a project team member and grant them the appropriate Identity and Access Management (IAM) roles.
For information on how to add team members, read the documentation for adding team members .
Deployment Manager roles
Cloud Deployment Manager Service Agent
( roles/
)
Allows Deployment Manager service to actuate resources across DM projects and folders
accesscontextmanager.
accesscontextmanager.
accesscontextmanager.
accesscontextmanager.
accesscontextmanager.
accesscontextmanager.
accesscontextmanager.
accesscontextmanager.
accesscontextmanager.
appengine.applications.get
appengine.operations.get
appengine.services.update
appengine.versions.create
appengine.versions.delete
appengine.versions.get
appengine.versions.list
artifactregistry.
artifactregistry.
artifactregistry.
artifactregistry.
bigquery.connections.get
bigquery.datasets.create
bigquery.datasets.delete
bigquery.datasets.get
bigquery.datasets.getIamPolicy
bigquery.datasets.update
bigquery.jobs.create
bigquery.routines.create
bigquery.routines.get
bigquery.routines.update
bigquery.tables.create
bigquery.tables.delete
bigquery.tables.get
bigquery.tables.getData
bigquery.tables.setCategory
bigquery.tables.update
bigquery.tables.updateData
bigtable.instances.create
bigtable.instances.delete
bigtable.instances.get
bigtable.instances.update
bigtable.tables.create
bigtable.tables.delete
bigtable.tables.get
bigtable.tables.update
billing.
billing.resourcebudgets.write
cloudbuild.builds.create
cloudbuild.builds.get
cloudfunctions.functions.call
cloudfunctions.
cloudfunctions.
cloudfunctions.functions.get
cloudfunctions.
cloudfunctions.functions.list
cloudfunctions.
cloudfunctions.operations.get
cloudprivatecatalog.
cloudscheduler.jobs.create
cloudscheduler.jobs.delete
cloudscheduler.jobs.get
cloudscheduler.jobs.update
cloudsql.backupRuns.create
cloudsql.databases.*
-
cloudsql.databases.create
-
cloudsql.databases.delete
-
cloudsql.databases.get
-
cloudsql.databases.list
-
cloudsql.databases.update
cloudsql.instances.create
cloudsql.instances.delete
cloudsql.instances.get
cloudsql.instances.import
cloudsql.instances.restart
cloudsql.instances.update
cloudsql.sslCerts.create
cloudsql.sslCerts.delete
cloudsql.sslCerts.get
cloudsql.users.create
cloudsql.users.delete
cloudtasks.queues.create
cloudtasks.queues.delete
cloudtasks.queues.get
compute.addresses.create
compute.
compute.addresses.delete
compute.
compute.addresses.get
compute.addresses.list
compute.addresses.setLabels
compute.addresses.use
compute.addresses.useInternal
compute.autoscalers.create
compute.autoscalers.delete
compute.autoscalers.get
compute.autoscalers.update
compute.backendBuckets.create
compute.backendBuckets.delete
compute.backendBuckets.get
compute.backendBuckets.update
compute.backendBuckets.use
compute.backendServices.create
compute.backendServices.delete
compute.backendServices.get
compute.
compute.backendServices.update
compute.backendServices.use
compute.
compute.disks.create
compute.disks.delete
compute.disks.get
compute.
compute.disks.resize
compute.disks.setLabels
compute.disks.update
compute.disks.use
compute.disks.useReadOnly
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.firewallPolicies.get
compute.firewalls.create
compute.firewalls.delete
compute.firewalls.get
compute.firewalls.list
compute.firewalls.update
compute.forwardingRules.create
compute.forwardingRules.delete
compute.forwardingRules.get
compute.
compute.
compute.
compute.
compute.forwardingRules.update
compute.forwardingRules.use
compute.globalAddresses.create
compute.
compute.globalAddresses.delete
compute.
compute.globalAddresses.get
compute.
compute.globalAddresses.use
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.globalOperations.get
compute.healthChecks.create
compute.healthChecks.delete
compute.healthChecks.get
compute.healthChecks.update
compute.healthChecks.use
compute.
compute.
compute.
compute.httpHealthChecks.get
compute.
compute.httpHealthChecks.use
compute.
compute.
compute.
compute.httpsHealthChecks.get
compute.
compute.httpsHealthChecks.use
compute.
compute.images.create
compute.images.delete
compute.images.deprecate
compute.images.get
compute.images.setLabels
compute.images.useReadOnly
compute.
compute.
compute.
compute.
compute.
compute.instanceGroups.create
compute.instanceGroups.delete
compute.instanceGroups.get
compute.instanceGroups.update
compute.instanceGroups.use
compute.
compute.
compute.instanceTemplates.get
compute.
compute.
compute.instances.create
compute.instances.delete
compute.
compute.instances.get
compute.
compute.instances.resume
compute.
compute.
compute.instances.setLabels
compute.instances.setMetadata
compute.
compute.instances.setTags
compute.instances.start
compute.instances.stop
compute.instances.suspend
compute.instances.update
compute.
compute.instances.use
compute.
compute.
compute.
compute.
compute.
compute.interconnects.create
compute.interconnects.delete
compute.interconnects.get
compute.
compute.interconnects.use
compute.
compute.machineTypes.get
compute.
compute.
compute.
compute.
compute.
compute.networks.addPeering
compute.networks.create
compute.networks.delete
compute.networks.get
compute.
compute.networks.removePeering
compute.
compute.networks.update
compute.networks.updatePolicy
compute.networks.use
compute.networks.useExternalIp
compute.
compute.
compute.
compute.
compute.
compute.packetMirrorings.get
compute.projects.get
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.regionHealthChecks.get
compute.
compute.regionHealthChecks.use
compute.
compute.
compute.
compute.
compute.
compute.regionOperations.get
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.
compute.regionUrlMaps.create
compute.regionUrlMaps.delete
compute.regionUrlMaps.get
compute.regionUrlMaps.use
compute.regions.get
compute.reservations.list
compute.
compute.
compute.resourcePolicies.get
compute.resourcePolicies.use
compute.routers.create
compute.routers.delete
compute.routers.get
compute.routers.update
compute.routers.use
compute.routes.create
compute.routes.delete
compute.routes.get
compute.
compute.
compute.securityPolicies.get
compute.
compute.
compute.securityPolicies.use
compute.
compute.serviceAttachments.get
compute.snapshots.useReadOnly
compute.sslCertificates.create
compute.sslCertificates.delete
compute.sslCertificates.get
compute.sslPolicies.create
compute.sslPolicies.delete
compute.sslPolicies.get
compute.sslPolicies.use
compute.subnetworks.create
compute.subnetworks.delete
compute.
compute.subnetworks.get
compute.subnetworks.list
compute.subnetworks.mirror
compute.subnetworks.update
compute.subnetworks.use
compute.
compute.
compute.
compute.targetHttpProxies.get
compute.targetHttpProxies.use
compute.
compute.
compute.targetHttpsProxies.get
compute.
compute.
compute.targetHttpsProxies.use
compute.targetInstances.create
compute.targetInstances.delete
compute.targetInstances.get
compute.targetInstances.use
compute.
compute.
compute.targetPools.create
compute.targetPools.delete
compute.targetPools.get
compute.
compute.
compute.targetPools.use
compute.
compute.
compute.targetSslProxies.get
compute.
compute.targetSslProxies.use
compute.
compute.
compute.targetTcpProxies.get
compute.targetTcpProxies.use
compute.
compute.
compute.targetVpnGateways.get
compute.
compute.targetVpnGateways.use
compute.urlMaps.create
compute.urlMaps.delete
compute.urlMaps.get
compute.urlMaps.update
compute.urlMaps.use
compute.vpnGateways.create
compute.vpnGateways.delete
compute.vpnGateways.get
compute.vpnGateways.setLabels
compute.vpnGateways.use
compute.vpnTunnels.create
compute.vpnTunnels.delete
compute.vpnTunnels.get
compute.vpnTunnels.setLabels
compute.zoneOperations.get
compute.zoneOperations.list
compute.zones.get
container.
container.
container.backendConfigs.get
container.
container.
container.
container.clusterRoles.bind
container.clusterRoles.create
container.clusterRoles.delete
container.
container.clusterRoles.get
container.clusters.create
container.clusters.delete
container.clusters.get
container.
container.clusters.update
container.configMaps.create
container.configMaps.delete
container.configMaps.get
container.configMaps.update
container.cronJobs.create
container.cronJobs.delete
container.cronJobs.get
container.cronJobs.update
container.daemonSets.create
container.daemonSets.delete
container.daemonSets.get
container.daemonSets.update
container.deployments.create
container.deployments.delete
container.deployments.get
container.deployments.update
container.
container.
container.frontendConfigs.get
container.
container.
container.
container.ingresses.create
container.ingresses.delete
container.ingresses.get
container.jobs.create
container.jobs.delete
container.jobs.get
container.
container.
container.
container.
container.
container.namespaces.create
container.namespaces.delete
container.namespaces.get
container.
container.
container.networkPolicies.get
container.operations.get
container.
container.
container.
container.
container.
container.
container.
container.priorityClasses.get
container.
container.
container.
container.roleBindings.create
container.roleBindings.delete
container.roleBindings.get
container.roles.bind
container.roles.create
container.roles.delete
container.roles.escalate
container.roles.get
container.roles.update
container.secrets.create
container.secrets.delete
container.secrets.get
container.secrets.update
container.
container.
container.serviceAccounts.get
container.
container.services.create
container.services.delete
container.services.get
container.statefulSets.create
container.statefulSets.delete
container.statefulSets.get
container.statefulSets.update
container.
container.
container.storageClasses.get
container.
container.
container.
container.
container.
container.
datacatalog.taxonomies.get
dataproc.
dataproc.
dataproc.
dataproc.
dataproc.clusters.create
dataproc.clusters.delete
dataproc.clusters.get
dataproc.nodeGroups.create
dataproc.operations.get
dataproc.
dataproc.
dataproc.workflowTemplates.get
deploymentmanager.
deploymentmanager.
deploymentmanager.
deploymentmanager.
deploymentmanager.
deploymentmanager.
deploymentmanager.
deploymentmanager.
deploymentmanager.
deploymentmanager.
dns.changes.*
-
dns.changes.create
-
dns.changes.get
-
dns.changes.list
dns.managedZones.create
dns.managedZones.delete
dns.managedZones.get
dns.managedZones.list
dns.managedZones.update
dns.
dns.
dns.policies.delete
dns.policies.get
dns.resourceRecordSets.create
dns.resourceRecordSets.delete
dns.resourceRecordSets.list
dns.resourceRecordSets.update
file.instances.create
file.instances.delete
file.instances.get
file.instances.update
file.operations.get
firebase.projects.get
firebase.projects.update
firebaseanalytics.
iam.roles.create
iam.roles.delete
iam.roles.get
iam.roles.list
iam.roles.update
iam.serviceAccountKeys.delete
iam.serviceAccountKeys.get
iam.serviceAccounts.actAs
iam.serviceAccounts.create
iam.serviceAccounts.delete
iam.serviceAccounts.get
iam.serviceAccounts.list
iam.serviceAccounts.update
logging.buckets.update
logging.exclusions.create
logging.exclusions.delete
logging.exclusions.get
logging.exclusions.update
logging.logEntries.create
logging.logMetrics.create
logging.logMetrics.delete
logging.logMetrics.get
logging.logMetrics.update
logging.
logging.sinks.create
logging.sinks.delete
logging.sinks.get
logging.sinks.update
monitoring.
monitoring.
monitoring.alertPolicies.get
monitoring.alertPolicies.list
monitoring.
monitoring.dashboards.create
monitoring.dashboards.delete
monitoring.dashboards.get
monitoring.dashboards.update
monitoring.groups.create
monitoring.groups.delete
monitoring.groups.get
monitoring.groups.update
monitoring.
monitoring.
monitoring.
monitoring.
monitoring.
monitoring.
monitoring.
monitoring.
monitoring.
monitoring.
monitoring.
networksecurity.
pubsub.schemas.attach
pubsub.subscriptions.create
pubsub.subscriptions.delete
pubsub.subscriptions.get
pubsub.subscriptions.update
pubsub.
pubsub.topics.create
pubsub.topics.delete
pubsub.topics.get
pubsub.topics.getIamPolicy
pubsub.topics.publish
pubsub.topics.update
redis.instances.create
redis.instances.delete
redis.instances.get
redis.instances.update
redis.instances.updateAuth
redis.operations.get
resourcemanager.folders.create
resourcemanager.folders.delete
resourcemanager.folders.get
resourcemanager.
resourcemanager.folders.list
resourcemanager.folders.update
resourcemanager.
resourcemanager.
resourcemanager.
resourcemanager.
resourcemanager.
resourcemanager.projects.get
resourcemanager.
resourcemanager.projects.list
resourcemanager.projects.move
resourcemanager.
resourcemanager.
resourcemanager.
resourcemanager.
resourcemanager.
-
resourcemanager.
tagValueBindings. create -
resourcemanager.
tagValueBindings. delete
resourcemanager.tagValues.get
runtimeconfig.configs.create
runtimeconfig.configs.delete
runtimeconfig.configs.get
runtimeconfig.configs.list
runtimeconfig.configs.update
runtimeconfig.variables.create
runtimeconfig.variables.delete
runtimeconfig.variables.get
runtimeconfig.variables.list
runtimeconfig.variables.update
runtimeconfig.waiters.create
runtimeconfig.waiters.delete
runtimeconfig.waiters.get
runtimeconfig.waiters.list
servicedirectory.
servicedirectory.
servicedirectory.
servicedirectory.
servicemanagement.
servicenetworking.
servicenetworking.
servicenetworking.services.get
serviceusage.services.disable
serviceusage.services.enable
serviceusage.services.get
serviceusage.services.use
source.repos.create
spanner.databaseOperations.get
spanner.databases.create
spanner.databases.drop
spanner.databases.get
spanner.databases.updateDdl
spanner.instanceOperations.get
spanner.instances.create
spanner.instances.delete
spanner.instances.get
spanner.instances.update
storage.buckets.create
storage.buckets.delete
storage.buckets.get
storage.buckets.getIamPolicy
storage.buckets.update
storage.hmacKeys.create
storage.objects.create
storage.objects.delete
storage.objects.get
storage.objects.getIamPolicy
storage.objects.list
vpcaccess.connectors.create
vpcaccess.connectors.delete
vpcaccess.operations.get
workflows.operations.get
workflows.workflows.create
workflows.workflows.delete
workflows.workflows.get
Deployment Manager Editor
( roles/
)
Provides the permissions necessary to create and manage deployments.
Lowest-level resources where you can grant this role:
- Project
deploymentmanager.
-
deploymentmanager.
compositeTypes. create -
deploymentmanager.
compositeTypes. delete -
deploymentmanager.
compositeTypes. get -
deploymentmanager.
compositeTypes. list -
deploymentmanager.
compositeTypes. update
deploymentmanager.
deploymentmanager.
deploymentmanager.
deploymentmanager.
deploymentmanager.
deploymentmanager.
deploymentmanager.
deploymentmanager.manifests.*
-
deploymentmanager.
manifests. get -
deploymentmanager.
manifests. list
deploymentmanager.operations.*
-
deploymentmanager.
operations. get -
deploymentmanager.
operations. list
deploymentmanager.resources.*
-
deploymentmanager.
resources. get -
deploymentmanager.
resources. list
deploymentmanager.
-
deploymentmanager.
typeProviders. create -
deploymentmanager.
typeProviders. delete -
deploymentmanager.
typeProviders. get -
deploymentmanager.
typeProviders. getType -
deploymentmanager.
typeProviders. list -
deploymentmanager.
typeProviders. listTypes -
deploymentmanager.
typeProviders. update
deploymentmanager.types.*
-
deploymentmanager.types.create
-
deploymentmanager.types.delete
-
deploymentmanager.types.get
-
deploymentmanager.types.list
-
deploymentmanager.types.update
resourcemanager.projects.get
resourcemanager.projects.list
serviceusage.quotas.get
serviceusage.services.get
serviceusage.services.list
Deployment Manager Type Editor
( roles/
)
Provides read and write access to all Type Registry resources.
Lowest-level resources where you can grant this role:
- Project
deploymentmanager.
-
deploymentmanager.
compositeTypes. create -
deploymentmanager.
compositeTypes. delete -
deploymentmanager.
compositeTypes. get -
deploymentmanager.
compositeTypes. list -
deploymentmanager.
compositeTypes. update
deploymentmanager.
deploymentmanager.
-
deploymentmanager.
typeProviders. create -
deploymentmanager.
typeProviders. delete -
deploymentmanager.
typeProviders. get -
deploymentmanager.
typeProviders. getType -
deploymentmanager.
typeProviders. list -
deploymentmanager.
typeProviders. listTypes -
deploymentmanager.
typeProviders. update
deploymentmanager.types.*
-
deploymentmanager.types.create
-
deploymentmanager.types.delete
-
deploymentmanager.types.get
-
deploymentmanager.types.list
-
deploymentmanager.types.update
resourcemanager.projects.get
resourcemanager.projects.list
serviceusage.quotas.get
serviceusage.services.get
Deployment Manager Type Viewer
( roles/
)
Provides read-only access to all Type Registry resources.
Lowest-level resources where you can grant this role:
- Project
deploymentmanager.
deploymentmanager.
deploymentmanager.
deploymentmanager.
deploymentmanager.
deploymentmanager.
deploymentmanager.types.get
deploymentmanager.types.list
resourcemanager.projects.get
resourcemanager.projects.list
serviceusage.quotas.get
serviceusage.services.get
Deployment Manager Viewer
( roles/
)
Provides read-only access to all Deployment Manager-related resources.
Lowest-level resources where you can grant this role:
- Project
deploymentmanager.
deploymentmanager.
deploymentmanager.
deploymentmanager.
deploymentmanager.manifests.*
-
deploymentmanager.
manifests. get -
deploymentmanager.
manifests. list
deploymentmanager.operations.*
-
deploymentmanager.
operations. get -
deploymentmanager.
operations. list
deploymentmanager.resources.*
-
deploymentmanager.
resources. get -
deploymentmanager.
resources. list
deploymentmanager.
deploymentmanager.
deploymentmanager.
deploymentmanager.
deploymentmanager.types.get
deploymentmanager.types.list
resourcemanager.projects.get
resourcemanager.projects.list
serviceusage.quotas.get
serviceusage.services.get
serviceusage.services.list
Access control for Deployment Manager
To create other Google Cloud resources, Deployment Manager uses the credentials of the Google APIs Service Agentto authenticate to other APIs. The Google APIs Service Agent is designed specifically to run internal Google processes on your behalf. This service account is identifiable using the email:
[
PROJECT_NUMBER
]
@cloudservices
.
gserviceaccount.com
The Google APIs Service Agent is automatically granted the Editor role at the project level and is listed in the IAM section of the Google Cloud console. This service account exists indefinitely with the project, and is only deleted when the project is deleted. Since Deployment Manager and other services, such as managed instance groups , rely on this service account to create, delete, and manage resources, it is not recommended that you modify this account's permissions.
What's next
- Learn about service accounts .
- Learn how to add team members .
- Learn about IAM .