iam-helper-for-policy-management — Claude Code skill: IAM
This skill manages Google Cloud IAM allow policies v1 and deny policies v2. Use it to inspect access or prepare controlled policy changes.
npx skills add google/skills --skill iam-helper-for-policy-management -a claude-codeWhat iam-helper-for-policy-management does
The skill handles IAM policy management across Google Cloud resources. It can create, update, list, and delete allow policies in IAM v1, which grant roles to users, service accounts, groups, and domains. IAM v2 deny policies add organization-, folder-, or project-level restrictions that are evaluated before allow policies.
It covers Resource Manager resources such as organizations, folders, and projects, plus individual resources in supported services. Read-only requests can run autonomously. For changes, the skill builds the exact gcloud command, explains the possible access impact, waits for approval, and verifies the resulting state after execution.
The skill refuses broad public access through allUsers or allAuthenticatedUsers with basic roles. Install it for IAM policy work; access-denial troubleshooting, temporary privileged access, VPC Service Controls, and network firewall rules belong to other tools.
What it helps with
- grant a role to a service account on a project
- inspect an organization, folder, or project IAM policy
- prepare a deny policy for an attachment point
- remove a binding from an allow policy
- verify access after a policy change
Example prompts for the agent
- Show the IAM allow policy for this project and list its testable permissions.
- Prepare the gcloud command to grant a role to a service account, but wait for my approval before applying it.
- Create a deny-policy plan for `cloudresourcemanager.googleapis.com/projects/PROJECT_ID` without changing the live environment.
How to install iam-helper-for-policy-management
1Skills CLI (Vercel)
npx skills add google/skills --skill iam-helper-for-policy-management -a claude-code2Manually: put the files in place
~/.claude/skills/iam-helper-for-policy-management/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/iam-helper-for-policy-management/
1Skills CLI (Vercel)
npx skills add google/skills --skill iam-helper-for-policy-management -a codex2Manually: put the files in place
.agents/skills/iam-helper-for-policy-management/SKILL.mdFor all projects use ~/.agents/skills/
Manually: put the files in place
.cursor/skills/iam-helper-for-policy-management/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install google/skills iam-helper-for-policy-management2Manually: put the files in place
.github/skills/iam-helper-for-policy-management/SKILL.md1Skills CLI (Vercel)
npx skills add google/skills --skill iam-helper-for-policy-management -a gemini-cli2Platform CLI
gemini skills install https://github.com/google/skills --path skills/cloud/iam-helper-for-policy-managementManually: put the files in place
.devin/skills/iam-helper-for-policy-management/SKILL.mdThe legacy .windsurf/skills/ path still works
Claude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
From the same set172
The whole set →Similar
Questions about iam-helper-for-policy-management
How do I install iam-helper-for-policy-management in Claude Code?
Run npx skills add google/skills --skill iam-helper-for-policy-management -a claude-code. The skill file is placed at ~/.claude/skills/iam-helper-for-policy-management/SKILL.md.
What does iam-helper-for-policy-management do?
It manages IAM allow policies v1 and deny policies v2, including policy inspection, change planning, and post-change verification.
Does the skill apply IAM changes automatically?
No. It prepares the complete command, warns about possible access impact, and waits for explicit approval before applying a mutating change.
Source text
SKILL.md · Apache-2.0
---
name: iam-helper-for-policy-management
description: >-
Streamlines the creation, modification, and management of IAM allow policies
(v1) and deny policies (v2). Manages access control across Resource Manager
resources (Organization, Folder, Project) and individual resources. Use when
creating, updating, listing, or deleting IAM allow policies or deny policies.
Don't use for access denial troubleshooting (use
iam-helper-for-troubleshooting), temporary privileged access (use
iam-helper-for-privileged-access-management), configuring VPC Service
Controls, or managing network firewall rules.
metadata:
version: "1.0.1"
category: Security
---
# IAM Helper for Policy Management
Orchestrates the lifecycle and management of IAM allow and deny policies across
IAM v1 (allow policies) and IAM v2 (deny policies).
## Usage Attribution
**MUST READ**: Before executing any `gcloud`, REST API, or MCP command, you
MUST read and follow the instructions in
[Usage Attribution](references/attribution.md).
--------------------------------------------------------------------------------
## Core Concepts & Paradigms
IAM operates across two policy paradigms:
1. **IAM v1 (Allow Policies)**: Grants roles to principals (users, service
accounts, groups, domains) on specific resources. Supports Resource Manager
resources (organizations, folders, projects) as well as individual resources
across supported Google Cloud services.
2. **IAM v2 (Deny Policies)**: Sets explicit organization-, folder-, or
project-level guardrails that prevent specified principals from using
designated permissions, regardless of any allow policies granted. Evaluated
before allow policies.
--------------------------------------------------------------------------------
## Workflow & Decision Tree
When receiving a policy management request, determine whether the operation is
**Read-Only** or **Mutating**, and whether it targets **IAM v1 (Allow
Policies)** or **IAM v2 (Deny Policies)**:
### 1. Read-Only Operations (Autonomous Execution)
Read-only actions include the following:
- **IAM v1 Allow Policies**: `get-iam-policy` on project/folder/organization,
or `gcloud iam list-testable-permissions
//cloudresourcemanager.googleapis.com/projects/PROJECT_ID`.
- **IAM v2 Deny Policies**: `gcloud iam policies list` or `gcloud iam policies
get` with `--attachment-point` and `--kind=denypolicies`.
For read-only actions, execute the command autonomously to inspect state, and
present the query results clearly to the user.
### 2. Mutating Operations (Plan & Confirm Protocol)
Mutating operations include the following:
- **IAM v1 Allow Policies**: `add-iam-policy-binding`,
`remove-iam-policy-binding`, or `set-iam-policy` across project, folder,
organization, or resource levels (see
[references/v1-allow-policies.md](references/v1-allow-policies.md)).
- **IAM v2 Deny Policies**: `create`, `update`, or `delete` deny policies on
attachment points
(`cloudresourcemanager.googleapis.com/projects/PROJECT_ID`,
`cloudresourcemanager.googleapis.com/folders/FOLDER_ID`, or
`cloudresourcemanager.googleapis.com/organizations/ORG_ID`) using YAML/JSON
policy files (see
[references/v2-deny-policies.md](references/v2-deny-policies.md)).
For mutating operations, follow the **Plan & Confirm Protocol** below. **DO
NOT** execute mutating commands autonomously without prior user approval.
--------------------------------------------------------------------------------
## Execution & Safety Protocol
- **Plan and Confirm (No Autonomous Mutation)**: Mutating allow and deny
policy changes modify live security perimeters and access controls. You MUST
NOT execute mutating `gcloud` commands directly via tool calls without
explicit prior confirmation from the user. When asked to apply a mutating
change, do the following:
1. **Formulate the Command**: Generate the exact, fully constructed
`gcloud` command (including all parameters such as `--member`, `--role`,
`--attachment-point`, `--kind=denypolicies`, and `--policy-file`).
2. **Warn of Impact & Propagation**: Issue a general warning that the
change could impact access in a live environment and takes time to
propagate across Google Cloud global infrastructure.
3. **Request User Confirmation**: Prompt the user for approval before
applying the changes to the live environment.
- **Post-Execution Verification**: After the user approves and the mutating
policy change is executed, run the corresponding verification command (see
[references/v1-allow-policies.md](references/v1-allow-policies.md) and
[references/v2-deny-policies.md](references/v2-deny-policies.md) for exact
verification steps) to verify that the active state matches expectations
before reporting completion.
- **Security Guardrail (Public & Blanket Access Refusal)**: Never grant
`allUsers` or `allAuthenticatedUsers` basic roles (`roles/owner`,
`roles/editor`, `roles/viewer`, `roles/admin`, `roles/writer`, and
`roles/reader`) or broad permissions. Explicitly refuse blanket public
access requests, explain the severe security risks of public project
ownership/access, and propose scoped, least-privileged role bindings for
specific authenticated identities instead.
--------------------------------------------------------------------------------
## Supporting Links
- [IAM Overview](https://cloud.google.com/iam/docs/overview)
- [IAM Deny Policies](https://cloud.google.com/iam/docs/deny-overview)
© google · Apache-2.0 · google/skills