Works with the AI Agents you already use

    Claude CodeClaude CodeCursorCursorCodex CLICodex CLIMuseMuseDotsDots+22 more

    aws iam accessdenied triage

    1

    Triage AWS AccessDenied and IAM failures with a systematic, evidence-based diagnostic workflow.

    Free

    Security scanned
    aws iam accessdenied triage

    aws iam accessdenied triage

    Example session with this skill installed

    I'm getting this error in my GitHub Action: 'An error occurred (AccessDenied) when calling the AssumeRoleWithWebIdentity operation: Not authorized to perform sts:AssumeRoleWithWebIdentity'

    • Read your context and instructions
    • Compiled the aws iam accessdenied

    The error indicates a failure at the initial authentication step where the OIDC provider (GitHub) attempts to exchange a token for temporary AWS credentials.

    Triage Report: AssumeRoleWithWebIdentity Failure

    LayerHypothesisConfidenceEvidence
    Trust PolicyThe Role trust relationship does not trust the OIDC provider ARN or the sub claim doesn't match.HighError occurs during the AssumeRoleWithWebIdentity call itself.
    Identity PolicyThe principal attempting the call lacks sts:AssumeRoleWithWebIdentity permissions.LowUsually irrelevant for OIDC unless using a nested role approach.
    ThumbprintThe OIDC provider thumbprint in IAM for token.actions.githubusercontent.com is stale.MediumCommon cause for sudden failures in existing OIDC setups.

    Missing evidence

    • The trust policy JSON for the target IAM role.
    • The sub (subject) claim being sent by the GitHub Action (e.g., repo:org/repo:ref:refs/heads/main).
    • Confirmation if other repos can assume this same role successfully.

    Safe next checks

    Check OIDC Trust: Compare the sub condition in the IAM Role Trust Policy against the repository path and branch name in your GitHub workflow.
    2. Verify Thumbprint: In the IAM Console, check the status of the Identity Provider thumbprint for GitHub.
    3.

    CloudTrail Audit: Search CloudTrail for AssumeRoleWithWebIdentity events to see the exact AccessDenied context.

    Permission change

    No policy edit recommended yet. Verify the Trust Policy Condition block matches the GitHub OIDC claims exactly.

    Next steps

    • Provide the redacted Trust Policy of the role you are trying to assume.
    • Verify that the aud claim in your workflow matches the audience configured in the IAM OIDC provider.

    Connects securely to your tools. The creator never sees your data.

    About this skill

    AWS IAM failures are notoriously opaque, often hiding the specific policy layer responsible for a block. This skill provides a structured diagnostic workflow to triage AccessDenied, UnauthorizedOperation, and AssumeRole failures without requiring live account access. It helps you move from a vague error string to a prioritized list of likely causes across identity policies, SCPs, resource policies, and boundaries.

    What it does

    • Analyze error strings to extract the principal, action, resource, and specific denial reason.
    • Identify policy layers by ranking candidate causes across IAM, SCP, VPC endpoints, and resource-based policies.
    • Diagnose AssumeRole failures by evaluating trust relationships, OIDC claims, and session conditions.
    • Compare environments to find why a request succeeds locally but fails in CI/CD or production workloads.
    • Generate least-privilege candidates for missing permissions based on the specific evidence provided.

    How it works

    1. Supply a sanitized AWS error message and optional context like the calling identity or relevant policy snippets.
    2. The skill parses the literal denial to determine if it is an explicit Deny or an implicit failure to Allow.
    3. It maps the error to the specific AWS operation type, such as sts:AssumeRole or a service-specific action.
    4. It delivers a ranked report with evidence-backed hypotheses and safe, read-only verification steps.

    Frameworks & tools

    Works with any AWS interface producing authorization errors, including AWS CLI, SDKs, Terraform, CloudFormation, and GitHub Actions.

    Why this beats prompting it yourself

    Generic prompts often guess at a single IAM policy, ignoring complex layers like SCPs or Permissions Boundaries. This skill enforces a systematic triage that accounts for the AWS policy evaluation logic and prevents risky suggestions like AdministratorAccess.

    Use cases

    • Debugging GitHub Actions runners that fail to assume a role via OIDC.
    • Identifying which SCP in an AWS Organization is blocking a specific service action.
    • Troubleshooting Cross-Account access failures for S3 buckets or KMS keys.

    Known limitations

    This tool is offline and read-only. It cannot connect to your AWS account, query APIs, or verify if a policy change actually works. Requires users to redact sensitive identifiers manually.

    How to use

    Skills on Agensi run inside your AI agent. Copy the prompt, paste it into your agent, and it connects to Agensi and installs this skill for you. If a payment is needed, your agent shows it to you first.

    Reviews

    No reviews yet

    Be one of the first to try it. Every listed skill passes our trust checks below.

    Security scanned

    Passed our 8-point scan before listing

    Fresh listing

    Recently published to Agensi

    Free forever

    No account required to browse

    Trust & safety

    Security scanned

    Verified clean 16 days ago

    • Free to download with an account

    Listed16 days ago

    What's inside

    Frequently Asked Questions