Iam
AWS Identity and Access Management for users, roles, policies, and permissions.
Install
npx skills add itsmostafa/aws-agent-skills --skill iam -g -a claude-code -y- Repository
- itsmostafa/aws-agent-skills1.2k
- Category
- DevOps
- Updated
- 9d ago
- License
- MIT
- Context cost
- Mediumabout 1,678 tokens
- Runs scripts
- No, instructions only
What it does
AWS Identity and Access Management for users, roles, policies, and permissions. Use when creating IAM policies, configuring cross-account access, setting up service roles, troubleshooting permission errors, or managing access control.
AWS IAM
AWS Identity and Access Management (IAM) enables secure access control to AWS services and resources. IAM is foundational to AWS security, every AWS API call is authenticated and authorized through IAM.
Table of Contents
Core Concepts
Principals
Entities that can make requests to AWS: IAM users, roles, federated users, and applications.
Policies
JSON documents defining permissions. Types:
- Identity-based: Attached to users, groups, or roles
- Resource-based: Attached to resources (S3 buckets, SQS queues)
- Permission boundaries: Maximum permissions an identity can have
- Service control policies (SCPs): Organization-wide limits
Roles
Identities with permissions that can be assumed by trusted entities. No permanent credentials, uses temporary security tokens.
Trust Relationships
Define which principals can assume a role. Configured via the role's trust policy.
Common Patterns
Create a Service Role for Lambda
AWS CLI:
# Create the trust policy
cat > trust-policy.json << 'EOF'
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": { "Service": "lambda.amazonaws.com" },
"Action": "sts:AssumeRole"
}
]
}
EOF
# Create the role
aws iam create-role \
--role-name MyLambdaRole \
--assume-role-policy-document file://trust-policy.json
# Attach a managed policy
aws iam attach-role-policy \
--role-name MyLambdaRole \
--policy-arn arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole
boto3:
import boto3
import json
iam = boto3.client('iam')

