- Home
- Skills
- APIs & Backend
- aws iam accessdenied triage
Works with the AI Agents you already use
aws iam accessdenied triage
Triage AWS AccessDenied and IAM failures with a systematic, evidence-based diagnostic workflow.
Free
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
| Layer | Hypothesis | Confidence | Evidence |
|---|---|---|---|
| Trust Policy | The Role trust relationship does not trust the OIDC provider ARN or the sub claim doesn't match. | High | Error occurs during the AssumeRoleWithWebIdentity call itself. |
| Identity Policy | The principal attempting the call lacks sts:AssumeRoleWithWebIdentity permissions. | Low | Usually irrelevant for OIDC unless using a nested role approach. |
| Thumbprint | The OIDC provider thumbprint in IAM for token.actions.githubusercontent.com is stale. | Medium | Common 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
audclaim 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
- Supply a sanitized AWS error message and optional context like the calling identity or relevant policy snippets.
- The skill parses the literal denial to determine if it is an explicit
Denyor an implicit failure toAllow. - It maps the error to the specific AWS operation type, such as
sts:AssumeRoleor a service-specific action. - 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