---
title: Integrating Gemini Enterprise Agent Platform with Ping Identity solutions
description: Introduction to Gemini Agent Platform integration with Ping Identity authorization solutions, including architecture and prerequisites.
component: identity-for-ai
page_id: identity-for-ai:integrations:idai-integrating-gemini-agent-platform-with-ping
canonical_url: https://developer.pingidentity.com/identity-for-ai/integrations/idai-integrating-gemini-agent-platform-with-ping.html
llms_txt: https://developer.pingidentity.com/identity-for-ai/llms.txt
docs_for_agents: https://developer.pingidentity.com/build-with-ai/docs-for-agents.md
revdate: 2026-10-14T18:43:00Z
keywords: ["Identity for AI", "ai identity", "ai security", "Google Cloud Gemini Enterprise", "Gemini Enterprise Agent Platform", "PingOne Authorize", "authentication", "authorization"]
section_ids:
  authorization-scenarios: Authorization scenarios
  reference-architecture: Reference architecture
  technologies: Technologies
  idai-gemini-prereqs: Before you begin
  google-cloud-access-requirements: Google Cloud access requirements
  whats-next: What's next
---

# Integrating Gemini Enterprise Agent Platform with Ping Identity solutions

The Gemini Enterprise Agent Platform enables organizations to deploy and manage artificial intelligence (AI) agents. The platform provides tools and services for building and deploying AI agents, and managing their lifecycles.

Integrating Gemini Enterprise Agent Platform with Ping Identity's authorization solution, PingOne Authorize, transforms how your organization secures AI agents, shifting from simple network connectivity to dynamic runtime authorization. In this integration, Google Cloud Agent Gateway acts as a central enforcement point and PingOne Authorize acts as the decision point, authorizing agent actions in real time without relying on standing credentials.

Benefits of this integration include:

* Decoupled policy management

  A single authorization decision point governs all agent access (to MCP tools, external APIs, or other agents), enforcing read-only constraints and role-based policies, and eliminating the need to hard code business rules into every agent implementation or API integration.

* Continuous contextual authorization

  Static credentials alone can't stop over-privileged agents from accessing downstream tools. Instead, upon every request approved by PingOne Authorize, the gateway coordinates with PingOne to exchange the incoming credential for a narrowly scoped, short-lived token. By checking identity, delegation history, and policy at runtime, PingOne Authorize prevents compromised agents from using stolen tokens to reach downstream tools.

* End-to-end traceability

  Combining the gateway's trace IDs with Ping Identity's delegated identity model allows you to follow each request to see exactly which user was represented, which agent made the call, and which policy allowed or blocked the action.

## Authorization scenarios

This integration supports three primary authorization use cases based on the identity and delegation requirements of the agent and the downstream tool:

| Use case                                                                             | Scenario                                                                                                                                                                                           |
| ------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Autonomous agent to tool](idai-authorizing-gemini-autonomous-agents-with-ping.html) | An agent calls a supply chain MCP server using an agent-only identity. No user context is involved.                                                                                                |
| [Agent on behalf of user](idai-authorizing-gemini-on-behalf-of-users-with-ping.html) | A user invokes an agent that subsequently calls an MCP server. The user's identity is delegated directly through the agent.                                                                        |
| [Agent2Agent chaining](idai-authorizing-gemini-agent2agent-with-ping.html)           | A user interacts with a support agent that delegates to an order status agent. The order status agent subsequently calls an MCP server. The user's identity is delegated through the entire chain. |

## Reference architecture

Enforcing authorization policies on agents and MCP servers running on the Gemini Enterprise Agent Platform relies on a central gateway approach. In this architecture, the calling agent never holds a credential for the downstream agent or tool it calls. Instead, Google Cloud Agent Gateway uses a service extension to validate the inbound token and consult PingOne Authorize for a permit or deny decision. Upon a permit decision, the gateway performs a delegation token exchange, minting a narrowly scoped token before forwarding the request to an agent or MCP server.

![Diagram showing the Gemini reference architecture with an agent, Agent Gateway, Envoy service extension, and PingOne Authorize.](_images/idai-gemini-platform-architecture.png)

### Technologies

PingOne Authorize integrates into the Google Cloud Agent Gateway flow through a custom Envoy `ext_proc` service extension. The gateway streams each governed request to the extension, which validates the inbound token and requests an authorization decision from PingOne Authorize. Upon a permit decision, the extension exchanges the credential for a narrowly scoped, short-lived token before forwarding the request.

| Component                                                                                                                           | Role                                                                                                                          |
| ----------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |
| [Gemini Enterprise Agent Platform](https://docs.cloud.google.com/gemini-enterprise-agent-platform)                                  | Google Cloud platform, which manages agent lifecycles.                                                                        |
| [Google Cloud Agent Gateway](https://docs.cloud.google.com/gemini-enterprise-agent-platform/govern/gateways/agent-gateway-overview) | Policy enforcement point that forwards agent requests to the service extension over the gRPC remote procedure call framework. |
| [Envoy external processing filter](https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/ext_proc_filter)     | Gateway mechanism that streams intercepted requests to the service extension over gRPC.                                       |
| [PingOne](https://docs.pingidentity.com/pingone/use_cases/p1_oauth_2_token_exchange_delegation.html)                                | Identity provider that authenticates agents and exchanges tokens with delegation.                                             |
| [PingOne Authorize](https://docs.pingidentity.com/pingone/authorization_using_pingone_authorize/p1az_introduction.html)             | External policy decision point that evaluates authorization requests.                                                         |

## Before you begin

1. Ensure you have:

   * A Google Cloud project with billing enabled.

   * The Google Cloud CLI authenticated against the target project.

     You can find information about [installing the Google Cloud CLI](https://cloud.google.com/sdk/docs/install) in the Google Cloud documentation.

   * A PingOne environment with PingOne Authorize and the following roles:

     * Environment Admin

     * Application Admin

   * Docker installed and running on your local machine. Docker is used to build service images.

2. Clone the [Gemini Enterprise Agent Platform Integrations](https://github.com/pingidentity/gemini-enterprise-agent-platform-integrations) repository to your local machine. For example:

   ```bash
   git clone https://github.com/pingidentity/gemini-enterprise-agent-platform-integrations.git
   ```

   This repository contains implementation files, code samples, and detailed instructions.

### Google Cloud access requirements

Google Cloud authentication requires credentials in three separate stores. You must authenticate all three stores, because an expired credential in any store causes deployment failures.

```bash
# Authenticate the gcloud CLI for deploy commands
gcloud auth login

# Authenticate Application Default Credentials (ADC) for the Python agent SDK
gcloud auth application-default login

# Authenticate Docker for pushing images (doesn't read the gcloud CLI sign-on)
gcloud auth configure-docker
```

You can deploy the solution from an Apple Silicon Mac without additional configuration. The Makefiles build for the `linux/amd64` platform, and the agent virtual environment targets Python 3.13.

|   |                                                                               |
| - | ----------------------------------------------------------------------------- |
|   | If you're using an earlier version of Python, run `brew install python@3.13`. |

To deploy the solution, your Google Cloud user account requires specific permissions beyond the basic `roles/editor` role:

| Role                                                 | Description                                                                           |
| ---------------------------------------------------- | ------------------------------------------------------------------------------------- |
| `roles/secretmanager.admin`                          | Allows the `make setup` command to add IAM policy bindings to the secrets it creates. |
| `roles/iap.admin`                                    | Grants the necessary egress permissions during the agent deployment.                  |
| `roles/run.admin` and `roles/iam.serviceAccountUser` | Allows the deployment of Cloud Run services and the attachment of service accounts.   |
| `roles/storage.admin`                                | Enables Docker image pushes and manages the staging bucket.                           |
| `roles/aiplatform.user`                              | Permits Reasoning Engine deployments and queries.                                     |

To grant these roles to a deploying user, run the following bash script:

```bash
for ROLE in roles/secretmanager.admin roles/iap.admin roles/run.admin \
            roles/iam.serviceAccountUser roles/storage.admin roles/aiplatform.user; do
  gcloud projects add-iam-policy-binding <PROJECT_ID> --member=user:<EMAIL> --role=$ROLE
done
```

## What's next

Learn how to [authorize autonomous Gemini agents](idai-authorizing-gemini-autonomous-agents-with-ping.html).
