К основному содержанию
скилл Claude Code CX Codex Cursor GitHub Copilot

aws-iam — скилл для Claude Code: что делает и как установить

Проверенные поправки к типичным ошибкам агентов в AWS IAM плюс рабочие процессы для ролей и baseline-политик.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add aws/agent-toolkit-for-aws --skill aws-iam -a claude-code
Открыть на GitHub

Что делает aws-iam

Скилл подключается в Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI и OpenCode. Внутри SKILL.md с разбором краевых случаев IAM и два справочника: references/aws-iam-role-management.md про сервисные роли, execution-роли и trust policy, references/aws-iam-policy-generation.md про генерацию политик. Справочники агент читает только когда разговору нужна детализация, поэтому в контекст не тянется всё сразу.

Для операций с AWS скилл советует MCP-сервер, хотя AWS CLI или SDK тоже подойдут. А вот на генерации политик есть жёсткое условие: если вы дали исходники приложения на любом языке или JSON из terraform show -json, агент обязан идти через iam-policy-autopilot, а не собирать политику вручную. Без этого инструмента сценарий не заработает — это повод проверить окружение до того, как просить политику.

Краевые случаи описаны с примерами. iam:PassRole с Resource: "*" рядом с RunInstances, CreateFunction или RegisterTaskDefinition даёт эскалацию до любой передаваемой роли в аккаунте — такой шаблон лучше ловить на ревью. ForAllValues по пустому или отсутствующему ключу возвращает true, поэтому рядом нужен Null по тому же контекстному ключу. Cognito user-pool политики и RBAC уровня приложения скилл не разбирает.

Какие задачи решает

  • собрать baseline-политику по исходникам приложения или плану из terraform show -json
  • проверить trust policy сервисной роли и добавить условия по aws:SourceArn
  • поймать iam:PassRole с Resource: "*" до того, как он станет эскалацией
  • понять, почему ForAllValues пропускает запрос без нужного ключа
  • разобраться с лимитами сессий STS при role chaining

Примеры запросов агенту

  • Собери baseline-политику для этой Lambda по `src/handler.py` — какие действия ей реально нужны?
  • Проверь trust policy нашей роли Glue, нужны условия `aws:SourceAccount` и `aws:SourceArn`.
  • У нас `ForAllValues:StringEquals` по `aws:TagKeys` разрешает запрос без тегов. Почему?

Как установить aws-iam

1Через Skills CLI (Vercel)

npx skills add aws/agent-toolkit-for-aws --skill aws-iam -a claude-code

2Вручную: положить файлы

~/.claude/skills/aws-iam/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/aws-iam/

Из того же набора8

Весь набор →
aws-serverless aws Скилл-маршрутизатор для serverless на AWS: выбирает форму вычислений под каждый компонент приложения и передаёт работу профильным скиллам. Claude Code CX Codex Cursor +1 10 100установок aws-cdk aws Скилл для Claude Code, который учит агента писать и деплоить инфраструктуру AWS на CDK на TypeScript и Python — от конструкций до импорта ресурсов и разбора ошибок CloudFormation. Claude Code CX Codex Cursor +1 9 400установок aws-containers aws Разворачивает контейнеры на AWS: EKS, ECS, Fargate, ECR и Elastic Beanstalk. Пригодится при деплое, отладке и оптимизации контейнерных сервисов. Claude Code CX Codex Cursor +1 9 300установок aws-billing-and-cost-management aws Анализирует расходы в AWS, ищет резервы экономии и настраивает бюджеты. Помогает проверить аномалии цен, оценить Savings Plans и снизить затраты на инфраструктуру. Claude Code CX Codex Cursor +1 8 900установок aws-cloudformation aws Ведёт шаблоны CloudFormation от написания до разбора упавших стеков: валидация, проверки cfn-guard и поиск причины сбоя по событиям и CloudTrail. Claude Code CX Codex Cursor +1 8 800установок connecting-to-data-source aws Создаёт подключение AWS Glue к внешней базе — Oracle, PostgreSQL, Redshift, Snowflake или BigQuery — и проверяет его тестом перед передачей в работу. Claude Code CX Codex Cursor +1 6 800установок querying-data-lake aws Скилл запускает SQL в Amazon Athena: выбирает рабочую группу, останавливает разрушительные запросы на подтверждение и показывает цену прогона. Claude Code CX Codex Cursor +1 6 600установок

Похожие

mantis-researcher официальный google Скилл проводит статический анализ и глубокий аудит файлов по плану из workspace/plan.json. Он ищет граничные проверки, нарушения интерфейсов и отсутствие валидации. Claude Code CX Codex Cursor +1 1 500установок browser-extract ruvnet Скилл достаёт текст, таблицы и значения атрибутов с отрисованной страницы и отдаёт их структурой, но только после проверки на персональные данные и промпт-инъекции. Claude Code CX Codex Cursor +1 697установок browser-auth-flow ruvnet Прогоняет вход на вашем сайте один раз и ищет утечки в редиректах, отсутствие CSRF-токена, слабые сессионные cookie и ошибки OAuth. Итог — findings.md с вердиктом. Claude Code CX Codex Cursor +1 689установок reverse-engineer sickn33 Скилл задаёт методику реверс-инжиниринга бинарных файлов: статический и динамический анализ, поиск паттернов и скрипты для декомпиляторов. Claude Code CX Codex Cursor +1 891установок okx-agentic-wallet okx Скилл подключает агента к кошелькам OKX Onchain OS: балансы, переводы, свопы, бриджи, лимитные ордера и вызовы контрактов через CLI onchainos. Claude Code CX Codex Cursor +1 17 400установок varlock dmno-dev Скилл обучает агента безопасно работать с секретами через Varlock, маскировать ключи в терминале и описывать переменные в файле .env.schema. Claude Code CX Codex Cursor +1 747установок git-guardrails-claude-code Matt Pocock Скилл ставит хук Claude Code, который останавливает опасные Git-команды до их запуска. Нужен, если агент не должен делать push или удалять изменения. Claude Code 499 069установок ponytail-review DietrichGebert Скилл проверяет изменения глубже обычного diff: читает связанный код, ищет ошибки, риски, проблемы нагрузки и недостающие тесты. Пригодится для ревью PR и коммитов. Claude Code CX Codex Cursor +1 56 300установок

Вопросы о aws-iam

Как установить aws-iam в Claude Code?

Выполните npx skills add aws/agent-toolkit-for-aws --skill aws-iam -a claude-code. Файл скилла окажется по пути ~/.claude/skills/aws-iam/SKILL.md.

Что делает aws-iam?

Собирает поправки к тому, что агенты обычно путают в IAM: вычисление политик, trust policy, лимиты STS, поведение Organizations, SAML и MFA. Плюс ведёт по шагам при создании ролей и генерации политик.

Что нужно, чтобы сгенерировать политику по исходникам или Terraform-плану?

Скилл требует iam-policy-autopilot — ручная сборка политики в этом сценарии не предусмотрена. Для остальных операций с AWS подойдёт MCP-сервер, AWS CLI или SDK.

Исходный текст

SKILL.md · Apache-2.0
---
name: aws-iam
description: >-
  Provides verified corrections for IAM behaviors that AI agents frequently get wrong
  — policy evaluation edge cases, trust policy gotchas, STS session limits, Organizations
  quirks, and SAML/MFA specifics. Also provides structured workflows for IAM role
  management and baseline policy generation from application source code or a Terraform
  plan JSON. Covers condition operator safety (ForAnyValue/ForAllValues with Null
  checks), bucket policy deny patterns (VPC endpoint restrictions, org paths), confused
  deputy protection, and service role creation for AWS services (Glue, CloudTrail,
  Lambda, ECS, etc.) with aws:SourceAccount/aws:SourceArn trust conditions. Applies
  when creating IAM roles, writing IAM or bucket policies, generating policies from
  application source code or a Terraform plan JSON, working with STS, Organizations,
  or condition operators, or any task needing a service or execution role. Does not
  cover non-IAM authorization like Cognito user-pool policies or app-level RBAC.
metadata:
  version: "3"
---

# AWS IAM — Common Pitfalls

## About This Skill

This skill contains verified corrections for things that AI agents frequently get wrong about IAM. It is not a comprehensive IAM guide — for full IAM guidance, search AWS documentation. When answering IAM questions, verify specific claims (limits, quotas, exact API names, edge-case behaviors) against official AWS documentation rather than relying on pre-training. Prefer fetching known documentation URLs over broad searches. Trust official documentation over memory when they conflict.

## Common Workflows

Use the best available tool for AWS operations — the AWS MCP server is recommended but not required; AWS CLI or SDK may be used as alternatives. Read reference files only when the conversation requires deeper detail.

- Read [references/aws-iam-role-management.md](references/aws-iam-role-management.md) if the user needs to create, scope, or maintain IAM roles when provisioning or updating AWS resources. Covers service roles, execution roles, trust policies, confused deputy protection, and permission hygiene.

- Read [references/aws-iam-policy-generation.md](references/aws-iam-policy-generation.md) if the user needs to generate IAM policies, determine required IAM actions for API calls, or understand action-to-operation mappings. **CRITICAL: If the user provides application source code (in any language) or a Terraform plan JSON file (`terraform show -json` output), you MUST read this reference — it mandates using iam-policy-autopilot instead of manual policy construction.** Uses the programmatic service authorization reference for accurate mappings.

## Verified Edge Cases

**CloudTrail:**

- AcceptHandshake/DeclineHandshake logged in ACTING account ONLY, not management account. Organization trail required for centralization.
- ConsoleLogin region varies by endpoint/cookies, NOT always us-east-1. `?region=` forces specific region.

**STS:**

- GetSessionToken restrictions: (1) No IAM APIs unless MFA included (2) No STS except AssumeRole and GetCallerIdentity.
- Cross-account AssumeRole to opt-in region: TARGET account must enable region, not calling account.
- Role chaining: max 1-hour session.

**Organizations:**

- Suspended/closed accounts CANNOT be removed until permanently closed (~90 days). Remove FIRST, then close.
- Policy management delegation: use PutResourcePolicy, NOT register-delegated-administrator.
- AI opt-out policies: management account required by default.
- Organizations policy types for ListPolicies filter: fetch the current list via `aws organizations list-available-policy-types` or [the Organizations API reference](https://docs.aws.amazon.com/organizations/latest/APIReference/API_ListPolicies.html).

**SDK Specifics:**

- Organizations: `DuplicatePolicyAttachmentException` (not PolicyAlreadyAttachedException).
- Boto3 IAM AccessKey: methods are `activate()`, `deactivate()`, `delete()` — NO `update()`.
- Instance profiles: waiter + `time.sleep(10)` pattern.
- Managed policy max versions: 5.

**SAML:**

- Encrypted assertions URL: `https://region-code.signin.aws.amazon.com/saml/acs/IdP-ID`.
- Private key from IdP uploaded to IAM in .pem format.

**Policy Evaluation:**

- ForAllValues with empty/missing key: evaluates to true (vacuous truth). To avoid that, use a `Null` condition in addition to the `ForAllValues` on **the same context key** to require that key to be present and non-null. For example, when evaluating the `aws:TagKeys` context key:

  ```json
  {
    "Version": "2012-10-17",
    "Statement": {
      "Effect": "Allow",
      "Action": "ec2:RunInstances",
      "Resource": "*",
      "Condition": {
        "ForAllValues:StringEquals": {
          "aws:TagKeys": ["Alpha", "Beta"]
        },
        "Null": {
          "aws:TagKeys": "false"
        }
      }
    }
  }
  ```

- `aws:TagKeys` values are case-sensitive, but the tag key in `aws:PrincipalTag/<key>`, `aws:ResourceTag/<key>`, and `aws:RequestTag/<key>` is not. The Allow allowlist above is unaffected (a re-cased key is simply not in the list), but a Deny that protects a tag key with `ForAnyValue:StringEquals` on `aws:TagKeys` is bypassed by a re-cased key (`PROTECTED-TAG`) — use `ForAnyValue:StringEqualsIgnoreCase`. See [references/common-pitfalls.md](references/common-pitfalls.md).
- Resource-based policies granting to IAM user ARN bypass permissions boundaries in same account.
- 8 privilege escalation actions via direct IAM policy manipulation: PutGroupPolicy, PutRolePolicy, PutUserPolicy, CreatePolicy, CreatePolicyVersion, AttachGroupPolicy, AttachRolePolicy, AttachUserPolicy.
- `iam:PassRole` with `Resource: "*"` + create/update on a compute service (EC2 `RunInstances`, Lambda `CreateFunction`/`UpdateFunctionConfiguration`, ECS `RegisterTaskDefinition`, Glue, SageMaker, CloudFormation, etc.) = privilege escalation to any passable role in the account, including Administrator. Scope `Resource` to specific role ARNs or an IAM path; optionally constrain with `iam:PassedToService` / `iam:AssociatedResourceArn`. See [IAM User Guide — Grant a user permissions to pass a role](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html).

**MFA:**

- Unassigned virtual MFA devices auto-deleted when adding new ones.
- MFA resync-only policy NotAction needs exactly: iam:ListMFADevices, iam:ListVirtualMFADevices, iam:ResyncMFADevice.

**SigV4:**

- IncompleteSignatureException includes SHA-256 hash of Authorization header for transit modification diagnosis.

**Service-Specific Roles:**

- Redshift Serverless trust policy: include BOTH `redshift-serverless.amazonaws.com` AND `redshift.amazonaws.com` as service principals (per AWS docs; omitting serverless causes `Not authorized to get credentials of role` on COPY).
- IAM OIDC providers: thumbprints are not required for most providers (AWS verifies via trusted CAs).

**Policy Summary Display:**

- Single statement with multi-service wildcard actions (e.g. `codebuild:*`, `codecommit:*`) + service-specific resource ARNs: each resource appears ONLY under its matching service's summary (CodeBuild ARN under CodeBuild, etc.). A resource whose service prefix matches NO action in the statement is the only case where it appears in all action summaries ("mismatched resource").

© aws · Apache-2.0 · aws/agent-toolkit-for-aws

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой