PAA Practice Exams / Exam guide / Section 5
Section 5: Securing and governing agentic workflows
Section 5 is about 15% of the exam and lists six considerations across 5.1 (configuring security and governance) and 5.2 (secure agent behavior and execution). Most questions turn on three choices: which Agent Identity credential model fits the call (3-legged OAuth, 2-legged OAuth, OIDC ID token or API key), where a control must live (Principal Access Boundary on a principal set, Unified Access Policy on the egress gateway, Model Armor on ingress, egress or inside the agent), and the Agent Gateway placement and hostname allowlisting rules that decide whether agent traffic is allowed at all.
| Share of the exam | About 15%, roughly 7 to 8 questions if the GA exam has 50 |
| Practice questions | 6 free on this page and in the practice exam, 27 in the full bank |
The 6 Section 5 considerations, as worded in the official exam guide
5.1 Configuring agent security and governance
- Implementing authentication and secure tool execution (e.g., agent-to-tool API calls using OAuth 2.0)
- Configuring Principal Access Boundary (PAB) policies using Agent Identity
- Configuring Agent Gateway to monitor traffic and track agents
- Designing and configuring agentic governance and policy enforcement (e.g., Agent Registry and Model Armor)
5.2 Implementing secure agent behavior and execution
- Designing appropriate safety frameworks and guardrails (e.g., Agent Gateway, Model Armor, and human-in-the-loop [HITL])
- Configuring secure access to data and identity propagation (e.g., Agent Gateway and Agent Registry)
Source: Professional Agentic Architect exam guide (PDF).
Which control stops which risk: IAM, Principal Access Boundary, Agent Gateway, Agent Registry, Model Armor, HITL and OAuth
| Risk in the scenario | Control and where it is configured | What it does not do |
|---|---|---|
| The agent needs access to a Google Cloud resource, or has too much | IAM allow policy on the resource, granting a role to the agent's principal:// identifier | Bindings survive agent deletion. A redeployed agent gets a new principal, so old grants do not apply. |
| The agent uses roles granted outside its approved area, such as a test grant in another folder or a partner's grant | Principal Access Boundary policy bound to the project's agent identities principal set | It never grants access, and it blocks only permissions in its enforcement version. |
| The agent calls a tool, MCP server or endpoint nobody approved | Agent-to-Anywhere Agent Gateway with an IAP REQUEST_AUTHZ policy enforcing IAM Unified Access Policies. Egress is default deny. | It does not inspect payload content. |
| Policies cannot target one specific server, tool or endpoint | Agent Registry entry for the MCP server, endpoint or agent, created in the gateway's project and region | It is a catalog; gateway policies enforce. |
| Prompt injection, jailbreaks, harmful content or sensitive data in prompts, tool calls or tool responses | Model Armor template attached to the gateway as a CONTENT_AUTHZ policy | It does not allow or deny tools by name or annotation. |
| A tool call breaks a business rule that changes often, or drifts from the user's intent | Semantic governance policy (Preview), a CONTENT_AUTHZ policy on the egress gateway | Verdicts come from an LLM and are not deterministic. |
| A high-impact action runs without a person approving it | ADK tool confirmation (require_confirmation) on the tool | It pauses and waits for a decision; it does not screen content. |
| The agent must act for one user, limited to that user's rights | 3-legged OAuth auth provider in Agent Identity auth manager | It needs user consent; unattended jobs use 2-legged OAuth. |
Documented setup order: agent identities, Agent Registry entries, IAM policies, Model Armor templates, semantic governance policies, then Agent Gateway, reviewing the audit-mode "would have been blocked" report before enforcing.
Sources: Agent Platform governance, Agent Identity overview, Delegate authorization for Agent Gateway
Agent Identity credentials: 3-legged OAuth, 2-legged OAuth, OIDC ID token or API key
| If the scenario says | Choose | Why |
|---|---|---|
| The external system must record each change under the requesting user, and consent must be reviewable and revocable | 3-legged OAuth auth provider; grant the agent roles/agentidentity.user on it | Auth manager stores user tokens in a Google-managed vault, automates sign-in, consent, code exchange and refresh, and supports revocation. |
| Unattended job; the SaaS supports the OAuth client credentials grant | 2-legged OAuth auth provider | Google stores the client credentials and ADK injects the access token. No user consent is involved. |
| No long-lived secret of any kind; the external platform trusts OIDC federation | OIDC ID token from the agent's own identity | The credential derives from the attested identity, so no API key, client secret or service account key is stored. |
| The partner issues one API key; the agent calls on its own authority | API key auth provider plus an Agent Registry binding | The key leaves prompts and code; IAM on the agent identity controls who can use it. |
| The agent reads Google Cloud resources itself | IAM roles on the agent identity | Its access token is bound to its X.509 certificate. |
- Agent identities are not shared by multiple workloads by default, can't be impersonated and don't allow long-lived service account keys. HTTP basic auth is supported but not recommended.
- The X.509 certificate is valid for 24 hours and rotates automatically. The default Google-managed Context-Aware Access policy enforces mTLS and DPoP binding, so stolen tokens can't be replayed outside the runtime.
- Supported hosts: Agent Runtime, Gemini Enterprise and Cloud Run.
- Auth providers are regional and not available in
global. Keep the auth provider, the registered MCP server and the ADK Agent Registry client in one region, or binding creation fails withLocation of auth provider does not match location of binding. gcloud agent-registry bindings createlinks the source agent, the target and the auth provider, so no auth scheme is written in code. For 3-legged OAuth the client application handles theadk_request_credentialcall for consent.
Sources: Agent Identity overview, Authenticate using 3-legged OAuth, Authenticate toolsets in Agent Registry
How user, agent and delegated identities propagate through Agent Gateway
Agent Identity uses a three-identity delegation framework instead of service account impersonation. Each layer is checked at a different trust boundary.
| Identity layer | Credential | Where it is enforced | Audit log attribution |
|---|---|---|---|
| User identity | End user's OAuth 2.0 or OIDC token (Google Account or workforce identity) | Client-to-Agent gateway authorization policies verify that the user may invoke the agent, then forward the verified user context to the runtime | The human user as caller |
| Agent identity | SPIFFE X.509 certificate (mTLS and DPoP), OIDC ID token, or a 2-legged OAuth credential or API key from auth manager | Agent-to-Anywhere path: IAM allow and deny policies, Principal Access Boundary and Context-Aware Access are evaluated strictly against the agent identity | The agent's SPIFFE principal |
| Delegated identity | Agent identity plus a scoped 3-legged OAuth user token brokered by auth manager | Agent-to-Anywhere path: the call must satisfy the agent's egress policies and the user's permissions and consented scopes | Both the agent's SPIFFE identity and the delegating user |
- Delegated access is an intersection. The agent's broader permissions never cover what the user lacks, and a user token never bypasses the agent's egress policies.
- Inside the runtime the agent authenticates to auth manager with its own SPIFFE identity, so every end-user access event is also attributable to the agent.
- The agent's SPIFFE ID has the form
spiffe://agents.global.org-ORG_ID.system.id.goog/resources/aiplatform/projects/PROJECT_NUMBER/locations/REGION/reasoningEngines/ENGINE_ID; in IAM policies the same path is written withprincipal://. - Agent identities can be used as principals in VPC Service Controls ingress and egress rules.
Sources: Identity delegation architecture, Agent Identity overview
Principal Access Boundary with Agent Identity: principal sets, the union rule and enforcement versions
- Bind the policy to the agent identities principal set
//agents.global.org-ORGANIZATION_ID.system.id.goog/attribute.container/projects/PROJECT_NUMBER. It contains every agent identity in the project's trust domain, including agents created later. The policy binding is parented by the project. - The project's principal set
//cloudresourcemanager.googleapis.com/projects/PROJECT_IDalso contains service accounts and workload identity pools. Folder and organization principal sets contain all principals of their descendants. - Policies are additive: a principal may access the union of resources in every policy it is subject to, including policies bound to its folder's or organization's principal set. To remove a resource, remove it from all of them.
- Rules support only the ALLOW effect. A policy holds up to 500 rules, and an organization can have up to 1,000 policies.
- A policy blocks only permissions in its enforcement version. Version 1 covers some Cloud Storage permissions such as
storage.objects.get; version 2 and later coverstorage.objects.*. Pin a specific newer version after reviewing the enforcement version reference. Google does not recommendlatest, because access can disappear unexpectedly. A new version can take up to 4 weeks to become the default. - On Agent Gateway egress, IAP can enforce Principal Access Boundary policies on the agent identity.
| Pair | The difference the exam uses |
|---|---|
| Principal Access Boundary vs IAM allow policy | Allow policies on resources grant roles. Principal Access Boundary is attached to principal sets and only limits eligibility; it never grants. |
| Principal Access Boundary vs IAM deny policy | Deny policies attach to resources and must be maintained per resource. One boundary covers every resource for the bound principals. |
| Principal Access Boundary vs VPC Service Controls perimeter | A perimeter constrains every workload in its projects and only supported services. A boundary limits IAM eligibility per principal set. |
Sources: Principal Access Boundary policies, IAM Unified Access Policies overview
Agent Gateway and Agent Registry: placement, allowlisting, tool-level rules and logs
| If the scenario says | Do this | Why |
|---|---|---|
| Security wants to own gateways in a central project | Put the Agent-to-Anywhere gateway there; keep the Client-to-Agent gateway in the agent's project | Ingress requires the same project and region as the agent. Egress may sit in another project in the same region, with its registry entries and IAM bindings in the gateway's project, configured through the REST API or gcloud. |
| Agents lose Sessions or Memory Bank after binding to an enforcing gateway | Register each exact standard, regional and mTLS hostname, including the Sessions and Memory Bank endpoints, and grant roles/iap.egressor | Egress is default deny and hostname matching is exact; *.googleapis.com is not supported. Missing allowlists cause 498 errors. |
| Different agents should use different egress gateways | Not possible within one project and region | All Agent Runtime agents in a project and region bind to the same egress gateway and the same ingress gateway. |
| Allow read-only tools, never destructive ones, even if a broader allow is added later | Register the MCP server in the gateway's regional Agent Registry; write a Unified Access Policy allow rule plus a deny rule on destination.agent_registry.mcp_server.tool.annotations.destructive_hint | Deny rules override allow rules. Policies name agents by principal:// identifiers; urn:agent: IDs are for catalog lookup only. |
| Prove what would be blocked before enforcing | Audit-only mode (iamEnforcementMode: "DRY_RUN") | IAP logs violations to Cloud Audit Logs without blocking. |
| Report the tool behind each denied call | Query the networkservices.googleapis.com/gateway_requests log | Entries carry mcpInfo (method and tool name) and agentRegistryResource. |
| Gateway spans appear as separate root traces | Enable parentBasedSampling; grant roles/cloudtrace.agent to the calling workload | Without the role, only the gateway child span is written. |
Changing an agent's gateway binding archives all earlier revisions irreversibly, and gateways can't bind to reasoning engines created before April 29, 2026.
Sources: Route Agent Runtime traffic through Agent Gateway, IAM Unified Access Policies, Monitor Agent Gateway
Model Armor on the gateway, in the agent, and through floor settings
| If the scenario says | Choose | Why |
|---|---|---|
| Screen tool payloads for every agent without code changes | Model Armor template on the Agent-to-Anywhere gateway | It sanitizes MCP tools/call and prompts/get requests and responses and tool execution errors. tools/list, resources/* and notifications pass unsanitized. |
Injection hidden in tool output gets past ADK's ModelArmorPlugin | Move screening to the egress gateway | The plugin screens user content and model replies but skips function_response parts. |
Ingress gateway does not screen asyncQuery | Apply Model Armor from the application or agent, for example with ModelArmorPlugin | Client-to-Agent mode governs only query and streamQuery. |
| Gateway callouts fail with permission errors | Egress: grant the Service Extensions service agent Model Armor Callout User and Service Usage Consumer in the gateway project. Ingress: grant the AI Platform Reasoning Engine Service Agent Model Armor Callout User in the agent project. Both: Model Armor User in the template project | The gateway, not the agent identity, calls Model Armor. Templates must be in the gateway's region. |
| Collect evidence before blocking | INSPECT_ONLY with Cloud Logging, then INSPECT_AND_BLOCK | Inspect only logs findings and blocks nothing. |
| Replace IDs with placeholders but stop other violations | Advanced Sensitive Data Protection settings with a de-identify template, plus INSPECT_AND_BLOCK | A payload that trips only the Sensitive Data Protection detector is redacted; one that trips several detectors is blocked. INSPECT_ONLY redacts the logs, not the payload. |
| No team template may weaken prompt injection detection or confidence levels | Organization-level floor settings, set through the API | Templates must conform to the floor and can still be stricter. The console manages only project-level floor settings. |
Use separate templates for prompts and responses for traceable tuning, and start responsible AI filters at HIGH to limit false positives. A Client-to-Agent gateway accepts one CONTENT_AUTHZ policy, so it holds Model Armor or semantic governance, not both.
Sources: Configure Model Armor on a gateway, Model Armor overview, Configure floor settings

Human-in-the-loop with ADK tool confirmation versus semantic governance and in-tool guardrails
FunctionTool(tool, require_confirmation=True)pauses every call until a person answers yes or no. Pass a function instead ofTrueto pause only when the arguments meet a condition, such as an amount above a threshold. This is deterministic; a system instruction asking the model to seek approval is not.- For richer approvals, call
tool_context.request_confirmation()inside the tool and readtool_context.tool_confirmationwhen it resumes. - A remote approver, such as a chat bot, resumes the paused call by sending a FunctionResponse named
adk_request_confirmationwhoseidequals thefunction_call_idof the confirmation request. With ADK Resume enabled, it must also carry the originalinvocation_id, otherwise ADK starts a new invocation. - Tool confirmation is experimental (Python from v1.14.0) and does not support
DatabaseSessionServiceorVertexAiSessionService. - In-tool guardrails: the model sets tool arguments, but the developer sets Tool Context. A tool that checks each request against a policy in Tool Context, such as allowed tables and SELECT only, removes the unwanted actions deterministically and can be reused with a different policy per deployment.
before_tool_callbackvalidates a call against agent state before it runs; plugins apply one policy across many agents.
| Pair | The difference the exam uses |
|---|---|
| Tool confirmation vs semantic governance | Confirmation routes the action to a person. Semantic governance (Preview) uses an LLM to deny tool calls that break plain-language rules or drift from user intent, with no human and no redeployment. |
| Unified Access Policy deny rule vs semantic governance | A deny rule matches fixed attributes such as tool name or destructive_hint. Semantic governance judges arguments and intent, such as a dollar limit. |
Sources: ADK tool confirmation, ADK safety and security, Semantic governance overview
6 free Section 5 questions with answers
The first answer is open as an example. In the practice exam you answer them one by one and get a score for this section; the full bank has 27 Section 5 questions.
Question 1, 5.1 Configuring agent security and governance
A software company runs an ADK engineering assistant on Agent Runtime with Agent Identity enabled. Developers ask it to update their own Jira tickets, and Jira must record every change under the requesting developer's account. Security policy forbids storing user refresh tokens in application databases and requires that user consent can be reviewed and revoked centrally. The team also wants to avoid writing custom OAuth callback and token-refresh code. What should you do?
- Create a 2-legged OAuth auth provider in Agent Identity auth manager with a Jira client ID and secret, and grant the agent identity access to it.
- Create a 3-legged OAuth auth provider in Agent Identity auth manager, grant the agent identity Agent Identity User on it, and use it in the ADK tool.
- Build a Cloud Run callback service that completes the Jira OAuth code exchange and stores each developer's refresh token in Firestore encrypted with CMEK.
- Store a Jira API key for a shared integration user in Secret Manager and let the agent read it at startup through its agent identity.
Show the answer and explanation
Answer: B. Acting on behalf of a specific user is user-delegated authority, which Agent Identity maps to a 3-legged OAuth auth provider in auth manager. Auth manager stores the resulting user tokens in a Google-managed vault, automates sign-in, consent, code exchange and refresh, and provides visibility into and revocation of user-delegated access. The agent's SPIFFE identity needs the Agent Identity User role on the auth provider, and ADK injects the token into the tool call.
Why the other options are wrong:
- A. 2-legged OAuth uses the agent's own authority without user consent, so changes would not be attributed to the individual developer.
- C. This works functionally but stores refresh tokens in an application database and requires custom OAuth code, violating both constraints.
- D. A shared integration user loses per-developer attribution, and a static API key is not a user-delegated credential.
Official reference: docs.cloud.google.com/iam/docs/auth-with-3lo-v2
Question 2, 5.1 Configuring agent security and governance
A bank runs five Agent Runtime agents under one shared service account whose JSON key is mounted in a sidecar. An audit found two issues: a developer impersonated the service account to run ad hoc BigQuery queries, and an access token copied from logs was replayed from a laptop. The bank plans to move each agent to Agent Identity. Which two properties of Agent Identity directly address these findings? (Choose two.)
- Agent identities rotate their JSON keys every 24 hours, so a leaked key expires before it can be reused from another machine.
- Agent identities are shared by all agents in a project by default, so one IAM binding covers the fleet and the sidecar can be removed.
- Agent identities can't be impersonated, and developers can't generate long-lived service account keys for them.
- Agent identities store their Google Cloud access tokens in auth manager, so tokens are never written to application logs.
- Tokens are bound to each agent's X.509 certificate, and Context-Aware Access enforces mTLS and DPoP so they can't be replayed.
Show the answer and explanation
Answer: C and E. Unlike service accounts, agent identities can't be impersonated and don't allow long-lived service account keys, which closes the impersonation finding. Access tokens are cryptographically bound to the agent's X.509 certificate, and the default Google-managed Context-Aware Access policy enforces mTLS and DPoP binding so tokens can't be replayed outside the trusted runtime, which closes the replay finding.
Why the other options are wrong:
- A. Agent identities don't use JSON keys at all; they use auto-provisioned X.509 certificates that are valid for 24 hours.
- B. Agent identities are per-agent and not shared by multiple workloads by default, which is the opposite of this statement.
- D. Auth manager vaults third-party credentials such as API keys and OAuth tokens; replay protection for Google Cloud tokens comes from certificate binding.
Official reference: docs.cloud.google.com/iam/docs/agent-identity-overview
Question 3, 5.1 Configuring agent security and governance
After routing its Agent Runtime agents through an Agent-to-Anywhere Agent Gateway, a fintech company's compliance officer asks for a weekly report. For every denied request, it must show which MCP method and tool name the agent attempted and which Agent Registry resource the request matched. The team wants to use data that the gateway already produces instead of adding logging code to each agent. What should you do?
- Query the reasoning_engine_stdout logs of each agent and parse the tool names that the ADK framework prints before every MCP call.
- Export the attempted-authorization and authorization-failure scorecards and charts from the gateway's Observability dashboard each week.
- Query the gateway_requests log of the Gateway monitored resource and report on its mcpInfo and agentRegistryResource fields.
- Enable Model Armor in INSPECT_ONLY mode on the gateway and report on its sanitize operation logs, which record each tool request.
Show the answer and explanation
Answer: C. Agent Gateway writes allow and deny decisions to the gateway_requests log for the networkservices.googleapis.com/Gateway monitored resource. Each entry's jsonPayload includes mcpInfo, with the MCP method such as tools/call and the tool name, and agentRegistryResource, the registry resource matched to the request. This meets the report needs without agent code changes.
Why the other options are wrong:
- A. Agent stdout depends on what each agent prints, which is agent-side logging, and it doesn't record the gateway's deny decisions.
- B. The dashboard scorecards and charts show aggregate authorization counts, failure rates, and requests per second, not the MCP method, tool name, and matched registry resource of each denied request.
- D. Model Armor logs content-screening findings for the payloads it sanitizes, not the gateway's access decisions, and it adds cost.
Official reference: docs.cloud.google.com/gemini-enterprise-agent-platform/govern/gateways/monitor-agent-gateway
Question 4, 5.1 Configuring agent security and governance
A procurement agent on Agent Runtime calls a third-party inventory MCP server through an Agent-to-Anywhere Agent Gateway in the same project. The server exposes read-only lookup tools and several tools annotated as destructive. Governance requires that the agent can call the lookup tools, can never call destructive tools even if someone later adds a broader allow rule, and that rules target this specific server rather than a hostname pattern. Which two actions should you take? (Choose two.)
- Reference the agent in the policy by its urn:agent identifier from Agent Registry so that the rule keeps following the agent across redeployments.
- Register the MCP server in the regional Agent Registry instance that is associated with the gateway, in the gateway's project.
- Write the allow rule on destination.unregistered.host with endsWith() so that it keeps working if the vendor adds new subdomains.
- Attach a Model Armor template with the dangerous content filter set to HIGH so that destructive tool calls are blocked at the gateway.
- Create a Unified Access Policy with an allow rule for the lookup tools and a deny rule for tools whose destructive_hint annotation is true.
Show the answer and explanation
Answer: B and E. Registering the MCP server in the regional Agent Registry associated with the gateway makes it a registered destination, so rules can be scoped to that server and to individual tools. A Unified Access Policy can hold both an allow rule for the lookup tools and a deny rule using the destructive_hint tool annotation in CEL; deny rules override allow rules, so a broader allow added later can't re-enable destructive tools.
Why the other options are wrong:
- A. urn:agent identifiers are used only for inventory and catalog lookup; IAM policies reference agents by their principal:// SPIFFE identifiers.
- C. Unregistered host patterns are exactly what governance wants to avoid, and they can't use the per-tool attributes of a registered server.
- D. Model Armor screens content for harm and injection; it doesn't authorize or deny specific tools based on their annotations.
Official reference: docs.cloud.google.com/gemini-enterprise-agent-platform/govern/policies/iam-overview-uap
Question 5, 5.2 Implementing secure agent behavior and execution
A bank deploys an ADK agent on Agent Runtime behind Agent Gateway. Requirements: incoming customer prompts must be screened for prompt injection; the agent's identity must be verified before any outbound call; and a plain-language rule must prevent the agent from initiating wire transfers above $10,000. Compliance edits that rule monthly and does not want code redeployments for each change. Which gateway configuration meets all requirements?
- Client-to-Agent gateway: Model Armor and semantic governance CONTENT_AUTHZ policies. Agent-to-Anywhere gateway: an IAP REQUEST_AUTHZ policy.
- Client-to-Agent gateway: a Model Armor CONTENT_AUTHZ policy. Agent-to-Anywhere gateway: IAP REQUEST_AUTHZ and semantic governance CONTENT_AUTHZ policies.
- Agent-to-Anywhere gateway only: Model Armor and semantic governance CONTENT_AUTHZ policies, plus a before_tool_callback that checks the transfer limit.
- Client-to-Agent gateway: an IAP REQUEST_AUTHZ and a semantic governance CONTENT_AUTHZ policy. Agent-to-Anywhere gateway: a Model Armor CONTENT_AUTHZ policy.
Show the answer and explanation
Answer: B. Client-to-Agent gateways support only one CONTENT_AUTHZ policy, and Model Armor is the recommended choice there for prompt injection. Agent-to-Anywhere gateways support up to four policies: an IAP REQUEST_AUTHZ policy verifies the agent identity first, then a semantic governance CONTENT_AUTHZ policy evaluates proposed tool calls against natural-language constraints that can change without redeploying code.
Why the other options are wrong:
- A. An ingress gateway supports a single CONTENT_AUTHZ policy, so Model Armor and semantic governance can't both be configured on it.
- C. This skips ingress prompt screening, and a before_tool_callback hard-codes the rule so every monthly change needs a redeployment.
- D. Without Model Armor on ingress, incoming prompts aren't screened for injection, and semantic governance belongs on the agent's egress path.
Official reference: docs.cloud.google.com/gemini-enterprise-agent-platform/govern/gateways/delegate-authorization
Question 6, 5.2 Implementing secure agent behavior and execution
An HR agent on Agent Runtime calls a user-scoped MCP server on behalf of employees. Credentials come from a 3-legged OAuth auth provider in Agent Identity auth manager, and outbound traffic goes through an Agent-to-Anywhere Agent Gateway with IAM policies on the agent identity. A security reviewer asks how authorization and audit attribution work for these delegated calls. Which two statements are correct? (Choose two.)
- A call succeeds only if it satisfies both the agent's egress policies and the employee's own permissions and consented OAuth scopes.
- Because a user token is attached, the gateway skips the agent's egress IAM policies and evaluates only the employee's own permissions.
- If the employee lacks a permission that the agent identity holds, the call falls back to the agent's own authority and succeeds.
- Audit logs for the call record both the agent's SPIFFE identity and the employee as the delegating user of the request.
- Audit logs record only the employee's identity, because the agent presents an OAuth access token issued to that employee.
Show the answer and explanation
Answer: A and D. In the identity delegation framework, the delegated identity combines the agent identity with the consenting user's 3LO token. Outbound calls are a least-privilege intersection: they must satisfy the agent's egress governance policies and the user's permissions and consented scopes. Audit logs record dual attribution, capturing both the agent's SPIFFE identity and the delegating user.
Why the other options are wrong:
- B. The agent's egress policies still apply to delegated calls; the user token adds a constraint rather than replacing the agent policies.
- C. Delegated calls are limited to the intersection, so the agent's broader permissions can't be used to exceed what the employee holds.
- E. Delegated calls are dual-attributed; the agent's identity is recorded alongside the employee's.
Official reference: docs.cloud.google.com/gemini-enterprise-agent-platform/govern/identity-delegation-architecture
Practise all 27 Section 5 questions, then take a 50-question, 120-minute simulation weighted like the real exam. $19 once, 12 months.
Practise Section 5