---
title: pulumi env setup gcp | CLI commands
url: /docs/iac/cli/commands/pulumi_env_setup_gcp/
---



[EXPERIMENTAL] Set up GCP OIDC integration for Pulumi ESC

## Synopsis

[EXPERIMENTAL] Set up GCP OIDC integration for Pulumi ESC

Creates, in each selected GCP project:
  - a workload identity pool and provider trusting Pulumi Cloud
  - a service account with the chosen role
  - the IAM bindings that let Pulumi Cloud impersonate it

Authenticates with Google Application Default Credentials. Run
`gcloud auth application-default login` first if you have not already.

Examples:
  pulumi env setup gcp --policy roles/editor
  pulumi env setup gcp --policy roles/viewer --project-id my-project --yes

```
pulumi env setup gcp [flags]
```

## Options

```
  -h, --help                 help for gcp
      --org string           the Pulumi organization to configure OIDC for
      --policy string        the role granted to the service account: roles/editor (required for Deployments), roles/viewer (required for Insights), or any other role; prompted for when omitted
      --project string       the ESC project that per-project environments are created in (default "gcp-login")
      --project-id project   a GCP project to set up (repeatable; prompted for when omitted)
      --yes                  skip all confirmation prompts
```

## Options inherited from parent commands

```
      --color string                 Colorize output. Choices are: always, never, raw, auto (default "auto")
  -C, --cwd string                   Run pulumi as if it had been started in another directory
      --disable-integrity-checking   Disable integrity checking of checkpoint files
  -e, --emoji                        Enable emojis in the output
      --env string                   The name of the environment to operate on.
  -Q, --fully-qualify-stack-names    Show fully-qualified stack names
      --logflow                      Flow log settings to child processes (like plugins)
      --logtostderr                  Log to stderr instead of to files
      --memprofilerate int           Enable more precise (and expensive) memory allocation profiles by setting runtime.MemProfileRate
      --non-interactive              Disable interactive mode for all commands
      --otel-traces string           Export OpenTelemetry traces to the specified endpoint. Use file:// for local JSON files, grpc:// or https:// for remote collectors
      --profiling string             Emit CPU and memory profiles and an execution trace to '[filename].[pid].{cpu,mem,trace}', respectively
      --tracing file:                Emit tracing to the specified endpoint. Use the file: scheme to write tracing data to a local file
  -v, --verbose int                  Enable verbose logging (e.g., v=3); anything >3 is very verbose
```

## SEE ALSO

* [pulumi env setup](/docs/iac/cli/commands/pulumi_env_setup/)	 - [EXPERIMENTAL] Set up cloud provider OIDC integrations


