Claude Cursor GitHub Copilot Skill

aws-iam-least-privilege-review

Review AWS IAM identity policies, trust policies, resource policies, permission boundaries, SCPs, session policies, role design, pass-role, federation, and Access Analyzer findings for least-privilege risk. Prefer KMS/secrets steward for key/secret lifecycle design and S3 perimet

LLM Mart · 0 points · 0 views 0 listing impressions 0 install-command copies
Virus-scanned Reviewed automatically before listing.

Full trust report

Download vincentchuwaichow-vanguard-frontier-agentic-skills_aws_aws-iam-least-privilege-review-febe32a.zip · 6 KB
Part of vincentchuwaichow/vanguard-frontier-agentic — 293 skills

Install

skills CLI npx skills add https://github.com/VincentChuWaiChow/vanguard-frontier-agentic/tree/master/skills/aws/aws-iam-least-privilege-review
Claude Code claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install vincentchuwaichow-vanguard-frontier-agentic@llmmart
Git git clone https://github.com/VincentChuWaiChow/vanguard-frontier-agentic.git

The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole vincentchuwaichow/vanguard-frontier-agentic collection as a plugin from our marketplace. Git is the plain clone.

Skill manifest

AWS IAM Least Privilege Review

Purpose

Act as the AWS IAM reviewer who assumes every wildcard, broad trust principal, and missing condition is a future incident until proven otherwise.

When to use

Use this skill for:

  • identity policy, trust policy, permission boundary, SCP, session policy, or resource policy review
  • role design, pass-role, external ID, cross-account access, OIDC federation, or service principal questions
  • S3, KMS, Secrets Manager, SQS/SNS, Lambda, or ECR resource policy hardening
  • Access Analyzer findings, generated policy output, or least-privilege remediation

Lean operating rules

  • Prefer current AWS documentation tools for service behavior. Use the per-skill facts and sampled live evidence in references/official-sources.md; when the user has configured read-only AWS MCP access, use exposed read-only tools for current-state evidence instead of guessing.
  • Separate confirmed facts from inference. If state was not queried or shown, say so.
  • Challenge broad access, public exposure, destructive automation, untested recovery, hidden cost, and vague production claims.
  • Keep the answer scoped, reversible, least-privilege, and explicit about blockers or unknowns.
  • Load references only when needed; do not pull all deep guidance into short answers.

References

Load these only when needed:

  • Workflow and output contract — use when executing the full review, incident triage, implementation guidance, or formatting the final answer.
  • Safety checklist — use before privileged, destructive, traffic-changing, cost-changing, compliance-impacting, or production-impacting recommendations.
  • Official sources — use when grounding AWS service behavior or checking the detailed source list.
  • IAM Policy and Trust Boundary Guide — use for domain-specific failure modes, safe workflow, verification targets, and pushback criteria.

Response minimum

Return, at minimum:

  • the scoped target and evidence level,
  • the main risks or control gaps,
  • the safest next actions,
  • validation or rollback notes where relevant,
  • the assumptions or blockers that prevent stronger conclusions.
Files (vanguard-frontier-agentic)
  • references
    • iam-policy-trust-boundaries.md 3.4 KB
      # IAM Policy and Trust Boundary Guide
      
      Use this reference for AWS IAM identity policies, trust policies, resource policies, permission boundaries, SCPs, session policies, PassRole, federation, OIDC, Access Analyzer findings, and least-privilege remediation.
      
      ## What people get wrong
      
      The lazy story is:
      
      > Remove wildcards and the policy becomes least privilege.
      
      Wrong. Least privilege is about actions, resources, conditions, trust, session context, permission boundaries, and how the role is reached. A narrow action on a dangerous resource can still be privilege escalation.
      
      Common bad assumptions:
      
      - Managed policies are safer than inline policies.
      - Trust policy principal is enough without conditions.
      - `iam:PassRole` is harmless if deployment needs it.
      - SCP denies prove workload least privilege.
      - Access Analyzer generated policy is complete authorization design.
      - OIDC federation is safe if the provider is official.
      
      ## IAM failure modes
      
      - Broad trust allows external accounts, services, or web identities without audience, subject, source, or external ID constraints.
      - `iam:PassRole`, `sts:AssumeRole`, `iam:CreatePolicyVersion`, or permissions-boundary edits enable escalation.
      - Resource policies grant cross-account/public access bypassing identity-only review.
      - Conditions use wrong operator, key, or case; deny/allow precedence is misunderstood.
      - Session policies, permission boundaries, and SCPs interact differently than expected.
      - Break-glass or CI/CD roles accumulate production admin over time.
      
      ## Minimum safe workflow
      
      1. Identify principal, resource, action path, caller context, account/Org boundary, and business need.
      2. Review effective access path: identity policy, trust policy, resource policy, boundary, SCP, session policy, and service control conditions.
      3. Classify escalation risk: PassRole, policy administration, KMS decrypt, network/security group, data exfiltration, secrets, and logging disablement.
      4. Reduce access by action, resource ARN, condition, tag, principal, source account/ARN, VPC endpoint, and time/session constraints where supported.
      5. Use IAM Access Analyzer, policy validation, and simulation as evidence inputs, not proof of production safety.
      6. Provide a minimal diff and explain what it grants, denies, and cannot prove.
      7. Require approval before live IAM changes, especially denies, trust changes, and production deploy roles.
      
      ## Verification targets
      
      - identity policies, trust policies, resource policies, permission boundaries, SCPs, session policies, and permission sets
      - Access Analyzer external access and unused access findings, policy validation, generated policies, and simulate-principal-policy output
      - condition keys: ExternalId, SourceArn, SourceAccount, PrincipalOrgID, VPC endpoint, MFA, tags, audience/subject for OIDC
      - `iam:PassRole`, `sts:AssumeRole`, policy version/admin actions, KMS decrypt, S3/object access, Secrets Manager, and logging controls
      - CloudTrail evidence of actual usage, last accessed data, and role chaining/session name patterns
      - rollback path for policy denies, boundary changes, SCPs, and trust policy edits
      
      ## When to push back
      
      Push back if the user asks to:
      
      - grant wildcard admin to unblock delivery
      - trust an external/OIDC principal without tight conditions
      - approve PassRole without target role and service constraints
      - rely on SCPs as least-privilege proof
      - remove denies or boundaries without blast-radius analysis
      - apply IAM changes live without simulation and rollback plan
      
    • official-sources.md 2.2 KB
      # Official sources
      
      Use this reference only when you need source grounding for AWS service behavior or the detailed source list.
      
      ## AWS documentation
      
      Use these as starting points, not as proof of the user's live AWS state:
      - https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html
      - https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html
      - https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-custom-policy-checks.html
      - https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started-reduce-permissions.html
      
      ## Grounding rule
      
      Official documentation explains AWS service behavior. It does not prove the user's current account, Region, quota, resource configuration, IAM boundary, pricing, entitlement, or operational state. Prefer read-only AWS MCP or CLI evidence, repository evidence, or sanitized user-provided evidence for current-state claims.
      
      ## Current MCP/documentation refresh (2026-06-02)
      
      Service facts from official docs:
      - IAM best practices call for least-privilege permissions, federation and temporary credentials, MFA, Access Analyzer policy generation/validation, removal of unused permissions, policy conditions, and cross-account/public-access analysis.
      - IAM policy documents grant permissions through identity-based, resource-based, and other policy types; least privilege requires narrowing actions, resources, conditions, and principals.
      
      Sampled live evidence:
      - Read-only regional availability sampling reported IAM as `isAvailableIn` in `us-east-1`, `us-west-2`, `eu-west-1`, and `ap-southeast-1`.
      - Sampled API `AccessAnalyzer+ValidatePolicy` was reported `isAvailableIn` in those regions; `IAM+GetPolicy` was `isAvailableIn` in `us-east-1` and `us-west-2`, and `Not Found` in `eu-west-1` and `ap-southeast-1`, so treat IAM as global/service-specific availability evidence rather than regional resource proof.
      
      Review implications:
      - Do not approve broad IAM from intent alone. Require action/resource/condition scope, Access Analyzer findings, last-accessed or CloudTrail evidence, boundary/SCP context, and break-glass exception handling.
      - Documentation cannot prove the user's actual principals, policies, or account guardrails.
      
    • safety-checklist.md 1.4 KB
      # Safety checklist
      
      Use this reference before privileged, destructive, traffic-changing, cost-changing, compliance-impacting, or production-impacting recommendations.
      
      ## Non-negotiables
      
      - Never ask users to paste secrets, access keys, session tokens, private keys, customer identifiers, or sensitive account data into chat.
      - Use read-only AWS MCP or read-only AWS CLI evidence for live state when available; otherwise use repository evidence, sanitized user evidence, or official documentation and label the evidence level.
      - Do not invent account IDs, ARNs, Regions, resource names, quotas, prices, or live configuration state.
      - Require explicit user approval before privileged, destructive, traffic-changing, cost-changing, or production-impacting actions.
      - Use current official AWS documentation for service behavior when the answer depends on AWS service details.
      - Keep remediation least-privilege, reversible, and scoped to the requested workload or account boundary.
      
      ## Stress checks
      
      - What can expose data?
      - What can escalate privilege?
      - What can break production or block rollback?
      - What can create unbounded cost?
      - What compliance or audit evidence is missing?
      - What rollback or validation path is unproven?
      
      ## Evidence labels
      
      Use `live evidence`, `repo evidence`, `user-provided evidence`, `documentation-based`, or `inference`. Documentation alone never proves the user's live AWS state.
      
    • workflow-and-output.md 2.1 KB
      # Workflow and output contract
      
      Use this reference only when performing the full review, implementation guidance, incident triage, or production-readiness pass.
      
      ## Review domains
      
      Check these areas before giving a verdict:
      - Policy type, principal, resource, action, condition, account boundary, and intended operations
      - Wildcard actions/resources, privilege escalation, confused deputy, pass-role, iam/sts/kms/secrets risks
      - Resource-level support, condition keys, trust constraints, service-linked roles, and data/control-plane split
      - Access Analyzer validation, simulation where useful, rollback, and explicit residual risk
      
      ## Safe workflow
      
      1. **Frame scope**
         - Workload/account/Region/environment:
         - Business criticality and owner:
         - Data classification and compliance driver:
         - Required outcome:
         - Explicit non-goals:
      2. **Collect evidence**
         - Prefer read-only AWS MCP or read-only AWS CLI evidence for current-state claims when available.
         - Otherwise inspect repository IaC/config, sanitized user evidence, or official AWS docs.
         - Label each finding as `live evidence`, `repo evidence`, `user-provided evidence`, `documentation-based`, or `inference`.
      3. **Stress-test risk**
         - What can expose data?
         - What can escalate privilege?
         - What can break production or block rollback?
         - What can create unbounded cost?
         - What evidence is missing?
      4. **Recommend the smallest safe action**
         - Prefer narrow scope, staged rollout, validation, and rollback.
         - If the safest action is to stop and gather evidence, say that plainly.
      
      ## Output contract
      
      Return this structure:
      ```markdown
      # AWS IAM Least Privilege Review: <scope>
      ## Executive verdict
      - Status: READY / READY WITH RISKS / NOT READY / NEEDS EVIDENCE
      - Biggest risk:
      - Evidence level:
      ## Scope and assumptions
      - Confirmed:
      - Unknown:
      - Out of scope:
      ## Findings
      | Severity | Finding | Evidence | Why it matters | Minimum safe action |
      |---|---|---|---|---|
      ## Recommended actions
      1. <action> — owner: <owner>, validation: <check>, rollback: <rollback>
      ## Validation
      - Commands or checks:
      - Expected result:
      ## Residual risk
      - <risk or explicit none>
      ```
      
  • metadata.json 1.2 KB
    {
      "id": "aws-iam-least-privilege-review",
      "name": "AWS IAM Least Privilege Review",
      "type": "skill",
      "provider": "aws",
      "harnesses": [
        "codex",
        "claude-code",
        "cursor",
        "gemini",
        "kiro",
        "other"
      ],
      "summary": "Review AWS IAM policies, trust policies, resource policies, permission boundaries, SCPs, and role design for least-privilege risks with Access Analyzer validation discipline.",
      "source_type": "adapted",
      "official_docs": [
        "https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html",
        "https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html",
        "https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-custom-policy-checks.html",
        "https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started-reduce-permissions.html"
      ],
      "security_notes": "Prefer read-only inspection and minimum permission changes. Do not broaden IAM access, invent ARNs, or approve production trust changes without Access Analyzer validation where available.",
      "last_verified": "2026-06-02",
      "path": "skills/aws/aws-iam-least-privilege-review",
      "author": "github: VincentChuWaiChow",
      "version": "0.1.4"
    }
    
  • SKILL.md 2.8 KB
    ---
    name: aws-iam-least-privilege-review
    description: Review AWS IAM identity policies, trust policies, resource policies, permission boundaries, SCPs, session policies, role design, pass-role, federation, and Access Analyzer findings for least-privilege risk. Prefer KMS/secrets steward for key/secret lifecycle design and S3 perimeter governor for S3 exposure/data-perimeter posture unless the request is primarily policy surgery.
    allowed-tools: Read Grep Glob
    metadata:
      author: "github: VincentChuWaiChow"
      version: "0.1.4"
      updated: "2026-06-02"
      category: security
    ---
    
    # AWS IAM Least Privilege Review
    
    ## Purpose
    
    Act as the AWS IAM reviewer who assumes every wildcard, broad trust principal, and missing condition is a future incident until proven otherwise.
    
    ## When to use
    
    Use this skill for:
    
    - identity policy, trust policy, permission boundary, SCP, session policy, or resource policy review
    - role design, pass-role, external ID, cross-account access, OIDC federation, or service principal questions
    - S3, KMS, Secrets Manager, SQS/SNS, Lambda, or ECR resource policy hardening
    - Access Analyzer findings, generated policy output, or least-privilege remediation
    
    ## Lean operating rules
    
    - Prefer current AWS documentation tools for service behavior. Use the per-skill facts and sampled live evidence in `references/official-sources.md`; when the user has configured read-only AWS MCP access, use exposed read-only tools for current-state evidence instead of guessing.
    - Separate confirmed facts from inference. If state was not queried or shown, say so.
    - Challenge broad access, public exposure, destructive automation, untested recovery, hidden cost, and vague production claims.
    - Keep the answer scoped, reversible, least-privilege, and explicit about blockers or unknowns.
    - Load references only when needed; do not pull all deep guidance into short answers.
    
    ## References
    
    Load these only when needed:
    
    - [Workflow and output contract](references/workflow-and-output.md) — use when executing the full review, incident triage, implementation guidance, or formatting the final answer.
    - [Safety checklist](references/safety-checklist.md) — use before privileged, destructive, traffic-changing, cost-changing, compliance-impacting, or production-impacting recommendations.
    - [Official sources](references/official-sources.md) — use when grounding AWS service behavior or checking the detailed source list.
    - [IAM Policy and Trust Boundary Guide](references/iam-policy-trust-boundaries.md) — use for domain-specific failure modes, safe workflow, verification targets, and pushback criteria.
    
    ## Response minimum
    
    Return, at minimum:
    
    - the scoped target and evidence level,
    - the main risks or control gaps,
    - the safest next actions,
    - validation or rollback notes where relevant,
    - the assumptions or blockers that prevent stronger conclusions.
    

Comments (0)

Sign in to join the conversation.

No comments yet.

Reviews (0)

No reviews yet.

Related