# gcp_functions_set_iam_policy

Set IAM policy on a Cloud Function

Agent View of the PolicyLayer registry record for `gcp_functions_set_iam_policy`. HTML page: https://policylayer.com/tools/ahmedselimmansor-ctrl-gcp-mcp-server/gcp-functions-set-iam-policy

## Facts

- Tool: `gcp_functions_set_iam_policy`
- Server: GCP MCP Server (`ahmedselimmansor-ctrl/gcp_mcp_server`) — https://policylayer.com/tools/ahmedselimmansor-ctrl-gcp-mcp-server.md
- Homepage: https://github.com/ahmedselimmansor-ctrl/GCP_MCP_server
- Risk category: Write (Medium risk)
- Registry record: grade F, identity unverified
- Server rate-limited: no
- Parameters: 0
- Recommended policy verdict: Rate-limited

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "gcp_functions_set_iam_policy",
    "arguments": {}
  }
}
```

## Why gcp_functions_set_iam_policy is rated Medium

IAM policy changes are Write operations because they alter resource metadata and permissions without deleting resources. However, severity is high because misconfiguration could grant unintended access to sensitive functions, affecting confidentiality and integrity across dependent systems. The blast radius is substantial in a GCP environment where functions often process sensitive data or trigger critical workflows.

From the tool's own definition: "Set IAM policy on a Cloud Function — this modifies access control rules, which is a reversible configuration change that creates or modifies resource permissions."

## Use case

AI agents use gcp_functions_set_iam_policy to create or update resources in GCP MCP Server, usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your GCP MCP Server environment.

## Recommended policy (PolicyLayer)

Verdict: **Rate-limited**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches GCP MCP Server:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "gcp_functions_set_iam_policy": {
      "limits": [
        {
          "counter": "gcp_functions_set_iam_policy_rate",
          "window": "minute",
          "max": 30,
          "scope": "grant"
        }
      ]
    }
  }
}
```

## Other tools on GCP MCP Server (294)

- `gcp_agent_delete_app` — Destructive — https://policylayer.com/tools/ahmedselimmansor-ctrl-gcp-mcp-server/gcp-agent-delete-app.md
- `gcp_agent_delete_data_store` — Destructive — https://policylayer.com/tools/ahmedselimmansor-ctrl-gcp-mcp-server/gcp-agent-delete-data-store.md
- `gcp_agent_delete_endpoint` — Destructive — https://policylayer.com/tools/ahmedselimmansor-ctrl-gcp-mcp-server/gcp-agent-delete-endpoint.md
- `gcp_agent_delete_model` — Destructive — https://policylayer.com/tools/ahmedselimmansor-ctrl-gcp-mcp-server/gcp-agent-delete-model.md
- `gcp_agent_delete_reasoning_engine` — Destructive — https://policylayer.com/tools/ahmedselimmansor-ctrl-gcp-mcp-server/gcp-agent-delete-reasoning-engine.md
- `gcp_appengine_delete_service` — Destructive — https://policylayer.com/tools/ahmedselimmansor-ctrl-gcp-mcp-server/gcp-appengine-delete-service.md
- `gcp_appengine_delete_version` — Destructive — https://policylayer.com/tools/ahmedselimmansor-ctrl-gcp-mcp-server/gcp-appengine-delete-version.md
- `gcp_ar_delete_package` — Destructive — https://policylayer.com/tools/ahmedselimmansor-ctrl-gcp-mcp-server/gcp-ar-delete-package.md
- `gcp_ar_delete_repository` — Destructive — https://policylayer.com/tools/ahmedselimmansor-ctrl-gcp-mcp-server/gcp-ar-delete-repository.md
- `gcp_ar_delete_version` — Destructive — https://policylayer.com/tools/ahmedselimmansor-ctrl-gcp-mcp-server/gcp-ar-delete-version.md
- `gcp_bq_delete_dataset` — Destructive — https://policylayer.com/tools/ahmedselimmansor-ctrl-gcp-mcp-server/gcp-bq-delete-dataset.md
- `gcp_bq_delete_table` — Destructive — https://policylayer.com/tools/ahmedselimmansor-ctrl-gcp-mcp-server/gcp-bq-delete-table.md
- `gcp_compute_delete_disk` — Destructive — https://policylayer.com/tools/ahmedselimmansor-ctrl-gcp-mcp-server/gcp-compute-delete-disk.md
- `gcp_compute_delete_instance` — Destructive — https://policylayer.com/tools/ahmedselimmansor-ctrl-gcp-mcp-server/gcp-compute-delete-instance.md
- `gcp_compute_delete_snapshot` — Destructive — https://policylayer.com/tools/ahmedselimmansor-ctrl-gcp-mcp-server/gcp-compute-delete-snapshot.md
- `gcp_compute_detach_disk` — Destructive — https://policylayer.com/tools/ahmedselimmansor-ctrl-gcp-mcp-server/gcp-compute-detach-disk.md
- `gcp_dns_delete_managed_zone` — Destructive — https://policylayer.com/tools/ahmedselimmansor-ctrl-gcp-mcp-server/gcp-dns-delete-managed-zone.md
- `gcp_dns_delete_record_set` — Destructive — https://policylayer.com/tools/ahmedselimmansor-ctrl-gcp-mcp-server/gcp-dns-delete-record-set.md
- `gcp_firestore_delete_document` — Destructive — https://policylayer.com/tools/ahmedselimmansor-ctrl-gcp-mcp-server/gcp-firestore-delete-document.md
- `gcp_functions_delete` — Destructive — https://policylayer.com/tools/ahmedselimmansor-ctrl-gcp-mcp-server/gcp-functions-delete.md
- `gcp_gke_delete_cluster` — Destructive — https://policylayer.com/tools/ahmedselimmansor-ctrl-gcp-mcp-server/gcp-gke-delete-cluster.md
- `gcp_gke_delete_node_pool` — Destructive — https://policylayer.com/tools/ahmedselimmansor-ctrl-gcp-mcp-server/gcp-gke-delete-node-pool.md
- `gcp_iam_delete_custom_role` — Destructive — https://policylayer.com/tools/ahmedselimmansor-ctrl-gcp-mcp-server/gcp-iam-delete-custom-role.md
- `gcp_iam_delete_service_account` — Destructive — https://policylayer.com/tools/ahmedselimmansor-ctrl-gcp-mcp-server/gcp-iam-delete-service-account.md
- `gcp_iam_delete_service_account_key` — Destructive — https://policylayer.com/tools/ahmedselimmansor-ctrl-gcp-mcp-server/gcp-iam-delete-service-account-key.md
- `gcp_iam_remove_iam_binding` — Destructive — https://policylayer.com/tools/ahmedselimmansor-ctrl-gcp-mcp-server/gcp-iam-remove-iam-binding.md
- `gcp_lb_delete_backend_service` — Destructive — https://policylayer.com/tools/ahmedselimmansor-ctrl-gcp-mcp-server/gcp-lb-delete-backend-service.md
- `gcp_lb_delete_forwarding_rule` — Destructive — https://policylayer.com/tools/ahmedselimmansor-ctrl-gcp-mcp-server/gcp-lb-delete-forwarding-rule.md
- `gcp_lb_delete_target_pool` — Destructive — https://policylayer.com/tools/ahmedselimmansor-ctrl-gcp-mcp-server/gcp-lb-delete-target-pool.md
- `gcp_logging_delete_log` — Destructive — https://policylayer.com/tools/ahmedselimmansor-ctrl-gcp-mcp-server/gcp-logging-delete-log.md
- …and 264 more: https://policylayer.com/tools/ahmedselimmansor-ctrl-gcp-mcp-server.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=ahmedselimmansor-ctrl-gcp-mcp-server · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/ahmedselimmansor-ctrl-gcp-mcp-server
